005afba0 +0000  push ebp
005afba1 +0001  mov ebp, esp
005afba3 +0003  mov eax, 0xad20
005afba8 +0008  call 0x4094a3
005afbad +000d  push edi
005afbae +000e  lea edi, [ebp - 0xad20]
005afbb4 +0014  mov ecx, 0x2b48
005afbb9 +0019  mov eax, 0xcccccccc
005afbbe +001e  rep stosd dword ptr es:[edi], eax
005afbc0 +0020  mov eax, dword ptr [0xa47294]
005afbc5 +0025  xor eax, ebp
005afbc7 +0027  mov dword ptr [ebp - 4], eax
005afbca +002a  call 0x40736a
005afbcf +002f  mov dword ptr [ebp - 8], eax
005afbd2 +0032  mov eax, dword ptr [ebp + 8]
005afbd5 +0035  push eax
005afbd6 +0036  mov ecx, dword ptr [0xc59150]
005afbdc +003c  push ecx
005afbdd +003d  call 0x409a1b
005afbe2 +0042  add esp, 8
005afbe5 +0045  mov dword ptr [ebp - 0xc], eax
005afbe8 +0048  movss xmm0, dword ptr [0x93dd50]
005afbf0 +0050  movss dword ptr [ebp - 0x14], xmm0
005afbf5 +0055  movss xmm0, dword ptr [0x93dd5c]
005afbfd +005d  movss dword ptr [ebp - 0x18], xmm0
005afc02 +0062  mov edx, dword ptr [ebp - 0xc]
005afc05 +0065  cmp dword ptr [edx + 0x30], -1
005afc09 +0069  jne 0x5afc15
005afc0b +006b  jmp 0x5b01a4
005afc10 +0070  jmp 0x5b01a4
005afc15 +0075  push 3
005afc17 +0077  mov eax, dword ptr [ebp - 0xc]
005afc1a +007a  mov ecx, dword ptr [eax + 0x30]
005afc1d +007d  push ecx
005afc1e +007e  call 0x404ae3
005afc23 +0083  add esp, 8
005afc26 +0086  mov dword ptr [ebp - 0x10], eax
005afc29 +0089  mov edx, dword ptr [ebp - 0xc]
005afc2c +008c  cmp dword ptr [edx + 0x6c], -1
005afc30 +0090  je 0x5afc87
005afc32 +0092  push 0x94
005afc37 +0097  mov eax, dword ptr [ebp - 0xc]
005afc3a +009a  mov ecx, dword ptr [eax + 0x6c]
005afc3d +009d  push ecx
005afc3e +009e  mov edx, dword ptr [ebp - 8]
005afc41 +00a1  add edx, 0x378
005afc47 +00a7  push edx
005afc48 +00a8  call 0x405e16
005afc4d +00ad  add esp, 0xc
005afc50 +00b0  mov dword ptr [ebp - 0x20], eax
005afc53 +00b3  mov eax, dword ptr [ebp - 0x10]
005afc56 +00b6  add eax, 0x18
005afc59 +00b9  push eax
005afc5a +00ba  mov ecx, dword ptr [ebp - 0x20]
005afc5d +00bd  push ecx
005afc5e +00be  call 0x401942
005afc63 +00c3  add esp, 8
005afc66 +00c6  fstp dword ptr [ebp - 0x24]
005afc69 +00c9  movss xmm0, dword ptr [ebp - 0x18]
005afc6e +00ce  mulss xmm0, dword ptr [ebp - 0x18]
005afc73 +00d3  movss xmm1, dword ptr [ebp - 0x24]
005afc78 +00d8  comiss xmm1, xmm0
005afc7b +00db  jbe 0x5afc87
005afc7d +00dd  mov edx, dword ptr [ebp - 0xc]
005afc80 +00e0  mov dword ptr [edx + 0x6c], 0xffffffff
005afc87 +00e7  push -1
005afc89 +00e9  push 6
005afc8b +00eb  push ecx
005afc8c +00ec  xorps xmm0, xmm0
005afc8f +00ef  movss dword ptr [esp], xmm0
005afc94 +00f4  push ecx
005afc95 +00f5  movss xmm0, dword ptr [ebp - 0x14]
005afc9a +00fa  movss dword ptr [esp], xmm0
005afc9f +00ff  mov eax, dword ptr [ebp - 0x10]
005afca2 +0102  add eax, 0x18
005afca5 +0105  push eax
005afca6 +0106  call 0x406be5
005afcab +010b  add esp, 0x14
005afcae +010e  mov dword ptr [ebp - 0x1c], eax
005afcb1 +0111  cmp dword ptr [ebp - 0x1c], -1
005afcb5 +0115  je 0x5b01a4
005afcbb +011b  mov ecx, dword ptr [ebp - 0xc]
005afcbe +011e  mov edx, dword ptr [ebp - 0x1c]
005afcc1 +0121  cmp edx, dword ptr [ecx + 0x6c]
005afcc4 +0124  je 0x5b01a4
005afcca +012a  push 0x94
005afccf +012f  mov eax, dword ptr [ebp - 0x1c]
005afcd2 +0132  push eax
005afcd3 +0133  mov ecx, dword ptr [ebp - 8]
005afcd6 +0136  add ecx, 0x378
005afcdc +013c  push ecx
005afcdd +013d  call 0x405e16
005afce2 +0142  add esp, 0xc
005afce5 +0145  mov dword ptr [ebp - 0x28], eax
005afce8 +0148  mov edx, dword ptr [ebp - 0x28]
005afceb +014b  movzx eax, word ptr [edx + 0x12]
005afcef +014f  push eax
005afcf0 +0150  push 7
005afcf2 +0152  push ecx
005afcf3 +0153  xorps xmm0, xmm0
005afcf6 +0156  movss dword ptr [esp], xmm0
005afcfb +015b  push ecx
005afcfc +015c  xorps xmm0, xmm0
005afcff +015f  movss dword ptr [esp], xmm0
005afd04 +0164  push 0
005afd06 +0166  call 0x406be5
005afd0b +016b  add esp, 0x14
005afd0e +016e  mov dword ptr [ebp - 0x2c], eax
005afd11 +0171  cmp dword ptr [ebp - 0x2c], -1
005afd15 +0175  je 0x5b018d
005afd1b +017b  push 0x94
005afd20 +0180  mov ecx, dword ptr [ebp - 0x2c]
005afd23 +0183  push ecx
005afd24 +0184  mov edx, dword ptr [ebp - 8]
005afd27 +0187  add edx, 0x378
005afd2d +018d  push edx
005afd2e +018e  call 0x405e16
005afd33 +0193  add esp, 0xc
005afd36 +0196  mov dword ptr [ebp - 0x30], eax
005afd39 +0199  push 3
005afd3b +019b  mov eax, dword ptr [ebp - 0xc]
005afd3e +019e  mov ecx, dword ptr [eax + 0x30]
005afd41 +01a1  push ecx
005afd42 +01a2  call 0x404ae3
005afd47 +01a7  add esp, 8
005afd4a +01aa  mov dword ptr [ebp - 0x34], eax
005afd4d +01ad  mov edx, dword ptr [ebp - 0x34]
005afd50 +01b0  add edx, 0x30
005afd53 +01b3  mov eax, dword ptr [edx]
005afd55 +01b5  mov dword ptr [ebp - 0x44], eax
005afd58 +01b8  mov ecx, dword ptr [edx + 4]
005afd5b +01bb  mov dword ptr [ebp - 0x40], ecx
005afd5e +01be  mov edx, dword ptr [edx + 8]
005afd61 +01c1  mov dword ptr [ebp - 0x3c], edx
005afd64 +01c4  mov eax, dword ptr [ebp + 8]
005afd67 +01c7  push eax
005afd68 +01c8  mov ecx, dword ptr [0xc59150]
005afd6e +01ce  push ecx
005afd6f +01cf  call 0x409a1b
005afd74 +01d4  add esp, 8
005afd77 +01d7  mov dword ptr [ebp - 0x50], eax
005afd7a +01da  lea edx, [ebp - 0x64]
005afd7d +01dd  push edx
005afd7e +01de  lea eax, [ebp - 0x58]
005afd81 +01e1  push eax
005afd82 +01e2  lea ecx, [ebp - 0x78]
005afd85 +01e5  push ecx
005afd86 +01e6  mov edx, dword ptr [ebp - 0x50]
005afd89 +01e9  mov eax, dword ptr [edx + 0x30]
005afd8c +01ec  push eax
005afd8d +01ed  call 0x40a3e9
005afd92 +01f2  add esp, 0x10
005afd95 +01f5  mov ecx, dword ptr [ebp - 0x30]
005afd98 +01f8  mov edx, dword ptr [ecx]
005afd9a +01fa  mov dword ptr [ebp - 0x78], edx
005afd9d +01fd  mov eax, dword ptr [ecx + 4]
005afda0 +0200  mov dword ptr [ebp - 0x74], eax
005afda3 +0203  mov ecx, dword ptr [ecx + 8]
005afda6 +0206  mov dword ptr [ebp - 0x70], ecx
005afda9 +0209  lea edx, [ebp - 0xac88]
005afdaf +020f  push edx
005afdb0 +0210  push -1
005afdb2 +0212  push ecx
005afdb3 +0213  movss xmm0, dword ptr [ebp - 0x64]
005afdb8 +0218  movss dword ptr [esp], xmm0
005afdbd +021d  push ecx
005afdbe +021e  movss xmm0, dword ptr [ebp - 0x58]
005afdc3 +0223  movss dword ptr [esp], xmm0
005afdc8 +0228  movss xmm0, dword ptr [0x93dd64]
005afdd0 +0230  mulss xmm0, dword ptr [ebp - 0x64]
005afdd5 +0235  addss xmm0, dword ptr [ebp - 0x58]
005afdda +023a  push ecx
005afddb +023b  movss dword ptr [esp], xmm0
005afde0 +0240  lea eax, [ebp - 0x78]
005afde3 +0243  push eax
005afde4 +0244  push 0x200380
005afde9 +0249  call 0x405858
005afdee +024e  add esp, 0x1c
005afdf1 +0251  movzx ecx, al
005afdf4 +0254  test ecx, ecx
005afdf6 +0256  je 0x5aff5d
005afdfc +025c  lea edx, [ebp - 0xacbc]
005afe02 +0262  push edx
005afe03 +0263  lea eax, [ebp - 0x78]
005afe06 +0266  push eax
005afe07 +0267  lea ecx, [ebp - 0xac88]
005afe0d +026d  push ecx
005afe0e +026e  call 0x401ccb
005afe13 +0273  add esp, 0xc
005afe16 +0276  movzx edx, al
005afe19 +0279  test edx, edx
005afe1b +027b  je 0x5aff5d
005afe21 +0281  cmp dword ptr [ebp - 0xac9c], -1
005afe28 +0288  je 0x5afecb
005afe2e +028e  push -1
005afe30 +0290  mov eax, dword ptr [ebp - 0xac9c]
005afe36 +0296  push eax
005afe37 +0297  call 0x404ae3
005afe3c +029c  add esp, 8
005afe3f +029f  mov dword ptr [ebp - 0xacc4], eax
005afe45 +02a5  mov ecx, dword ptr [ebp - 0xacc4]
005afe4b +02ab  movsx ecx, word ptr [ecx + 0x70]
005afe4f +02af  mov edx, 1
005afe54 +02b4  shl edx, cl
005afe56 +02b6  and edx, 3
005afe59 +02b9  je 0x5afecb
005afe5b +02bb  push 3
005afe5d +02bd  mov eax, dword ptr [ebp - 0xac9c]
005afe63 +02c3  push eax
005afe64 +02c4  call 0x404ae3
005afe69 +02c9  add esp, 8
005afe6c +02cc  mov dword ptr [ebp - 0xacc8], eax
005afe72 +02d2  mov ecx, dword ptr [ebp - 0xacc8]
005afe78 +02d8  cmp dword ptr [ecx + 0x1dc], -1
005afe7f +02df  je 0x5afecb
005afe81 +02e1  mov edx, dword ptr [ebp - 0xacc8]
005afe87 +02e7  mov eax, dword ptr [edx + 0x1dc]
005afe8d +02ed  push eax
005afe8e +02ee  mov ecx, dword ptr [0xc59150]
005afe94 +02f4  push ecx
005afe95 +02f5  call 0x409a1b
005afe9a +02fa  add esp, 8
005afe9d +02fd  mov dword ptr [ebp - 0xaccc], eax
005afea3 +0303  mov edx, dword ptr [ebp - 0xaccc]
005afea9 +0309  mov byte ptr [edx + 0xd0], 1
005afeb0 +0310  mov eax, dword ptr [ebp - 0xaccc]
005afeb6 +0316  mov ecx, dword ptr [eax + 0xc8]
005afebc +031c  add ecx, 1
005afebf +031f  mov edx, dword ptr [ebp - 0xaccc]
005afec5 +0325  mov dword ptr [edx + 0xc8], ecx
005afecb +032b  cmp dword ptr [0xc57e3c], 0
005afed2 +0332  jle 0x5afee3
005afed4 +0334  mov eax, dword ptr [0xc57e3c]
005afed9 +0339  sub eax, 1
005afedc +033c  mov dword ptr [0xc57e3c], eax
005afee1 +0341  jmp 0x5aff53
005afee3 +0343  mov dword ptr [0xc57e3c], 0x78
005afeed +034d  push 0x96097c
005afef2 +0352  push 0x75737472
005afef7 +0357  call 0x40769e
005afefc +035c  add esp, 8
005afeff +035f  mov dword ptr [ebp - 0xacd4], eax
005aff05 +0365  cmp dword ptr [ebp - 0xacd4], -1
005aff0c +036c  je 0x5aff27
005aff0e +036e  push 0x65
005aff10 +0370  mov ecx, dword ptr [ebp - 0xacd4]
005aff16 +0376  push ecx
005aff17 +0377  call 0x403198
005aff1c +037c  add esp, 8
005aff1f +037f  mov dword ptr [ebp - 0xacd0], eax
005aff25 +0385  jmp 0x5aff31
005aff27 +0387  mov dword ptr [ebp - 0xacd0], 0x96099c
005aff31 +0391  mov edx, dword ptr [ebp - 0xacd0]
005aff37 +0397  push edx
005aff38 +0398  mov eax, dword ptr [ebp - 0x50]
005aff3b +039b  mov ecx, dword ptr [eax + 0x30]
005aff3e +039e  push ecx
005aff3f +039f  call 0x403814
005aff44 +03a4  add esp, 4
005aff47 +03a7  movzx edx, ax
005aff4a +03aa  push edx
005aff4b +03ab  call 0x405510
005aff50 +03b0  add esp, 8
005aff53 +03b3  jmp 0x5b01a4
005aff58 +03b8  jmp 0x5b01a4
005aff5d +03bd  mov eax, dword ptr [ebp - 0xc]
005aff60 +03c0  movsx ecx, word ptr [eax + 2]
005aff64 +03c4  cmp ecx, -1
005aff67 +03c7  je 0x5aff75
005aff69 +03c9  push 0
005aff6b +03cb  push 0x1b
005aff6d +03cd  call 0x403846
005aff72 +03d2  add esp, 8
005aff75 +03d5  mov edx, dword ptr [ebp - 0xc]
005aff78 +03d8  movsx eax, word ptr [edx + 2]
005aff7c +03dc  cmp eax, -1
005aff7f +03df  je 0x5b0054
005aff85 +03e5  xor ecx, ecx
005aff87 +03e7  mov word ptr [ebp - 0xad10], cx
005aff8e +03ee  push 0x36
005aff90 +03f0  push 0
005aff92 +03f2  lea edx, [ebp - 0xad0e]
005aff98 +03f8  push edx
005aff99 +03f9  call 0x931668
005aff9e +03fe  add esp, 0xc
005affa1 +0401  mov ax, word ptr [0xc57e40]
005affa7 +0407  mov word ptr [ebp - 0xacfc], ax
005affae +040e  mov cx, word ptr [0xa1dfec]
005affb5 +0415  mov word ptr [ebp - 0xad10], cx
005affbc +041c  mov edx, 2
005affc1 +0421  mov word ptr [ebp - 0xad0e], dx
005affc8 +0428  movss xmm0, dword ptr [0xa1e004]
005affd0 +0430  movss dword ptr [ebp - 0xad00], xmm0
005affd8 +0438  movss xmm0, dword ptr [0xa1dff0]
005affe0 +0440  movss dword ptr [ebp - 0xacf0], xmm0
005affe8 +0448  xorps xmm0, xmm0
005affeb +044b  movss dword ptr [ebp - 0xacec], xmm0
005afff3 +0453  movss xmm0, dword ptr [0xa1dff4]
005afffb +045b  movss dword ptr [ebp - 0xace8], xmm0
005b0003 +0463  movss xmm0, dword ptr [0xa1dff8]
005b000b +046b  movss dword ptr [ebp - 0xace4], xmm0
005b0013 +0473  movss xmm0, dword ptr [0xa1dffc]
005b001b +047b  movss dword ptr [ebp - 0xace0], xmm0
005b0023 +0483  movss xmm0, dword ptr [0xa1e000]
005b002b +048b  movss dword ptr [ebp - 0xacdc], xmm0
005b0033 +0493  push ecx
005b0034 +0494  movss xmm0, dword ptr [0x93dd5c]
