Function at 0x5c5e10
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7a9662
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5a4
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov edi, dword [esi + 0x516d1c]
cmp edi, ebx
jl 0x5cb4f6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
cmp eax, ebx
mov dword [esp + 0x70], eax
jl 0x5cb4f6
mov eax, 0x7cab08
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5b8], ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x16c], ebx
xor edx, edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x158], ebx
xor ecx, ecx
cmp dword [esi + edi*4 + 0xdc], ebx
mov byte [esp + 0x5b8], 9
mov dword [esp + 0x30], ecx
jle 0x5c6376
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl ecx, 4
add ecx, edx
mov edx, dword [ecx + 0x10]
and edx, 0xf
cmp dl, 1
jne 0x5c6054
mov edx, dword [esp + 0x70]
cmp dword [ecx + 0x18], edx
jne 0x5c6054
cmp dword [ecx + 0x14], ebx
jne 0x5c6054
mov dl, byte [ecx + 9]
test dl, dl
jne 0x5c6054
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.005fc280
mov edx, dword [esp + 0x30]
mov ecx, esi
push edx
push edi
call fcn.0055e9e0
cmp eax, ebx
mov dword [esp + 0x40], eax
jle 0x5c6207
mov ecx, dword [esp + 0x94]
push eax
push ecx
lea ecx, [esp + 0x94]
call fcn.005fc280
mov edx, dword [esp + 0x40]
mov eax, 0x7cab08
mov dword [esp + 0x30], edx
mov ecx, edx
jmp 0x5c6058
mov ecx, dword [esp + 0x30]
mov edx, dword [esi + edi*4 + 0xdc]
inc ecx
cmp ecx, edx
mov dword [esp + 0x30], ecx
jl 0x5c5fd0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x94]
cmp ecx, edx
je 0x5c6367
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x14
cmp ecx, ebx
je 0x5c60a7
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x15
cmp ecx, ebx
je 0x5c60cf
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x16
cmp ecx, ebx
je 0x5c60f7
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x18c], eax
mov ecx, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x17
cmp ecx, ebx
je 0x5c611f
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x18
cmp ecx, ebx
je 0x5c6147
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x19
cmp ecx, ebx
je 0x5c616f
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x1a
cmp ecx, ebx
je 0x5c6197
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x1b
cmp ecx, ebx
je 0x5c61bf
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x1c
cmp ecx, ebx
je 0x5c61e7
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x1d
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0xa
cmp eax, ebx
je 0x5c622f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0xb
cmp eax, ebx
je 0x5c6252
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0xc
cmp eax, ebx
je 0x5c6275
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0xd
cmp eax, ebx
je 0x5c6298
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0xe
cmp eax, ebx
je 0x5c62bb
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0xf
cmp eax, ebx
je 0x5c62de
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x10
cmp eax, ebx
je 0x5c6301
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x11
cmp eax, ebx
je 0x5c6324
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x12
cmp eax, ebx
je 0x5c6347
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x13
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
cmp ecx, ebx
jg 0x5c64f7
mov edx, dword [esp + 0x154]
mov dword [esp + 0x150], eax
cmp edx, ebx
mov byte [esp + 0x5b8], 0x1e
je 0x5c6397
push edx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x1f
cmp ecx, ebx
je 0x5c63bf
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x20
cmp ecx, ebx
je 0x5c63e7
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x18c], eax
mov ecx, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x21
cmp ecx, ebx
je 0x5c640f
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x22
cmp ecx, ebx
je 0x5c6437
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x23
cmp ecx, ebx
je 0x5c645f
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x24
cmp ecx, ebx
je 0x5c6487
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x25
cmp ecx, ebx
je 0x5c64af
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x26
cmp ecx, ebx
je 0x5c64d7
push ecx
call fcn.007604d0
add esp, 4
mov eax, 0x7cab08
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x27
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov ecx, dword [edx + eax + 0x14]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
cmp eax, ebx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x228], edx
jg 0x5c653e
mov dword [esp + 0x1a4], 1
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x44]
add eax, 0x30
push eax
call fcn.007608e9
mov ecx, dword [ebp + 8]
mov byte [esp + 0x5b8], 0x28
add ecx, 0x418
push ecx
lea ecx, [esp + 0x4c]
call fcn.007608e9
mov edx, dword [esp + 0x44]
mov byte [esp + 0x5b8], 0x29
cmp dword [edx - 8], ebx
jne 0x5c6700
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x2a
cmp eax, ebx
je 0x5c65c8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x2b
cmp eax, ebx
je 0x5c65eb
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x2c
cmp eax, ebx
je 0x5c660e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x2d
cmp eax, ebx
je 0x5c6631
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x2e
cmp eax, ebx
je 0x5c6654
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x2f
cmp eax, ebx
je 0x5c6677
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x30
cmp eax, ebx
je 0x5c669a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x31
cmp eax, ebx
je 0x5c66bd
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x32
cmp eax, ebx
je 0x5c66e0
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x33
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov eax, dword [esp + 0x48]
cmp dword [eax - 8], ebx
jne 0x5c6717
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x4c]
call fcn.007609b4
mov edx, dword [esp + 0x44]
push edx
call fcn.00749c34
mov eax, dword [esp + 0x4c]
fstp qword [esp + 0x340]
push eax
call fcn.00749c34
fsub qword [esp + 0x344]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x1ac]
add esp, 8
cmp eax, ebx
fmul qword [0x7d2d58]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x84], edx
fstp qword [esp + 0x364]
fld qword [esp + 0x33c]
fmul qword [0x7d2d58]
fstp qword [esp + 0x2bc]
jg 0x5c68fb
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x34
cmp eax, ebx
je 0x5c67c3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x35
cmp eax, ebx
je 0x5c67e6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x36
cmp eax, ebx
je 0x5c6809
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x37
cmp eax, ebx
je 0x5c682c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x38
cmp eax, ebx
je 0x5c684f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x39
cmp eax, ebx
je 0x5c6872
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x3a
cmp eax, ebx
je 0x5c6895
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x3b
cmp eax, ebx
je 0x5c68b8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x3c
cmp eax, ebx
je 0x5c68db
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x3d
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov eax, dword [esp + 0x84]
cmp eax, ebx
jl 0x5cb374
cmp eax, 4
jge 0x5cb374
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
add eax, 0x800
mov dword [esp + 0xb4], ecx
mov edx, dword [eax - 0x7ec]
push eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x28], edx
call fcn.007608e9
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x5b8], 0x48
push eax
call fcn.00749c34
fmul qword [0x7cb880]
add esp, 4
call fcn.007496f4
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x1a4]
cmp eax, 2
jl 0x5c6b19
cmp dword [esp + 0xa4], ebx
jg 0x5c6b19
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x49
cmp eax, ebx
je 0x5c69e1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x4a
cmp eax, ebx
je 0x5c6a04
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x4b
cmp eax, ebx
je 0x5c6a27
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x4c
cmp eax, ebx
je 0x5c6a4a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x4d
cmp eax, ebx
je 0x5c6a6d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x4e
cmp eax, ebx
je 0x5c6a90
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x4f
cmp eax, ebx
je 0x5c6ab3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x50
cmp eax, ebx
je 0x5c6ad6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x51
cmp eax, ebx
je 0x5c6af9
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x52
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x30], ebx
cmp eax, ebx
jle 0x5c75e8
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1a0], ebx
neg eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb4]
cmp eax, ebx
jge 0x5c6b64
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xbf4]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0xbf8]
jmp 0x5c6b7f
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x60], eax
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x64], ecx
cmp edx, ebx
jge 0x5c6ba7
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xbfc]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xc00]
mov dword [esp + 0x38], edx
jmp 0x5c6bca
lea ecx, [edx + edx*4]
lea edx, [edx + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov ecx, dword [edx]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x64]
mov edx, dword [edx + 4]
mov dword [esp + 0x38], edx
push 0x41086a00
push ebx
push ecx
push eax
push edx
mov edx, dword [esp + 0x48]
push edx
push ecx
push eax
lea eax, [esp + 0x374]
push eax
call fcn.004fb740
mov ecx, dword [eax]
push 0x41086a00
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x38]
push ebx
push ecx
push edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x38c]
push ecx
push edx
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x84]
cmp eax, ebx
mov dword [esp + 0x38], edx
je 0x5c6c54
cmp eax, 3
je 0x5c6c54
fild dword [esp + 0x1a0]
sub esp, 8
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x68]
fstp qword [esp]
push eax
push ecx
jmp 0x5c6c68
fild dword [esp + 0x40]
sub esp, 8
lea edx, [esp + 0x3c]
lea eax, [esp + 0x68]
fstp qword [esp]
push edx
push eax
call fcn.004fbf90
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], ebx
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x144], ebx
jle 0x5c75ab
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x90]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0xc], ecx
cmp ecx, eax
mov dword [esp + 0x7c], eax
jge 0x5c6d8d
mov eax, dword [esi + edi*4 + 0xf0]
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
shl ecx, 4
mov edx, dword [ecx + eax]
mov dword [esp + 0x208], edx
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + ecx*4]
lea edx, [ecx + edx*2]
shl edx, 4
mov ecx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
lea edx, [esp + 0x1d4]
push edx
lea edx, [esp + 0x360]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x218]
push ecx
mov ecx, dword [esp + 0x218]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x7c]
push eax
push ecx
push edx
mov dword [esp + 0x1fc], ebx
call fcn.004fa780
cmp dword [esp + 0x1d4], ebx
je 0x5c6d8d
cmp dword [esp + 0x68], ebx
jne 0x5c6dad
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c7844
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x68], 1
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xec], edx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x144], eax
jl 0x5c6c88
jmp 0x5c75ab
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c79da
mov eax, dword [esp + 0x84]
cmp eax, ebx
je 0x5c6e3a
cmp eax, 1
je 0x5c6e3a
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x74]
cmp eax, edx
jle 0x5c6e9f
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0xb0]
jmp 0x5c6e83
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x78]
cmp ecx, eax
jge 0x5c6e9f
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
jmp 0x5c6eb2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x144], ecx
mov eax, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0xc4]
push eax
push edx
lea ecx, [esp + 0xc4]
call fcn.005fc280
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xb8]
push 2
push edx
mov edx, dword [esp + 0xbc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xd8]
dec eax
push eax
mov eax, dword [esp + 0xe4]
push eax
call fcn.005fc280
mov eax, 0x7cb8e8
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x124], ebx
lea ecx, [esp + 0x11c]
lea edx, [esp + 0xf4]
push ecx
lea eax, [esp + 0x1c4]
push edx
mov edx, dword [esp + 0xb8]
lea ecx, [esp + 0x110]
push eax
mov eax, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xfc]
push edx
mov edx, dword [esp + 0xe4]
push eax
push ecx
push edx
mov ecx, esi
mov byte [esp + 0x5d8], 0x6a
call fcn.005d2510
cmp dword [esp + 0x110], ebx
jle 0x5c7db9
cmp dword [esp + 0x1c8], ebx
jle 0x5c7db9
lea eax, [esp + 0x500]
mov ecx, esi
push eax
call fcn.0057b890
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x108]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov eax, dword [esi + edi*4 + 0xdc]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0x5c0], 0x79
call fcn.005fc280
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x500]
push eax
mov dword [esp + 0x80], edx
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057be40
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec eax
push eax
mov eax, dword [esp + 0x98]
push eax
call fcn.005fc280
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
lea ecx, [esp + 0x11c]
lea edx, [esp + 0x1c0]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov eax, dword [esi + edi*4 + 0xdc]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0x5c0], 0x7a
call fcn.005fc280
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x500]
push eax
mov dword [esp + 0x80], edx
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057be40
mov eax, dword [esi + edi*4 + 0xdc]
dec eax
push eax
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x90]
push eax
call fcn.005fc280
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x110]
call fcn.005fc3f0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x1c8]
call fcn.005fc3f0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0xfc]
call fcn.005fc3f0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x124]
call fcn.005fc3f0
lea ecx, [esp + 0x11c]
lea edx, [esp + 0xf4]
push ecx
lea eax, [esp + 0x1c4]
push edx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x110]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x7c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005d2510
cmp dword [esp + 0x110], ebx
jle 0x5c7b70
cmp dword [esp + 0x1c8], ebx
jle 0x5c7b70
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x108]
push eax
lea edx, [esp + 0x200]
push ecx
push edx
call fcn.00517230
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x5bc], 0x89
call fcn.007609b4
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x5b8], 0x7a
call fcn.0076087b
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x58]
push eax
call fcn.005fc280
mov ebx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x500]
push ecx
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057be40
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec eax
push eax
mov eax, dword [esp + 0x98]
push eax
call fcn.005fc280
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x70]
dec ecx
push ecx
push ebx
push edx
mov ecx, esi
call fcn.005d0eb0
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x1c0]
push eax
lea edx, [esp + 0x1f8]
push ecx
push edx
call fcn.00517230
add esp, 0xc
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x5bc], 0x8a
call fcn.007609b4
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x5b8], 0x7a
call fcn.0076087b
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x58]
push eax
call fcn.005fc280
mov ebx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x500]
push ecx
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057be40
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec eax
push eax
mov eax, dword [esp + 0x98]
push eax
call fcn.005fc280
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x70]
dec ecx
push ecx
push ebx
push edx
mov ecx, esi
call fcn.005d0eb0
mov eax, dword [esp + 0x54]
lea ebx, [eax - 1]
test ebx, ebx
jl 0x5c74ee
mov eax, dword [esp + 0x50]
mov edx, dword [eax + ebx*4]
lea ecx, [eax + ebx*4]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x90]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0xd0]
jne 0x5c743f
mov edx, dword [esp + 0x54]
sub edx, ebx
dec edx
je 0x5c73c5
shl edx, 2
lea eax, [eax + ebx*4 + 4]
push edx
push eax
push ecx
call fcn.00749720
add esp, 0xc
mov eax, dword [esp + 0x54]
dec eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x94]
sub eax, ebx
dec eax
je 0x5c73fa
lea ecx, [eax*4]
mov eax, dword [esp + 0x90]
push ecx
lea edx, [eax + ebx*4 + 4]
lea eax, [eax + ebx*4]
push edx
push eax
call fcn.00749720
add esp, 0xc
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x138]
dec eax
push ecx
push edx
lea ecx, [esp + 0x138]
mov dword [esp + 0x9c], eax
call fcn.005fc280
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1b0]
push eax
push ecx
lea ecx, [esp + 0x1b0]
call fcn.005fc280
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
cmp edx, ecx
jne 0x5c74e7
mov ecx, dword [esp + 0x54]
sub ecx, ebx
dec ecx
je 0x5c746d
shl ecx, 2
lea edx, [eax + ebx*4 + 4]
push ecx
lea eax, [eax + ebx*4]
push edx
push eax
call fcn.00749720
add esp, 0xc
mov eax, dword [esp + 0x54]
dec eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x94]
sub eax, ebx
dec eax
je 0x5c74a2
lea ecx, [eax*4]
mov eax, dword [esp + 0x90]
push ecx
lea edx, [eax + ebx*4 + 4]
lea eax, [eax + ebx*4]
push edx
push eax
call fcn.00749720
add esp, 0xc
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x138]
dec eax
push ecx
push edx
lea ecx, [esp + 0x138]
mov dword [esp + 0x9c], eax
call fcn.005fc280
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1b0]
push eax
push ecx
lea ecx, [esp + 0x1b0]
call fcn.005fc280
mov eax, dword [esp + 0x50]
dec ebx
jns 0x5c7381
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5b8], 0x79
call fcn.0076087b
lea ecx, [esp + 0x10]
mov byte [esp + 0x5b8], 0x6a
call fcn.0076087b
mov ebx, 0x7cb8e8
mov dword [esp + 0x11c], ebx
mov eax, dword [esp + 0x120]
mov byte [esp + 0x5b8], 0x8b
test eax, eax
je 0x5c7538
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf4], ebx
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x5b8], 0x8c
test eax, eax
je 0x5c755b
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1c0], ebx
mov eax, dword [esp + 0x1c4]
mov byte [esp + 0x5b8], 0x8d
test eax, eax
je 0x5c757e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], ebx
mov eax, dword [esp + 0x10c]
mov byte [esp + 0x5b8], 0x8e
test eax, eax
je 0x5c75a1
push eax
call fcn.007604d0
add esp, 4
mov byte [esp + 0x5b8], 0x48
xor ebx, ebx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x30]
add ecx, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1c]
inc eax
add edx, ecx
mov ecx, dword [esp + 0x1a4]
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], edx
jl 0x5c6b44
mov ecx, dword [esp + 0x1a4]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x30], eax
jle 0x5cae5a
cmp eax, dword [esp + 0xc4]
jge 0x5cae46
mov eax, 0x7cab08
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf4], eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x1f0], ebx
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1c8], ebx
mov eax, dword [esp + 0x54]
mov byte [esp + 0x5b8], 0x93
cmp eax, ebx
jle 0x5c76ed
mov edx, dword [esp + 0x1c8]
push 0
push edx
lea ecx, [esp + 0x1c8]
call fcn.005fc280
mov eax, dword [esp + 0x54]
inc ebx
cmp ebx, eax
jl 0x5c76ce
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], 0xffffffff
mov ecx, dword [eax + edx*4]
mov eax, dword [esi + edi*4 + 0xf0]
lea ebx, [ecx + ecx*4]
lea ecx, [ecx + ebx*2]
shl ecx, 4
mov ebx, dword [ecx + eax]
mov dword [esp + 0xb4], ebx
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xdc]
mov ecx, dword [ecx + edx*4]
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
shl ecx, 4
mov edx, dword [ecx + eax]
mov dword [esp + 0xac], edx
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c4]
sub eax, edx
sub ecx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
jge 0x5c8138
mov eax, dword [eax + edx]
mov ecx, dword [esi + edi*4 + 0xf0]
lea ebx, [eax + eax*4]
lea eax, [eax + ebx*2]
shl eax, 4
add ecx, eax
mov eax, dword [ecx]
mov dword [esp + 0x2b4], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x2b8], eax
mov eax, dword [edx]
lea ebx, [eax + eax*4]
lea ebx, [eax + ebx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
add eax, ebx
mov ebx, dword [eax]
mov dword [esp + 0x2ac], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x2b0], ebx
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + edx], 1
je 0x5c782c
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x360], ecx
mov ecx, dword [esp + 0xb4]
cmp ecx, ebx
jne 0x5c780f
mov ecx, dword [esp + 0x360]
mov ebx, dword [esp + 0xb8]
cmp ebx, ecx
je 0x5c7feb
mov ecx, dword [eax]
mov ebx, dword [esp + 0xb4]
mov eax, dword [eax + 4]
cmp ebx, ecx
jne 0x5c782c
cmp dword [esp + 0xb8], eax
je 0x5c8092
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1f4]
inc ecx
add edx, 4
mov dword [esp + 0xc], ecx
jmp 0x5c7779
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x53
cmp eax, ebx
je 0x5c78a2
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x54
cmp eax, ebx
je 0x5c78c5
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x55
cmp eax, ebx
je 0x5c78e8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x56
cmp eax, ebx
je 0x5c790b
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x57
cmp eax, ebx
je 0x5c792e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x58
cmp eax, ebx
je 0x5c7951
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x59
cmp eax, ebx
je 0x5c7974
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x5a
cmp eax, ebx
je 0x5c7997
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x5b
cmp eax, ebx
je 0x5c79ba
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x5c
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x5d
cmp eax, ebx
je 0x5c7a38
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x5e
cmp eax, ebx
je 0x5c7a5b
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x5f
cmp eax, ebx
je 0x5c7a7e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x60
cmp eax, ebx
je 0x5c7aa1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x61
cmp eax, ebx
je 0x5c7ac4
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x62
cmp eax, ebx
je 0x5c7ae7
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x63
cmp eax, ebx
je 0x5c7b0a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x64
cmp eax, ebx
je 0x5c7b2d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x65
cmp eax, ebx
je 0x5c7b50
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x66
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5b8], 0x79
call fcn.0076087b
lea ecx, [esp + 0x10]
mov byte [esp + 0x5b8], 0x6a
call fcn.0076087b
mov esi, 0x7cb8e8
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x120]
mov byte [esp + 0x5b8], 0x7b
cmp eax, ebx
je 0x5c7bba
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf4], esi
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x5b8], 0x7c
cmp eax, ebx
je 0x5c7bdd
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1c0], esi
mov eax, dword [esp + 0x1c4]
mov byte [esp + 0x5b8], 0x7d
cmp eax, ebx
je 0x5c7c00
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0x5b8], 0x7e
cmp eax, ebx
je 0x5c7c23
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x7f
cmp eax, ebx
je 0x5c7c81
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x80
cmp eax, ebx
je 0x5c7ca4
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x81
cmp eax, ebx
je 0x5c7cc7
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x82
cmp eax, ebx
je 0x5c7cea
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x83
cmp eax, ebx
je 0x5c7d0d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x84
cmp eax, ebx
je 0x5c7d30
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x85
cmp eax, ebx
je 0x5c7d53
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x86
cmp eax, ebx
je 0x5c7d76
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x87
cmp eax, ebx
je 0x5c7d99
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x88
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x120]
mov byte [esp + 0x5b8], 0x6b
cmp eax, ebx
je 0x5c7de0
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf4], method.CCommandLineInfo.virtual_0
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x5b8], 0x6c
cmp eax, ebx
je 0x5c7e07
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x1c4]
mov byte [esp + 0x5b8], 0x6d
cmp eax, ebx
je 0x5c7e2e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x10c]
mov byte [esp + 0x5b8], 0x6e
cmp eax, ebx
je 0x5c7e55
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x6f
cmp eax, ebx
je 0x5c7eb3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x70
cmp eax, ebx
je 0x5c7ed6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x71
cmp eax, ebx
je 0x5c7ef9
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x72
cmp eax, ebx
je 0x5c7f1c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x73
cmp eax, ebx
je 0x5c7f3f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x74
cmp eax, ebx
je 0x5c7f62
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x75
cmp eax, ebx
je 0x5c7f85
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x76
cmp eax, ebx
je 0x5c7fa8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x77
cmp eax, ebx
je 0x5c7fcb
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x78
cmp eax, ebx
je 0x5cb4f6
jmp 0x5cb4ed
cmp dword [esp + 0x10], 0xffffffff
jne 0x5c8003
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
mov eax, dword [edx + ebx*4]
mov dword [esp + 0x10], eax
jmp 0x5c8007
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c4]
mov dword [ecx + ebx*4], 1
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0xf4]
mov eax, dword [edx + ebx*4]
push eax
mov eax, dword [esp + 0x100]
push eax
call fcn.005fc280
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x110]
mov ebx, dword [ecx + ebx*4]
lea ecx, [esp + 0x108]
push ebx
push edx
call fcn.005fc280
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jne 0x5c8078
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0xb0]
cmp ecx, edx
je 0x5c8138
mov edx, dword [esp + 0x2b0]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
jmp 0x5c7750
cmp dword [esp + 0x10], 0xffffffff
jne 0x5c80ad
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0xc]
mov ecx, dword [eax + ebx*4]
mov dword [esp + 0x10], ecx
jmp 0x5c80b1
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c4]
mov dword [edx + ebx*4], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xfc]
mov eax, dword [eax + ebx*4]
push eax
push ecx
lea ecx, [esp + 0xfc]
call fcn.005fc280
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0x108]
mov ebx, dword [edx + ebx*4]
push ebx
push eax
call fcn.005fc280
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jne 0x5c811e
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 0xb0]
cmp ecx, edx
je 0x5c8138
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
jmp 0x5c7750
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x144], 0xffffffff
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + edi*4 + 0xf0]
lea ebx, [ecx + ecx*4]
lea ecx, [ecx + ebx*2]
shl ecx, 4
mov ebx, dword [ecx + eax]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x30]
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xdc]
mov ecx, dword [ecx + ebx*4]
lea ebx, [ecx + ecx*4]
lea ecx, [ecx + ebx*2]
shl ecx, 4
mov ebx, dword [ecx + eax]
mov dword [esp + 0xac], ebx
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x90]
sub eax, edx
sub ecx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
jge 0x5c8444
cmp dword [eax + edx], 1
je 0x5c82d0
mov ecx, dword [edx]
mov eax, dword [esi + edi*4 + 0xf0]
lea ebx, [ecx + ecx*4]
lea ebx, [ecx + ebx*2]
shl ebx, 4
add eax, ebx
mov ebx, dword [eax]
mov dword [esp + 0x208], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x20c], ebx
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + edx]
mov dword [esp + 0x1f4], edx
lea ebx, [edx + edx*4]
lea ebx, [edx + ebx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl ebx, 4
add edx, ebx
mov dword [esp + 0x40], edx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x2c4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x2c8], edx
mov edx, dword [eax]
cmp ebx, edx
jne 0x5c826c
mov ebx, dword [eax + 4]
mov edx, dword [esp + 0xb8]
cmp edx, ebx
je 0x5c8288
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
cmp ebx, edx
jne 0x5c82e8
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 4]
mov edx, dword [esp + 0xb8]
cmp edx, ebx
jne 0x5c8299
mov ebx, dword [esp + 0x10]
cmp ecx, ebx
je 0x5c82c2
cmp dword [esp + 0x1f4], ebx
je 0x5c82c2
mov ebx, dword [esp + 0xb4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ebx, ecx
jne 0x5c82ad
cmp edx, eax
je 0x5c82f1
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ebx, eax
jne 0x5c82c2
cmp edx, ecx
je 0x5c839a
mov eax, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1d4]
mov ebx, dword [esp + 0xc]
inc ebx
add edx, 4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1d4], edx
jmp 0x5c81d2
mov edx, dword [esp + 0xb8]
jmp 0x5c82a0
mov eax, dword [esp + 0x1c4]
mov ebx, dword [esp + 0xc]
mov dword [eax + ebx*4], 1
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x1e8]
mov eax, dword [ecx + ebx*4]
lea ecx, [esp + 0x1e0]
push eax
push edx
call fcn.005fc280
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x124]
mov eax, dword [eax + ebx*4]
push eax
push ecx
lea ecx, [esp + 0x124]
call fcn.005fc280
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x50]
cmp eax, 0xffffffff
jne 0x5c8358
mov eax, dword [edx + ebx*4]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jne 0x5c8380
mov ecx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xb0]
cmp ecx, ebx
je 0x5c8444
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0xb8], eax
jmp 0x5c81a6
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx*4], 1
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x1e0]
mov eax, dword [edx + ebx*4]
push eax
mov eax, dword [esp + 0x1ec]
push eax
call fcn.005fc280
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x124]
mov eax, dword [ecx + ebx*4]
lea ecx, [esp + 0x11c]
push eax
push edx
call fcn.005fc280
cmp dword [esp + 0x144], 0xffffffff
jne 0x5c8402
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + ebx*4]
mov dword [esp + 0x144], ecx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jne 0x5c8426
mov edx, dword [esp + 0x20c]
mov ecx, dword [esp + 0xb0]
cmp edx, ecx
je 0x5c8444
mov edx, dword [esp + 0x50]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0xb8], eax
jmp 0x5c81a6
mov eax, dword [esp + 0xfc]
test eax, eax
jle 0x5cb1de
mov eax, dword [esp + 0x1e8]
test eax, eax
jle 0x5cb1de
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0xbc]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov ecx, dword [edx + eax]
mov dword [esp + 0x1d8], ecx
lea ecx, [esp + 0xc0]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
shl eax, 4
mov edx, dword [eax + ecx + 4]
lea ecx, [esp + 0xdc]
mov dword [esp + 0x44], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + edi*4 + 0xf0]
push ecx
shl edx, 4
lea ecx, [esp + 0xdc]
mov ebx, dword [edx + eax]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
mov edx, dword [eax + ecx + 4]
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1f8], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
push edx
lea ecx, [esp + 0xdc]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add eax, edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov ecx, edx
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.004fb030
fst qword [esp + 0x34]
fadd st(0), st(0)
fdivr qword [esp + 0x364]
fchs
call fcn.0074a770
fadd st(0), st(0)
fld st(0)
fsin
mov edx, dword [esp + 0x1d4]
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x40]
sub ebx, edx
mov dword [esp + 0x1c], ebx
sub eax, ecx
fstp qword [esp + 0x34]
fcos
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fstp qword [esp + 0x1fc]
fild dword [esp + 0x1c]
fstp qword [esp + 0x1f4]
fild dword [esp + 0x1d4]
fstp qword [esp + 0x1d4]
fld qword [esp + 0x1fc]
fmul st(1)
fld qword [esp + 0x34]
fmul qword [esp + 0x1f4]
fsubp st(1)
fadd qword [esp + 0x1d4]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c8607
fadd qword [0x7ca990]
jmp 0x5c860d
fsub qword [0x7ca990]
call fcn.007496f4
fild dword [esp + 0x40]
mov dword [esp + 0xc], eax
fstp qword [esp + 0x144]
fld qword [esp + 0x1fc]
fmul qword [esp + 0x34]
fxch st(1)
fmul qword [esp + 0x1f4]
faddp st(1)
fadd qword [esp + 0x144]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c8653
fadd qword [0x7ca990]
jmp 0x5c8659
fsub qword [0x7ca990]
call fcn.007496f4
mov edx, dword [esp + 0xc]
mov ebx, eax
push ebx
push edx
lea ecx, [esp + 0x468]
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x74]
push eax
push ecx
push edx
mov edx, dword [esp + 0x7c]
push edx
push eax
push ecx
call fcn.004fc7c0
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push 0xc0568000
fstp qword [esp + 0x40]
push 0
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x490]
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x4a4]
push edx
push eax
call fcn.004fb8c0
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
push eax
lea edx, [esp + 0x494]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.005c5df0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x348]
mov edx, dword [eax]
push edx
call fcn.00464d80
mov ecx, dword [esp + 0x348]
mov edx, dword [esi + edi*4 + 0xdc]
mov eax, dword [esp + 0x344]
mov dword [esp + 0x28], ecx
push edx
lea ecx, [esp + 0x190]
mov dword [esp + 0x28], eax
call fcn.00421890
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x30c], eax
mov dword [esp + 0x310], ecx
push edx
mov edx, dword [esp + 0x74]
push edx
push 2
push ecx
mov ecx, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x4b4]
push eax
push ebx
push ecx
lea ecx, [esp + 0x4d0]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x31c]
push edx
mov edx, dword [esp + 0x31c]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x4d8]
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
mov edx, dword [eax]
push edx
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x178]
dec eax
push eax
call fcn.00421890
push 0
push 0
lea ecx, [esp + 0x4d8]
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x28]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c886d
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push 1
push eax
lea edx, [esp + 0x4f0]
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec edx
push edx
call fcn.00421890
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push 1
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x500]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x4b8]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [eax]
mov eax, dword [esp + 0x7c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec edx
push edx
call fcn.00421890
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x414]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x434]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
fld qword [esp + 0x33c]
fcomp qword [0x7ca988]
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x40], eax
fnstsw ax
test ah, 0x41
jne 0x5c9276
push 0
lea ecx, [esp + 0xf8]
call fcn.0070b300
mov ebx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
push 0
lea eax, [eax + edx*2]
shl eax, 4
add eax, ebx
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x10c]
mov edx, dword [eax + 4]
mov dword [esp + 0x68], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x74], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x218]
call fcn.0073b250
lea ecx, [esp + 0x220]
call fcn.0073b250
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x68]
call fcn.004e3590
test eax, eax
je 0x5c89fa
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
jmp 0x5c8a3a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x7c]
call fcn.004e3590
test eax, eax
je 0x5cb077
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
push eax
lea eax, [esp + 0x450]
mov dword [esp + 0x244], ebx
push eax
call fcn.004fb740
mov ecx, dword [eax]
push 0
mov dword [esp + 0x328], ecx
lea ecx, [esp + 0x1e4]
mov edx, dword [eax + 4]
mov dword [esp + 0x32c], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
push 0
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x64], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x120]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], edx
call fcn.004e3590
test eax, eax
je 0x5c8b09
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
jmp 0x5c8b49
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x7c]
call fcn.004e3590
test eax, eax
je 0x5cb077
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
lea ecx, [esp + 0x45c]
push eax
push ecx
mov dword [esp + 0x248], ebx
call fcn.004fb740
mov ebx, dword [eax]
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x374], edx
push eax
lea edx, [esp + 0x454]
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.005c5dd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x2e8], edx
mov ecx, edx
mov edx, dword [eax]
mov eax, dword [esp + 0x328]
push ecx
mov ecx, dword [esp + 0x328]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x2e8]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x374]
push edx
fstp qword [esp + 0x20]
push eax
push ecx
push ebx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c95b0
lea ecx, [esp + 0xf4]
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5c9cbe
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x338], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x33c], ecx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea edx, [eax + eax*4]
xor ebx, ebx
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x304], ecx
lea ecx, [esp + 0xbc]
mov edx, dword [eax + 4]
mov dword [esp + 0x308], edx
call fcn.00421d30
test eax, eax
jle 0x5c904a
cmp ebx, dword [esp + 0x30]
je 0x5c9035
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x248], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x24c], ecx
lea ecx, [esp + 0xdc]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x244]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x248]
push eax
push ecx
lea ecx, [esp + 0x33c]
mov dword [esp + 0x258], edx
call fcn.004e3590
test eax, eax
jne 0x5c8d8b
mov edx, dword [esp + 0x250]
mov eax, dword [esp + 0x24c]
push edx
push eax
lea ecx, [esp + 0x33c]
call fcn.004e3590
test eax, eax
jne 0x5c8d8b
mov ecx, dword [esp + 0x248]
mov edx, dword [esp + 0x244]
push ecx
push edx
lea ecx, [esp + 0x30c]
call fcn.004e3590
test eax, eax
jne 0x5c8d8b
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
push eax
push ecx
lea ecx, [esp + 0x30c]
call fcn.004e3590
test eax, eax
je 0x5c9035
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c8e61
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add eax, ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x3bc]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add edx, ecx
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c8dce
lea ecx, [esp + 0x18c]
call fcn.00421d30
cmp eax, ebx
jle 0x5c8f4b
push ebx
lea ecx, [esp + 0x190]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c8f4b
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x46c]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c8eb8
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c9035
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c9035
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3cc]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c8fa2
lea ecx, [esp + 0xbc]
inc ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c8c99
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
push ebx
call fcn.0070b300
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c911d
fld qword [esp + 0x34]
mov ebx, ecx
fchs
fstp qword [esp + 0x1c]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [ecx + 4]
push edx
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x4ec]
push ecx
push edx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
inc ecx
push eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c908d
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c9c59
push ebx
lea ecx, [esp + 0xf8]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x280], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x284], ecx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x27c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x280]
push eax
push ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x268], edx
call fcn.004e3590
test eax, eax
jne 0x5c9c59
mov edx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
push edx
push eax
lea ecx, [esp + 0xac]
call fcn.004e3590
test eax, eax
jne 0x5c9c59
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x27c]
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push eax
fstp qword [esp + 0x24]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c9c28
lea ecx, [esp + 0xf8]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xa4]
mov dword [edx], eax
mov ecx, dword [esp + 0xa8]
mov dword [edx + 4], ecx
jmp 0x5c9c59
lea ecx, [esp + 0xf4]
call fcn.00421d30
dec eax
lea ecx, [esp + 0xf4]
push eax
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x108]
mov edx, dword [eax + 4]
mov dword [esp + 0xd4], edx
call fcn.00421d30
dec eax
lea ecx, [esp + 0x108]
push eax
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0xec], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x210]
call fcn.0073b250
lea ecx, [esp + 0x7c]
call fcn.0073b250
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0xd8]
call fcn.004e3590
test eax, eax
je 0x5c9353
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
jmp 0x5c939f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0xf4]
call fcn.004e3590
test eax, eax
je 0x5cb077
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
push 0xc09f4000
push 0
push ecx
push eax
mov dword [esp + 0x90], edx
push edx
mov edx, dword [esp + 0x90]
push edx
push ecx
push eax
lea eax, [esp + 0x3a8]
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x314], ecx
lea ecx, [esp + 0x1e0]
mov edx, dword [eax + 4]
mov dword [esp + 0x318], edx
call fcn.00421d30
dec eax
lea ecx, [esp + 0x1e0]
push eax
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0xd0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0x11c]
call fcn.00421d30
dec eax
lea ecx, [esp + 0x11c]
push eax
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x6c]
push eax
push ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0xf8], edx
call fcn.004e3590
test eax, eax
je 0x5c94a2
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
jmp 0x5c94ee
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0xf4]
call fcn.004e3590
test eax, eax
je 0x5cb077
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
push 0xc09f4000
push 0
push ecx
push eax
mov dword [esp + 0x90], edx
push edx
mov edx, dword [esp + 0x90]
push edx
push ecx
push eax
lea eax, [esp + 0x468]
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2f8], edx
push eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x39c]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x4bc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov edx, ecx
mov dword [esp + 0x358], ecx
mov ecx, dword [esp + 0x318]
mov eax, ebx
push edx
mov edx, dword [esp + 0x318]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2f4]
push eax
fstp qword [esp + 0x20]
push ebx
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
jne 0x5c8bf4
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x40], 1
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5c9cbe
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x2d8], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x2dc], ecx
lea ecx, [esp + 0x120]
call fcn.0070b300
lea edx, [eax + eax*4]
xor ebx, ebx
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x2dc], ecx
lea ecx, [esp + 0xbc]
mov edx, dword [eax + 4]
mov dword [esp + 0x2e0], edx
call fcn.00421d30
test eax, eax
jle 0x5c9a03
cmp ebx, dword [esp + 0x30]
je 0x5c99ee
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x2a0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x2a4], ecx
lea ecx, [esp + 0xdc]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x29c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x2a0]
push eax
push ecx
lea ecx, [esp + 0x2dc]
mov dword [esp + 0x278], edx
call fcn.004e3590
test eax, eax
jne 0x5c9744
mov edx, dword [esp + 0x270]
mov eax, dword [esp + 0x26c]
push edx
push eax
lea ecx, [esp + 0x2dc]
call fcn.004e3590
test eax, eax
jne 0x5c9744
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x29c]
push ecx
push edx
lea ecx, [esp + 0x2e4]
call fcn.004e3590
test eax, eax
jne 0x5c9744
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
push eax
push ecx
lea ecx, [esp + 0x2e4]
call fcn.004e3590
test eax, eax
je 0x5c99ee
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c981a
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add eax, ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x3dc]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add edx, ecx
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c9787
lea ecx, [esp + 0x18c]
call fcn.00421d30
cmp eax, ebx
jle 0x5c9904
push ebx
lea ecx, [esp + 0x190]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c9904
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x47c]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c9871
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c99ee
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c99ee
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3ec]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c995b
lea ecx, [esp + 0xbc]
inc ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c9652
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
push ebx
call fcn.0070b300
push ebx
lea ecx, [esp + 0x120]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c9ad6
fld qword [esp + 0x34]
mov ebx, ecx
fchs
fstp qword [esp + 0x1c]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [ecx + 4]
push edx
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x4cc]
push ecx
push edx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
inc ecx
push eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x120]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c9a46
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c9ca5
push ebx
lea ecx, [esp + 0x1e4]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x238], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x23c], ecx
lea ecx, [esp + 0x120]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x234]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x238]
push eax
push ecx
lea ecx, [esp + 0xac]
mov dword [esp + 0x248], edx
call fcn.004e3590
test eax, eax
jne 0x5c9ca5
mov edx, dword [esp + 0x240]
mov eax, dword [esp + 0x23c]
push edx
push eax
lea ecx, [esp + 0xac]
call fcn.004e3590
test eax, eax
jne 0x5c9ca5
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x234]
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x240]
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push eax
fstp qword [esp + 0x24]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c9c74
lea ecx, [esp + 0x1e4]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xa4]
mov dword [edx], eax
mov ecx, dword [esp + 0xa8]
mov dword [edx + 4], ecx
jmp 0x5c9ca5
lea ecx, [esp + 0x10c]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x2c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c8c1b
jmp 0x5c9cbe
lea ecx, [esp + 0x120]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x2c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c95d4
cmp dword [esp + 0x228], 1
jne 0x5caddc
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call fcn.004fb030
fst qword [esp + 0x34]
fadd st(0), st(0)
fdivr qword [esp + 0x364]
call fcn.0074a770
fadd st(0), st(0)
fld st(0)
fsin
fstp qword [esp + 0x34]
fcos
fld qword [esp + 0x1fc]
fmul st(1)
fld qword [esp + 0x34]
fmul qword [esp + 0x1f4]
fsubp st(1)
fadd qword [esp + 0x1d4]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c9d35
fadd qword [0x7ca990]
jmp 0x5c9d3b
fsub qword [0x7ca990]
call fcn.007496f4
fld qword [esp + 0x1fc]
fmul qword [esp + 0x34]
fxch st(1)
fmul qword [esp + 0x1f4]
mov dword [esp + 0xc], eax
faddp st(1)
fadd qword [esp + 0x144]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c9d76
fadd qword [0x7ca990]
jmp 0x5c9d7c
fsub qword [0x7ca990]
call fcn.007496f4
mov ecx, dword [esp + 0xc]
mov ebx, eax
push ebx
push ecx
lea ecx, [esp + 0x3f0]
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x70]
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
push edx
mov edx, dword [esp + 0x7c]
push edx
push eax
push ecx
call fcn.004fc7c0
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push 0x40568000
fstp qword [esp + 0x40]
push 0
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x498]
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x41c]
push edx
push eax
call fcn.004fb8c0
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edx
push eax
lea edx, [esp + 0x4fc]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.005c5df0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x350]
mov edx, dword [eax]
push edx
call fcn.00464d80
mov ecx, dword [esp + 0x350]
mov edx, dword [esi + edi*4 + 0xdc]
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x28], ecx
push edx
lea ecx, [esp + 0x168]
mov dword [esp + 0x28], eax
call fcn.00421890
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], ecx
push edx
mov edx, dword [esp + 0x74]
push edx
push 2
push ecx
mov ecx, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x41c]
push eax
push ebx
push ecx
lea ecx, [esp + 0x4a8]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x2fc]
push edx
mov edx, dword [esp + 0x2fc]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x430]
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
mov edx, dword [eax]
push edx
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x150]
dec eax
push eax
call fcn.00421890
push 0
push 0
lea ecx, [esp + 0x4d0]
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x28]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c9f90
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push 1
push eax
lea edx, [esp + 0x438]
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec edx
push edx
call fcn.00421890
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x4c]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push 1
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x388]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x458]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [eax]
mov eax, dword [esp + 0x7c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x8c]
dec edx
push edx
call fcn.00421890
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4ec]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x394]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], ecx
test eax, eax
je 0x5ca713
lea ecx, [esp + 0xf4]
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5caddc
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
push ebx
call fcn.0070b300
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x300], ecx
lea ecx, [esp + 0x10c]
mov edx, dword [eax + 4]
mov dword [esp + 0x304], edx
call fcn.0070b300
mov ebx, dword [esi + edi*4 + 0xf0]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
add edx, ebx
xor ebx, ebx
mov eax, dword [edx]
mov dword [esp + 0x2cc], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x2d0], ecx
lea ecx, [esp + 0xbc]
call fcn.00421d30
test eax, eax
jle 0x5ca49f
cmp ebx, dword [esp + 0x30]
je 0x5ca48a
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x230], ecx
lea ecx, [esp + 0xdc]
mov edx, dword [eax + 4]
mov dword [esp + 0x234], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x22c]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x230]
mov dword [esp + 0x258], ecx
push edx
push eax
lea ecx, [esp + 0x304]
call fcn.004e3590
test eax, eax
jne 0x5ca1e0
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x254]
push ecx
push edx
lea ecx, [esp + 0x304]
call fcn.004e3590
test eax, eax
jne 0x5ca1e0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
push eax
push ecx
lea ecx, [esp + 0x2d4]
call fcn.004e3590
test eax, eax
jne 0x5ca1e0
mov edx, dword [esp + 0x258]
mov eax, dword [esp + 0x254]
push edx
push eax
lea ecx, [esp + 0x2d4]
call fcn.004e3590
test eax, eax
je 0x5ca48a
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5ca2b6
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3a4]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5ca223
lea ecx, [esp + 0x18c]
call fcn.00421d30
cmp eax, ebx
jle 0x5ca3a0
push ebx
lea ecx, [esp + 0x190]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5ca3a0
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3b4]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5ca30d
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5ca48a
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5ca48a
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3c4]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5ca3f7
lea ecx, [esp + 0xbc]
inc ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5ca0ee
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
push ebx
call fcn.0070b300
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5ca572
fld qword [esp + 0x34]
mov ebx, ecx
fchs
fstp qword [esp + 0x1c]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [ecx + 4]
push edx
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x3d4]
push ecx
push edx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
inc ecx
push eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x10c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5ca4e2
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0xf4]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5ca6f5
push ebx
lea ecx, [esp + 0xf8]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x268], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x26c], ecx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x264]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x268]
push eax
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x280], edx
call fcn.004e3590
test eax, eax
jne 0x5ca6f5
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x274]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.004e3590
test eax, eax
jne 0x5ca6f5
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
fstp qword [esp + 0x24]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5ca6c4
lea ecx, [esp + 0xf8]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0x84]
mov dword [edx], eax
mov ecx, dword [esp + 0x88]
mov dword [edx + 4], ecx
jmp 0x5ca6f5
lea ecx, [esp + 0x10c]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov edx, dword [esp + 0x88]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x2c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5ca070
jmp 0x5caddc
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x5caddc
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5caddc
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x320], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x324], ecx
lea ecx, [esp + 0x120]
call fcn.0070b300
lea edx, [eax + eax*4]
xor ebx, ebx
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x32c], ecx
lea ecx, [esp + 0xbc]
mov edx, dword [eax + 4]
mov dword [esp + 0x330], edx
call fcn.00421d30
test eax, eax
jle 0x5cab6d
cmp ebx, dword [esp + 0x30]
je 0x5cab58
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x288], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x28c], ecx
lea ecx, [esp + 0xdc]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x284]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x288]
push eax
push ecx
lea ecx, [esp + 0x324]
mov dword [esp + 0x2a0], edx
call fcn.004e3590
test eax, eax
jne 0x5ca8ae
mov edx, dword [esp + 0x298]
mov eax, dword [esp + 0x294]
push edx
push eax
lea ecx, [esp + 0x324]
call fcn.004e3590
test eax, eax
jne 0x5ca8ae
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
push ecx
push edx
lea ecx, [esp + 0x334]
call fcn.004e3590
test eax, eax
jne 0x5ca8ae
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
push eax
push ecx
lea ecx, [esp + 0x334]
call fcn.004e3590
test eax, eax
je 0x5cab58
push ebx
lea ecx, [esp + 0xc0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5ca984
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add eax, ecx
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x3e4]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + edi*4 + 0xf0]
add edx, ecx
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5ca8f1
lea ecx, [esp + 0x18c]
call fcn.00421d30
cmp eax, ebx
jle 0x5caa6e
push ebx
lea ecx, [esp + 0x190]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5caa6e
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x3f4]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5ca9db
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5cab58
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5cab58
fld qword [esp + 0x34]
mov eax, ecx
fchs
fstp qword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi*4 + 0xf0]
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x404]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x14]
push edx
add ecx, dword [esi + edi*4 + 0xf0]
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0xb0
mov dword [esp + 0xc], ecx
push ebx
lea ecx, [esp + 0x154]
mov dword [esp + 0x14], eax
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5caac5
lea ecx, [esp + 0xbc]
inc ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5ca7bc
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
push ebx
call fcn.0070b300
push ebx
lea ecx, [esp + 0x120]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5cac40
fld qword [esp + 0x34]
mov ebx, ecx
fchs
fstp qword [esp + 0x1c]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [ecx + 4]
push edx
mov edx, dword [esp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x414]
push ecx
push edx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, ebx
add ecx, edx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
inc ecx
push eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x120]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5cabb0
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x1e0]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5cadc3
push ebx
lea ecx, [esp + 0x1e4]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x2a8], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x2ac], ecx
lea ecx, [esp + 0x120]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x2a4]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x2a8]
push eax
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x298], edx
call fcn.004e3590
test eax, eax
jne 0x5cadc3
mov edx, dword [esp + 0x290]
mov eax, dword [esp + 0x28c]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.004e3590
test eax, eax
jne 0x5cadc3
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x290]
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
fstp qword [esp + 0x24]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x1c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5cad92
lea ecx, [esp + 0x1e4]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0x84]
mov dword [edx], eax
mov ecx, dword [esp + 0x88]
mov dword [edx + 4], ecx
jmp 0x5cadc3
lea ecx, [esp + 0x120]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov edx, dword [esp + 0x88]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x2c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5ca73e
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x5b8], 0x92
call fcn.00407640
lea ecx, [esp + 0x11c]
mov byte [esp + 0x5b8], 0x91
call fcn.00407640
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x5b8], 0x90
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0x5b8], 0x8f
call fcn.00407640
lea ecx, [esp + 0xf4]
mov byte [esp + 0x5b8], 0x48
call fcn.00407640
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov ecx, dword [esp + 0x1a4]
inc eax
cmp eax, ecx
mov dword [esp + 0x30], eax
jl 0x5c75fd
mov eax, dword [esp + 0x70]
or edi, 0xffffffff
mov dword [esp + 0x40], edi
mov dword [esp + 0x1d4], edi
mov dword [esi + eax*4 + 0x515d58], 1
lea ecx, [esp + 0x130]
mov dword [esp + 0x30], ebx
call fcn.00421d30
test eax, eax
jle 0x5caed9
mov ecx, dword [esp + 0x30]
push ecx
lea ecx, [esp + 0x134]
call fcn.0070b300
cmp eax, dword [esp + 0x40]
jle 0x5caeb7
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x130]
push edi
call fcn.0070b300
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x130]
inc edx
mov dword [esp + 0x30], edx
call fcn.00421d30
cmp dword [esp + 0x30], eax
jl 0x5cae8b
mov dword [esp + 0x1d4], edi
cmp edi, ebx
mov dword [esp + 0x40], edi
jl 0x5caf49
push edi
lea ecx, [esp + 0x1ac]
call fcn.0070b300
mov edx, eax
push edi
lea ecx, [esp + 0x134]
mov dword [esp + 0x22c], edx
call fcn.0070b300
mov edx, dword [esp + 0x228]
mov edi, dword [esp + 0x1d4]
sub eax, edx
lea ecx, [esp + 0x1a8]
dec eax
push eax
push edi
call fcn.0070b300
push eax
mov ecx, esi
call fcn.0054d800
push 1
push edi
lea ecx, [esp + 0x138]
call fcn.004219e0
push 1
push edi
lea ecx, [esp + 0x1b0]
call fcn.004219e0
lea ecx, [esp + 0x130]
call fcn.00421d30
test eax, eax
jg 0x5cae77
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
lea ecx, [esp + 0x150]
mov byte [esp + 0x5b8], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0x5b8], 7
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0x5b8], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0x5b8], 5
call fcn.00407640
lea ecx, [esp + 0xd8]
mov byte [esp + 0x5b8], 4
call fcn.00407640
lea ecx, [esp + 0xbc]
mov byte [esp + 0x5b8], 3
call fcn.00407640
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x5b8], 2
call fcn.00407640
lea ecx, [esp + 0x130]
mov byte [esp + 0x5b8], 1
call fcn.00407640
lea ecx, [esp + 0x8c]
mov byte [esp + 0x5b8], 0
call fcn.00407640
lea ecx, [esp + 0x4c]
mov dword [esp + 0x5b8], 0xffffffff
call fcn.00407640
mov eax, 1
mov ecx, dword [esp + 0x5b0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x5b8], 0x92
call fcn.00407640
lea ecx, [esp + 0x11c]
mov byte [esp + 0x5b8], 0x91
call fcn.00407640
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x5b8], 0x90
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0x5b8], 0x8f
call fcn.00407640
lea ecx, [esp + 0xf4]
mov byte [esp + 0x5b8], 0x48
call fcn.00407640
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
lea ecx, [esp + 0x150]
mov byte [esp + 0x5b8], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0x5b8], 7
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0x5b8], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0x5b8], 5
call fcn.00407640
lea ecx, [esp + 0xd8]
mov byte [esp + 0x5b8], 4
call fcn.00407640
lea ecx, [esp + 0xbc]
mov byte [esp + 0x5b8], 3
call fcn.00407640
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x5b8], 2
call fcn.00407640
lea ecx, [esp + 0x130]
mov byte [esp + 0x5b8], 1
call fcn.00407640
lea ecx, [esp + 0x8c]
mov byte [esp + 0x5b8], 0
call fcn.00407640
lea ecx, [esp + 0x4c]
mov dword [esp + 0x5b8], 0xffffffff
call fcn.00407640
jmp 0x5cb4f6
mov esi, 0x7cab08
mov dword [esp + 0x1c0], esi
mov eax, dword [esp + 0x1c4]
mov byte [esp + 0x5b8], 0x94
test eax, eax
je 0x5cb206
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x120]
mov byte [esp + 0x5b8], 0x95
test eax, eax
je 0x5cb229
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x11c]
call fcn.00423660
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x5b8], 0x90
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0x5b8], 0x8f
call fcn.00407640
lea ecx, [esp + 0xf4]
mov byte [esp + 0x5b8], 0x48
call fcn.00407640
lea ecx, [esp + 0xa0]
mov byte [esp + 0x5b8], 0x29
call fcn.0076087b
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
lea ecx, [esp + 0x150]
mov byte [esp + 0x5b8], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0x5b8], 7
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0x5b8], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0x5b8], 5
call fcn.00407640
lea ecx, [esp + 0xd8]
mov byte [esp + 0x5b8], 4
call fcn.00407640
lea ecx, [esp + 0xbc]
mov byte [esp + 0x5b8], 3
call fcn.00407640
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x5b8], 2
call fcn.00407640
lea ecx, [esp + 0x130]
mov byte [esp + 0x5b8], 1
call fcn.00407640
lea ecx, [esp + 0x8c]
mov byte [esp + 0x5b8], 0
call fcn.00407640
lea ecx, [esp + 0x4c]
mov dword [esp + 0x5b8], 0xffffffff
call fcn.00407640
jmp 0x5cb4f6
lea ecx, [esp + 0x48]
mov byte [esp + 0x5b8], 0x28
call fcn.0076087b
lea ecx, [esp + 0x44]
mov byte [esp + 0x5b8], 9
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0x5b8], 0x3e
cmp eax, ebx
je 0x5cb3be
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0x5b8], 0x3f
cmp eax, ebx
je 0x5cb3e1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0x5b8], 0x40
cmp eax, ebx
je 0x5cb404
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0x5b8], 0x41
cmp eax, ebx
je 0x5cb427
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x5b8], 0x42
cmp eax, ebx
je 0x5cb44a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x5b8], 0x43
cmp eax, ebx
je 0x5cb46d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x1a8], esi
mov eax, dword [esp + 0x1ac]
mov byte [esp + 0x5b8], 0x44
cmp eax, ebx
je 0x5cb490
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x134]
mov byte [esp + 0x5b8], 0x45
cmp eax, ebx
je 0x5cb4b3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x90]
mov byte [esp + 0x5b8], 0x46
cmp eax, ebx
je 0x5cb4d6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5b8], 0x47
cmp eax, ebx
je 0x5cb4f6
push eax
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0x5b0]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4