Function at 0x562d38
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x7d7e24
call fcn.007a83c4
sub esp, 0x310
push ebx
push esi
push edi
mov dword [ebp - 0x84], ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.005649d7
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.00403131
push esi
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 3
call fcn.00403131
push ebx
push ebx
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.00410b4b
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.004038a0
lea eax, [ebp - 0x2ec]
push eax
mov byte [ebp - 4], 4
call fcn.004056d0
mov ecx, eax
call fcn.00402600
mov ecx, eax
call fcn.00404a04
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.004037d0
cmp eax, ebx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x1c], ebx
je 0x562e04
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404545
cmp eax, ebx
jge 0x562e04
cmp eax, 0x80004002
je 0x562e04
push eax
call fcn.007a760b
lea eax, [ebp - 0x2ec]
push eax
mov byte [ebp - 4], 0xa
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x562e1f
push eax
call fcn.007a760b
lea eax, [ebp - 0xec]
push eax
mov byte [ebp - 4], 9
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x562e3a
push eax
call fcn.007a760b
lea eax, [ebp - 0x10c]
push eax
mov byte [ebp - 4], 8
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x562e55
push eax
call fcn.007a760b
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0x56f
mov edi, 0x885138
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0xc
call fcn.00412986
mov esi, eax
neg esi
sbb esi, esi
lea eax, [ebp - 0x78]
neg esi
push eax
mov dword [ebp - 0x88], esi
mov byte [ebp - 4], 8
call fcn.00402b63
add esp, 0xc
cmp eax, ebx
jge 0x562eb7
push eax
call fcn.007a760b
cmp esi, ebx
jne 0x562f80
xor esi, esi
cmp dword [ebp - 0x1c], ebx
jne 0x562ed0
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x1c]
call fcn.00410b24
cmp esi, eax
jae 0x562f80
push 0x20
pop eax
call fcn.007a88c0
mov eax, esp
push ebx
push ebx
push eax
push esi
call fcn.0041273f
pop ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.004038a0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.004037d0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
call fcn.004196b6
cmp eax, ebx
jge 0x562f41
cmp eax, 0x80004002
je 0x562f41
push eax
call fcn.007a760b
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 8
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x562f59
push eax
call fcn.007a760b
push ebx
lea ecx, [ebp - 0x5c]
call fcn.00410a7d
test al, al
jne 0x562f7a
push 0xffffffffffffffff
lea ecx, [ebp - 0x58]
call fcn.0047e769
push dword [ebp - 0x5c]
mov ecx, eax
call fcn.0040451a
inc esi
jmp 0x562ec1
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0x57f
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x10
call fcn.00412986
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 8
call fcn.00402b63
add esp, 0xc
cmp eax, ebx
jge 0x562fdb
push eax
call fcn.007a760b
push 0x64
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0x38b
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x12
call fcn.00412986
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 8
call fcn.00402b63
add esp, 0xc
cmp eax, ebx
jge 0x563031
push eax
call fcn.007a760b
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0xdbf
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x14
call fcn.00412986
mov esi, eax
neg esi
lea eax, [ebp - 0x78]
sbb esi, esi
push eax
neg esi
mov byte [ebp - 4], 8
call fcn.00402b63
add esp, 0xc
cmp eax, ebx
jge 0x563088
push eax
call fcn.007a760b
cmp esi, ebx
je 0x5630e9
push 0x64
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0x390
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x16
call fcn.00412986
mov esi, eax
call fcn.007a9331
cdq
push 0x19
pop ecx
idiv ecx
push 0x64
pop ecx
mov byte [ebp - 4], 8
add edx, 0x1e
imul esi, edx
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x78]
jmp 0x563128
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push 0x390
push eax
mov ecx, edi
call fcn.006145b0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x18
call fcn.00412986
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x78]
push eax
call fcn.00402b63
add esp, 0xc
cmp eax, ebx
jge 0x56313b
push eax
call fcn.007a760b
cmp dword [ebp - 0x68], ebx
jne 0x5632f1
mov esi, 0x889398
push esi
lea ecx, [ebp - 0xfc]
call fcn.00403131
push 3
push ebx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x19
call fcn.00403157
cmp dword [0x885468], ebx
mov byte [ebp - 4], 0x1a
mov edi, 0x80004003
jne 0x56317b
push edi
call fcn.007a760b
mov ecx, dword [0x885468]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp + 0x10]
push eax
call fcn.0042c4b0
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x5631b2
push eax
call fcn.007a760b
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x5631cd
push eax
call fcn.007a760b
push esi
lea ecx, [ebp - 0xec]
call fcn.00403131
push esi
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x1e
call fcn.00403131
cmp dword [ebp + 0x10], ebx
mov byte [ebp - 4], 0x1f
jne 0x5631f8
push edi
call fcn.007a760b
mov ecx, dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push eax
call fcn.00410d41
mov esi, eax
cmp dword [esi], ebx
mov byte [ebp - 4], 0x20
jne 0x563214
push edi
call fcn.007a760b
mov ecx, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0xec]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x10c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, 0xff
push eax
movsd dword es:[edi], dword [esi]
push eax
push ecx
mov dword [ebp + 0x14], ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x88]
cmp eax, ebx
jge 0x563259
push 0x870978
push dword [ebp + 0x14]
push eax
call fcn.007a7619
lea ecx, [ebp + 0xc]
call fcn.004119e2
lea eax, [ebp - 0x10c]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x56327c
push eax
call fcn.007a760b
lea eax, [ebp - 0xec]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00402b63
cmp eax, ebx
pop ecx
jge 0x563297
push eax
call fcn.007a760b
mov eax, dword [ebp - 0x84]
lea ecx, [eax + 0x6c]
call fcn.0047e619
push dword [ebp + 0x10]
mov ecx, eax
call fcn.00431696
lea ecx, [ebp + 0x10]
call fcn.00411a09
lea ecx, [ebp - 0x1c]
call fcn.0040278b
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.0041967a
lea ecx, [ebp - 0x5c]
call fcn.004119ef
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x5648be
add eax, 0xfffffff4
push eax
call fcn.00403211
pop ecx
jmp 0x5648be
mov ecx, dword [ebp + 0x14]
imul ecx, ecx, 0x1f40
mov eax, 0xc350
sub eax, ecx
cmp dword [ebp - 0x68], ebx
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x7c], ebx
jle 0x564884
mov ebx, dword [ebp - 0x30]
mov edi, 0x190
mov esi, 0x12c
call fcn.007a9331
cdq
push 4
pop ecx
idiv ecx
mov dword [ebp - 0x28], edx
call fcn.007a9331
cdq
push 4
pop ecx
idiv ecx
mov eax, dword [ebp - 0x28]
imul eax, edx
add eax, 0xf
mov dword [ebp - 0x3c], eax
call fcn.007a9331
cdq
mov ecx, 0x168
idiv ecx
mov dword [ebp - 0x28], edx
call fcn.007a9331
cdq
mov ecx, 0xbb8
idiv ecx
add edx, ecx
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0xc0], edx
jne 0x563391
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x56337c
and dword [ebp - 0x14], eax
jmp 0x563382
mov eax, dword [eax - 4]
mov dword [ebp - 0x14], eax
call fcn.007a9331
xor edx, edx
div dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
jmp 0x563395
and dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x10]
sub eax, 0
je 0x563592
dec eax
je 0x56354d
dec eax
je 0x563508
dec eax
je 0x5634d5
dec eax
je 0x563463
dec eax
je 0x5633f2
dec eax
jne 0x5635d8
call fcn.007a9331
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.007a9331
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
mov dword [ebp - 0x30], ebx
jmp 0x5635d8
call fcn.007a9331
cdq
push 0x14
pop ecx
idiv ecx
add edx, 0x186
mov dword [ebp - 0x20], edx
call fcn.007a9331
fild dword [ebp - 0x28]
push 0x14
pop ecx
cdq
fst qword [ebp - 0x4c]
idiv ecx
push ecx
push ecx
fstp qword [esp]
mov ebx, edx
add ebx, 0x122
mov dword [ebp - 0x30], ebx
call fcn.007a9424
fmul qword [0x809ff0]
fadd qword [0x809fe0]
call fcn.007a9248
fld qword [ebp - 0x4c]
fstp qword [esp]
mov dword [ebp - 0x2c], eax
call fcn.007a9374
fmul qword [0x809ff0]
pop ecx
pop ecx
fadd qword [0x80c2e0]
call fcn.007a9248
jmp 0x5635d5
call fcn.007a9331
cdq
push 0x14
pop ecx
idiv ecx
add edx, 0x186
mov dword [ebp - 0x20], edx
call fcn.007a9331
fild dword [ebp - 0x28]
push 0x14
pop ecx
cdq
fst qword [ebp - 0x4c]
idiv ecx
push ecx
push ecx
fstp qword [esp]
mov ebx, edx
add ebx, 0x24e
mov dword [ebp - 0x30], ebx
call fcn.007a9424
fmul qword [0x80c2d8]
fadd qword [0x809fe0]
call fcn.007a9248
fld qword [ebp - 0x4c]
fstp qword [esp]
mov dword [ebp - 0x2c], eax
call fcn.007a9374
call fcn.007a9248
push eax
call fcn.007a923d
add esp, 0xc
imul eax, eax, 0x2d1
jmp 0x5635d5
call fcn.007a9331
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.007a9331
cdq
mov ecx, 0x258
idiv ecx
mov eax, dword [ebp - 0x20]
mov ebx, edx
sub ebx, esi
add eax, 0x190
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], eax
jmp 0x563537
call fcn.007a9331
cdq
mov ecx, 0x320
idiv ecx
sub edi, edx
mov dword [ebp - 0x20], edi
call fcn.007a9331
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
add edi, 0xfffffe70
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], edi
call fcn.007a9331
cdq
mov ecx, 0xc8
idiv ecx
lea eax, [edx + ebx - 0x64]
jmp 0x5635d5
call fcn.007a9331
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.007a9331
cdq
mov ecx, 0x258
idiv ecx
mov ebx, esi
sub ebx, edx
mov dword [ebp - 0x30], ebx
call fcn.007a9331
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x20]
lea eax, [edx + eax - 0x64]
mov dword [ebp - 0x2c], eax
lea eax, [ebx - 0x12c]
jmp 0x5635d5
call fcn.007a9331
cdq
mov ecx, 0x320
idiv ecx
sub edx, edi
mov dword [ebp - 0x20], edx
call fcn.007a9331
cdq
mov ecx, 0x258
idiv ecx
mov ebx, edx
sub ebx, esi
mov dword [ebp - 0x30], ebx
call fcn.007a9331
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x20]
lea eax, [edx + eax - 0x64]
mov dword [ebp - 0x2c], eax
lea eax, [ebx + 0x12c]
mov dword [ebp - 0x34], eax
xor edi, edi
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x88], edi
mov byte [ebp - 4], 0x21
jne 0x56380f
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x16c]
call fcn.00403131
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx*4]
push 1
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040e615
cmp dword [0x885468], edi
mov byte [ebp - 4], 0x23
jne 0x56362b
push 0x80004003
call fcn.007a760b
mov ecx, dword [0x885468]
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0xfc]
push eax
push 0xc0061508
push edi
push edi
push edi
push edi
lea eax, [ebp - 0xa8]
push eax
call fcn.0042c4b0
push dword [eax]
lea ecx, [ebp - 0x10]
call fcn.00431696
lea ecx, [ebp - 0xa8]
call fcn.00411a09
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 0x22
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x563684
push eax
call fcn.007a760b
lea eax, [ebp - 0x16c]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402b63
cmp eax, edi
pop ecx
jge 0x56369f
push eax
call fcn.007a760b
push 0xff
push ecx
mov eax, esp
mov dword [ebp - 0x48], esp
push 0x377
push eax
mov ecx, 0x885138
call fcn.006145b0
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0047e7f4
mov ecx, eax
call fcn.00410a67
mov ecx, eax
call fcn.004051e6
lea ecx, [ebp - 0x30c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.004025dd
mov ecx, eax
call fcn.00404855
push eax
mov byte [ebp - 4], 0x27
call fcn.00412986
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x30c]
push eax
mov byte [ebp - 4], 0x26
call fcn.00402b63
add esp, 0xc
cmp eax, edi
jge 0x563721
push eax
call fcn.007a760b
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x21
call fcn.0040278b
push esi
lea ecx, [ebp - 0x22c]
call fcn.00403131
push esi
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x28
call fcn.00403131
cmp dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x29
jne 0x56375f
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x94]
push eax
call fcn.00410d41
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x2a
jne 0x563782
push 0x80004003
call fcn.007a760b
mov eax, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x22c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x29c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push dword [ebp - 0x60]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x88]
test eax, eax
jge 0x5637c5
push 0x870978
push dword [ebp - 0x14]
push eax
call fcn.007a7619
lea ecx, [ebp - 0x94]
call fcn.004119e2
lea eax, [ebp - 0x29c]
push eax
mov byte [ebp - 4], 0x28
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5637eb
push eax
call fcn.007a760b
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563a69
push eax
call fcn.007a760b
jmp 0x563a69
xor esi, esi
push 0x20
pop eax
call fcn.007a88c0
mov eax, esp
push esi
push esi
push eax
push edi
call fcn.0041273f
pop ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.004038a0
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x21
call fcn.004025dd
mov ecx, eax
call fcn.00404855
mov ecx, eax
mov byte [ebp - 4], 0x2c
call fcn.004037d0
cmp eax, esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x64], esi
je 0x563882
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404545
cmp eax, esi
jge 0x563882
cmp eax, 0x80004002
je 0x563882
push eax
call fcn.007a760b
lea eax, [ebp - 0x2fc]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00402b63
cmp eax, esi
pop ecx
jge 0x56389d
push eax
call fcn.007a760b
cmp dword [ebp - 0x64], esi
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x64]
je 0x5638b4
call fcn.0040278b
inc edi
jmp 0x563811
call fcn.0040278b
call fcn.007a9331
cdq
idiv edi
push 0x20
pop eax
mov edi, edx
call fcn.007a88c0
mov eax, esp
push esi
push esi
push eax
push edi
call fcn.0041273f
pop ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.004038a0
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x21
call fcn.004025dd
mov ecx, eax
call fcn.00404855
mov ecx, eax
mov byte [ebp - 4], 0x30
call fcn.004037d0
cmp eax, esi
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x80], esi
je 0x563934
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x80]
call fcn.00404545
cmp eax, esi
jge 0x563934
cmp eax, 0x80004002
je 0x563934
push eax
call fcn.007a760b
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0x32
call fcn.00402b63
cmp eax, esi
pop ecx
jge 0x56394f
push eax
call fcn.007a760b
push esi
push 0xff
push 0xc0061508
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push esi
call fcn.0042285d
push esi
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push esi
mov byte [ebp - 4], 0x33
call fcn.0042282a
push esi
push ecx
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.0042280f
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 0x32
call fcn.0042bc17
add esp, 0x28
push dword [eax]
lea ecx, [ebp - 0x10]
call fcn.00431696
lea ecx, [ebp - 0x9c]
call fcn.00411a09
mov edi, 0x889398
push edi
lea ecx, [ebp - 0x2ac]
call fcn.00403131
push edi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x34
call fcn.00403131
mov eax, dword [ebp - 0x10]
cmp eax, esi
mov byte [ebp - 4], 0x35
jne 0x5639e9
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x10]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2ac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x14c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x108]
test eax, eax
jge 0x563a27
push 0x870988
push dword [ebp - 0x14]
push eax
call fcn.007a7619
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x34
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563a42
push eax
call fcn.007a760b
lea eax, [ebp - 0x2ac]
push eax
mov byte [ebp - 4], 0x32
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563a5d
push eax
call fcn.007a760b
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x21
call fcn.0040278b
cmp dword [ebp - 0xc4], 0
jne 0x563b54
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x24c]
call fcn.00403131
push esi
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x36
call fcn.00403131
cmp dword [ebp - 0x10], 0
mov byte [ebp - 4], 0x37
jne 0x563aab
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xa4]
push eax
call fcn.0042b18c
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x38
jne 0x563acf
push 0x80004003
call fcn.007a760b
mov eax, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x24c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x3c]
lea esi, [ebp - 0x11c]
push dword [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x88]
test eax, eax
jge 0x563b13
push 0x870978
push dword [ebp - 0x14]
push eax
call fcn.007a7619
lea ecx, [ebp - 0xa4]
call fcn.004119e2
lea eax, [ebp - 0x11c]
push eax
mov byte [ebp - 4], 0x36
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563b39
push eax
call fcn.007a760b
lea eax, [ebp - 0x24c]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563b54
push eax
call fcn.007a760b
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], eax
mov edi, 0x372
push edi
lea eax, [ebp - 0xd0]
mov esi, 0x885138
push eax
mov ecx, esi
mov byte [ebp - 4], 0x3c
call fcn.006144e8
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x24]
push ecx
push eax
mov byte [ebp - 4], 0x3d
call fcn.00433c60
mov eax, dword [ebp - 0xd0]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x563bac
add eax, 0xfffffff4
push eax
call fcn.00403211
pop ecx
push edi
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.006144e8
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x44]
push ecx
push eax
mov byte [ebp - 4], 0x3e
call fcn.00433c60
mov eax, dword [ebp - 0xac]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x563be8
add eax, 0xfffffff4
push eax
call fcn.00403211
pop ecx
push edi
lea eax, [ebp - 0xcc]
push eax
mov ecx, esi
call fcn.006144e8
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x40]
push ecx
push eax
mov byte [ebp - 4], 0x3f
call fcn.00433c60
mov eax, dword [ebp - 0xcc]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x563c24
add eax, 0xfffffff4
push eax
call fcn.00403211
pop ecx
push edi
lea eax, [ebp - 0xb4]
push eax
mov ecx, esi
call fcn.006144e8
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x18]
push ecx
push eax
mov byte [ebp - 4], 0x40
call fcn.00433c60
mov eax, dword [ebp - 0xb4]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x563c60
add eax, 0xfffffff4
push eax
call fcn.00403211
pop ecx
push 1
push dword [ebp - 0x44]
lea ecx, [ebp - 0x18c]
call fcn.0040e615
mov eax, dword [ebp - 0x40]
test eax, eax
mov byte [ebp - 4], 0x41
jne 0x563c88
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x18c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0x563cb2
push 0x870978
push dword [ebp - 0x14]
push eax
call fcn.007a7619
lea eax, [ebp - 0x18c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563ccd
push eax
call fcn.007a760b
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00403131
push esi
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x42
call fcn.00403131
mov ecx, dword [ebp - 0x40]
test ecx, ecx
mov byte [ebp - 4], 0x43
jne 0x563d06
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3c]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1ac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2dc]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], edx
cdq
movsd dword es:[edi], dword [esi]
sub eax, edx
push 0
sar eax, 1
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp - 0x14]
push ecx
mov dword [ebp - 0x48], ecx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x88]
test eax, eax
jge 0x563d53
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x2dc]
push eax
mov byte [ebp - 4], 0x42
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563d6e
push eax
call fcn.007a760b
lea eax, [ebp - 0x1ac]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563d89
push eax
call fcn.007a760b
push 0x889398
lea ecx, [ebp - 0x26c]
call fcn.00403131
mov eax, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0x44
jne 0x563db1
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
fild dword [ebp - 0x28]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x26c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x48], eax
call dword [ecx + 0x98]
test eax, eax
jge 0x563de6
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x26c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563e01
push eax
call fcn.007a760b
push 3
push 0x7d0
lea ecx, [ebp - 0x1cc]
call fcn.00403157
mov eax, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0x45
jne 0x563e2b
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1cc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x48], eax
call dword [ecx + 0x98]
test eax, eax
jge 0x563e5f
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x1cc]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563e7a
push eax
call fcn.007a760b
cmp dword [ebp + 0x10], 4
je 0x5640e6
cmp dword [ebp + 0x10], 5
je 0x5640e6
push 3
push 0
lea ecx, [ebp - 0x1ec]
call fcn.00403157
cmp dword [0x885468], 0
mov byte [ebp - 4], 0x46
jne 0x563eb4
push 0x80004003
call fcn.007a760b
mov ecx, dword [0x885468]
lea eax, [ebp - 0xbc]
push eax
call fcn.0042c47e
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x2cc]
call fcn.0040e615
mov eax, dword [ebp - 0x24]
test eax, eax
mov byte [ebp - 4], 0x48
jne 0x563eee
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1ec]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ecx + 0x258]
push esi
lea esi, [ecx + 0x320]
push esi
mov edx, dword [eax]
mov esi, 0xfffffed4
sub esi, ecx
push esi
mov esi, 0xfffffe70
sub esi, ecx
push esi
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2cc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x48], eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x94]
test eax, eax
jge 0x563f4b
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 0x47
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563f66
push eax
call fcn.007a760b
lea ecx, [ebp - 0xbc]
call fcn.004119e2
lea eax, [ebp - 0x1ec]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x563f8c
push eax
call fcn.007a760b
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x20c]
call fcn.00403131
push esi
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0x49
call fcn.00403131
mov eax, dword [ebp - 0x24]
test eax, eax
mov byte [ebp - 4], 0x4a
jne 0x563fc5
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x24]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x20c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x28c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x48], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x88]
test eax, eax
jge 0x564005
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x28c]
push eax
mov byte [ebp - 4], 0x49
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564020
push eax
call fcn.007a760b
lea eax, [ebp - 0x20c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x56403b
push eax
call fcn.007a760b
push 1
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2bc]
call fcn.0040e615
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x4b
jne 0x56405f
push 0x80004003
call fcn.007a760b
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x64]
test eax, eax
jge 0x564087
push 0x870978
push ebx
push eax
call fcn.007a7619
lea eax, [ebp - 0x2bc]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5640a2
push eax
call fcn.007a760b
cmp dword [ebp - 0x18], 0
jne 0x5640b2
push 0x80004003
call fcn.007a760b
mov esi, dword [ebp - 0x18]
mov eax, dword [esi]
push 5
push dword [ebp - 0x90]
push 0x64
push 0x64
push dword [ebp - 0x40]
push esi
call dword [eax + 0x90]
test eax, eax
jge 0x564340
push 0x870978
push esi
push eax
call fcn.007a7619
jmp 0x564340
mov ecx, dword [0x882864]
lea eax, [ebp - 0x98]
push eax
call fcn.0047813e
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e615
mov eax, dword [ebp - 0x18]
test eax, eax
mov byte [ebp - 4], 0x4d
jne 0x564120
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x12c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x48], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0x56414a
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 4], 0x4c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564165
push eax
call fcn.007a760b
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3c
call fcn.004119e2
mov esi, 0x889398
push esi
lea ecx, [ebp - 0x15c]
call fcn.00403131
push esi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x4e
call fcn.00403131
mov eax, dword [ebp - 0x18]
test eax, eax
mov byte [ebp - 4], 0x4f
jne 0x5641ad
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x18]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x15c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x13c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x48], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x88]
test eax, eax
jge 0x5641ed
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x13c]
push eax
mov byte [ebp - 4], 0x4e
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564208
push eax
call fcn.007a760b
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564223
push eax
call fcn.007a760b
push 3
push 0
lea ecx, [ebp - 0x19c]
call fcn.00403157
mov ecx, dword [0x882864]
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x50
call fcn.0047813e
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x17c]
call fcn.0040e615
mov eax, dword [ebp - 0x34]
cmp ebx, eax
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x28], ebx
jl 0x564269
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
cmp eax, ecx
mov dword [ebp - 0x14], eax
jl 0x564279
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x18], 0
jne 0x564289
push 0x80004003
call fcn.007a760b
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x18]
push eax
call fcn.007a923d
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x2c]
push eax
call fcn.007a923d
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x30]
push ecx
push ecx
mov edi, esp
push dword [ebp - 0x48]
lea esi, [ebp - 0x19c]
push eax
xor eax, eax
cmp dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x20]
setl al
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, dword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
xor eax, eax
cmp dword [ebp - 0x2c], edx
movsd dword es:[edi], dword [esi]
setl al
lea esi, [ebp - 0x17c]
add eax, dword [ebp - 0x14]
push eax
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x94]
test eax, eax
jge 0x5642ff
push 0x870978
push ebx
push eax
call fcn.007a7619
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 4], 0x51
call fcn.00402b63
test eax, eax
pop ecx
jge 0x56431a
push eax
call fcn.007a760b
lea ecx, [ebp - 0xa0]
call fcn.004119e2
lea eax, [ebp - 0x19c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564340
push eax
call fcn.007a760b
push 1
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1bc]
call fcn.0040e615
cmp dword [ebp - 0x10], 0
mov byte [ebp - 4], 0x53
jne 0x564364
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x8c]
push eax
call fcn.0042d245
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x54
jne 0x564388
push 0x80004003
call fcn.007a760b
mov ebx, dword [esi]
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x64]
test eax, eax
mov edi, 0x870978
jge 0x5643b0
push edi
push ebx
push eax
call fcn.007a7619
lea ecx, [ebp - 0x8c]
call fcn.004119e2
lea eax, [ebp - 0x1bc]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x5643d6
push eax
call fcn.007a760b
cmp dword [ebp - 0x10], 0
mov ebx, 0x80004003
jne 0x5643f3
push ebx
call fcn.007a760b
cmp dword [ebp - 0x10], 0
jne 0x5643f3
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xb0]
push eax
call fcn.0042d245
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x55
jne 0x564413
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
mov esi, dword [esi]
call fcn.0042d1f1
push 0xfffffffffffffffe
pop ecx
cdq
idiv ecx
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x6c]
test eax, eax
jge 0x564436
push edi
push esi
push eax
call fcn.007a7619
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x3c
call fcn.004119e2
cmp dword [ebp - 0x10], 0
jne 0x56445d
push ebx
call fcn.007a760b
cmp dword [ebp - 0x10], 0
jne 0x56445d
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0xb8]
push eax
call fcn.0042d245
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x56
jne 0x56447d
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
mov esi, dword [esi]
call fcn.0042d21b
push 0xfffffffffffffffe
pop ecx
cdq
idiv ecx
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x74]
test eax, eax
jge 0x5644a0
push edi
push esi
push eax
call fcn.007a7619
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x3c
call fcn.004119e2
cmp dword [ebp + 0xc], 2
jne 0x56453d
call fcn.007a9331
cdq
mov ecx, 0xbb8
idiv ecx
push 3
lea ecx, [ebp - 0x1dc]
add edx, 0x12c
push edx
call fcn.00403157
mov eax, dword [ebp - 0x18]
test eax, eax
mov byte [ebp - 4], 0x57
jne 0x5644ee
push ebx
call fcn.007a760b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1dc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x48], eax
call dword [ecx + 0x98]
test eax, eax
jge 0x564522
push 0x870978
push dword [ebp - 0x48]
push eax
call fcn.007a7619
lea eax, [ebp - 0x1dc]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x56453d
push eax
call fcn.007a760b
xor edi, edi
cmp dword [ebp - 0x10], edi
jne 0x56454a
push ebx
call fcn.007a760b
mov esi, dword [ebp - 0x10]
mov eax, dword [esi]
push 0x1ffffff
push esi
call dword [eax + 0xd8]
cmp eax, edi
jge 0x56456b
push 0x870988
push esi
push eax
call fcn.007a7619
push 0x889398
lea ecx, [ebp - 0x21c]
call fcn.00403131
cmp dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x58
jne 0x56458a
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
call fcn.0042921d
add eax, dword [ebp - 0xc0]
push 3
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00403157
mov eax, dword [ebp - 0x3c]
cmp eax, 0x64
mov byte [ebp - 4], 0x59
jle 0x5645bb
mov dword [ebp - 0x28], 0x32
jmp 0x5645c7
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x60]
sub eax, ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x10], edi
jne 0x5645d2
push ebx
call fcn.007a760b
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.00410d41
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x5a
jne 0x5645ee
push ebx
call fcn.007a760b
mov ebx, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x21c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x1fc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xff
push dword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x88]
test eax, eax
jge 0x56462f
push 0x870978
push ebx
push eax
call fcn.007a7619
lea ecx, [ebp - 0x38]
call fcn.004119e2
lea eax, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0x58
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564652
push eax
call fcn.007a760b
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402b63
test eax, eax
pop ecx
jge 0x56466d
push eax
call fcn.007a760b
cmp dword [ebp + 0x10], 0
jl 0x56482c
cmp dword [ebp + 0x10], 3
jle 0x564764
cmp dword [ebp + 0x10], 5
jg 0x56482c
push 3
push 0x10000000
lea ecx, [ebp - 0x25c]
call fcn.00403157
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x5d
jne 0x5646b1
push 0x80004003
call fcn.007a760b
call fcn.007a9331
cdq
mov ecx, 0x7530
idiv ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x18]
lea eax, [edx + eax - 0x3a98]
cdq
idiv dword [ebp - 0x3c]
mov esi, eax
call fcn.0042921d
add esi, eax
push 3
push esi
lea ecx, [ebp - 0x23c]
call fcn.00403157
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x5e
jne 0x5646fa
push 0x80004003
call fcn.007a760b
sub esp, 0x10
mov edi, esp
mov ebx, dword [ebp - 0x18]
lea esi, [ebp - 0x25c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x34]
lea esi, [ebp - 0x23c]
push dword [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x88]
test eax, eax
jge 0x56473a
push 0x870978
push ebx
push eax
call fcn.007a7619
lea eax, [ebp - 0x23c]
push eax
mov byte [ebp - 4], 0x5d
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564755
push eax
call fcn.007a760b
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x25c]
jmp 0x56481b
push 3
push 0x10000000
lea ecx, [ebp - 0x78]
call fcn.00403157
cmp dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x5b
jne 0x564787
push 0x80004003
call fcn.007a760b
mov ecx, dword [ebp - 0x24]
call fcn.0042921d
mov ecx, eax
mov eax, dword [ebp + 0x14]
cdq
idiv dword [ebp - 0x3c]
push 3
add ecx, eax
push ecx
lea ecx, [ebp - 0x27c]
call fcn.00403157
cmp dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x5c
jne 0x5647bc
push 0x80004003
call fcn.007a760b
sub esp, 0x10
mov edi, esp
mov ebx, dword [ebp - 0x24]
lea esi, [ebp - 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x34]
lea esi, [ebp - 0x27c]
push dword [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x88]
test eax, eax
jge 0x5647f9
push 0x870978
push ebx
push eax
call fcn.007a7619
lea eax, [ebp - 0x27c]
push eax
mov byte [ebp - 4], 0x5b
call fcn.00402b63
test eax, eax
pop ecx
jge 0x564814
push eax
call fcn.007a760b
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x78]
push eax
call fcn.00402b63
test eax, eax
pop ecx
jge 0x56482c
push eax
call fcn.007a760b
mov eax, dword [ebp - 0x84]
lea ecx, [eax + 0x6c]
call fcn.0047e619
push dword [ebp - 0x10]
mov ecx, eax
call fcn.00431696
lea ecx, [ebp - 0x18]
call fcn.004119e2
lea ecx, [ebp - 0x40]
call fcn.004119e2
lea ecx, [ebp - 0x44]
call fcn.004119e2
lea ecx, [ebp - 0x24]
call fcn.004119e2
mov eax, dword [ebp - 0x10]
test eax, eax
mov byte [ebp - 4], 8
je 0x564875
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x68]
jl 0x563310
mov eax, dword [ebp - 0x1c]
test eax, eax
mov byte [ebp - 4], 2
je 0x564895
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.0041967a
mov eax, dword [ebp - 0x5c]
and byte [ebp - 4], 0
test eax, eax
je 0x5648b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402616
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x328]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10