Function at 0x56ba00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
cmp word [0xb7cd78], 0xffff
jae 0x56ba17
inc word [0xb7cd78]
jmp 0x56ba25
call fcn.00563470
mov word [0xb7cd78], 1
push ebx
mov ebx, dword [esp + 0x74]
push ebp
push esi
mov esi, dword [esp + 0x70]
mov dword [0xb7cd60], 0
mov dword [ebx], 0
fld dword [esi]
fmul dword [0x858b38]
push edi
sub esp, 8
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [esi + 4]
fmul dword [0x858b38]
mov ebp, eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
mov edi, dword [esp + 0x80]
fld dword [edi]
mov dword [esp + 0x1c], eax
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [edi + 4]
fmul dword [0x858b38]
mov dword [esp + 0x7c], eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
add esp, 8
call fcn.00821b40
cmp ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x80], 0x3f800000
jne 0x56bd73
cmp ecx, eax
jne 0x56bb81
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x98]
push ecx
push ebx
lea edx, [esp + 0xa4]
push edx
push eax
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
mov ecx, dword [esp + 0x40]
push eax
mov eax, ecx
and eax, 0xf
shl eax, 4
mov edx, ebp
and edx, 0xf
add eax, edx
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0xb992b8]
push edx
push ecx
push ebp
call fcn.00407260
add esp, 8
push eax
call fcn.0056b5e0
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, ebp
mov dword [esp + 0x74], ecx
jge 0x56bc80
and eax, 0xf
mov dword [esp + 0x28], eax
xor eax, eax
test ebp, ebp
setle al
dec eax
and eax, ebp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x18], ecx
jl 0x56bbc0
mov dword [esp + 0x18], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x1c], eax
jl 0x56bbd6
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x58]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x4c]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x4c]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x48]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jle 0x56bba2
jmp 0x56cdac
and eax, 0xf
mov dword [esp + 0x28], eax
xor eax, eax
test ebp, ebp
setle al
dec eax
and eax, ebp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x18], ecx
jl 0x56bcb3
mov dword [esp + 0x18], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x1c], eax
jl 0x56bcc9
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x58]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x4c]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x4c]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x48]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jge 0x56bc95
jmp 0x56cdac
cmp ecx, eax
jne 0x56bf7f
cmp ebp, dword [esp + 0x74]
mov dword [esp + 0x78], ebp
mov eax, ecx
jge 0x56be86
and eax, 0xf
mov dword [esp + 0x28], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x14], eax
jmp 0x56bda6
mov ebp, dword [esp + 0x78]
mov eax, ebp
and eax, 0xf
mov dword [esp + 0x24], eax
xor eax, eax
test ebp, ebp
setle al
dec eax
and eax, ebp
cmp eax, 0x77
mov dword [esp + 0x1c], eax
jl 0x56bdca
mov dword [esp + 0x1c], 0x77
mov ebp, dword [esp + 0x14]
cmp ebp, 0x77
jl 0x56bdd8
mov ebp, 0x77
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
push ecx
mov ecx, dword [esp + 0x98]
push edx
push ebx
lea eax, [esp + 0xa4]
push eax
push ecx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
imul ebp, ebp, 0x78
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x58]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x4c]
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0xb992b8]
add ebp, ecx
push eax
lea ecx, [ebp*8 + 0xb7d0b8]
push ecx
call fcn.0056b5e0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x78], eax
jle 0x56bda2
jmp 0x56cdac
and eax, 0xf
xor edx, edx
test ecx, ecx
setle dl
mov dword [esp + 0x28], eax
dec edx
and edx, ecx
mov dword [esp + 0x14], edx
jmp 0x56bea1
mov ebp, dword [esp + 0x78]
mov eax, ebp
and eax, 0xf
mov dword [esp + 0x24], eax
xor eax, eax
test ebp, ebp
setle al
dec eax
and eax, ebp
cmp eax, 0x77
mov dword [esp + 0x1c], eax
jl 0x56bec5
mov dword [esp + 0x1c], 0x77
mov ebp, dword [esp + 0x14]
cmp ebp, 0x77
jl 0x56bed3
mov ebp, 0x77
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x98]
push ecx
push ebx
lea edx, [esp + 0xa4]
push edx
push eax
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
imul ebp, ebp, 0x78
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x58]
shl eax, 4
add eax, ecx
lea ecx, [eax + eax*2]
lea edx, [ecx*4 + 0xb992b8]
push edx
add ebp, dword [esp + 0x50]
lea eax, [ebp*8 + 0xb7d0b8]
push eax
call fcn.0056b5e0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x78], eax
jge 0x56be9d
jmp 0x56cdac
fld dword [edi]
sub esp, 8
fcomp dword [esi]
fld dword [edi + 4]
fsub dword [esi + 4]
fnstsw ax
fld dword [edi]
test ah, 0x41
fsub dword [esi]
fdivp st(1)
jne 0x56c691
fstp dword [esp + 0x28]
fld dword [esi]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [edi]
fmul dword [0x858b38]
mov ebp, eax
mov dword [esp + 0x80], ebp
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [esi + 4]
fmul dword [0x858b38]
mov dword [esp + 0x1c], eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [edi + 4]
fmul dword [0x858b38]
mov dword [esp + 0x7c], eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
add ebp, 0xffffffc5
mov dword [esp + 0x30], ebp
fild dword [esp + 0x30]
mov dword [esp + 0x24], eax
fmul dword [0x858b40]
fsub dword [esi]
fmul dword [esp + 0x28]
fadd dword [esi + 4]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
add esp, 8
call fcn.00821b40
mov ebp, eax
mov eax, dword [esp + 0x74]
cmp ebp, eax
mov dword [esp + 0x74], eax
jle 0x56c130
cmp eax, ebp
jg 0x56c1fb
mov eax, dword [esp + 0x78]
and eax, 0xf
mov dword [esp + 0x10], eax
nop
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
push ecx
mov ecx, dword [esp + 0x98]
push edx
push ebx
lea eax, [esp + 0xa4]
push eax
push ecx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x3c]
push eax
mov eax, ecx
and eax, 0xf
shl eax, 4
add eax, edx
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0xb992b8]
push eax
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.00407260
add esp, 8
push eax
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
add esp, 0x38
inc eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jle 0x56c080
jmp 0x56c1fb
cmp eax, ebp
jl 0x56c1fb
mov eax, dword [esp + 0x78]
and eax, 0xf
mov dword [esp + 0x10], eax
jmp 0x56c150
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x3c]
push eax
mov eax, ecx
and eax, 0xf
shl eax, 4
add eax, edx
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0xa8]
push edx
push ecx
push eax
call fcn.00407260
add esp, 8
push eax
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
add esp, 0x38
dec eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jge 0x56c150
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
jge 0x56c48a
mov ecx, dword [esp + 0x78]
add ecx, 0xffffffc5
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
sub esp, 8
fmul dword [0x858b40]
fsub dword [esi]
fmul dword [esp + 0x28]
fadd dword [esi + 4]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
add esp, 8
call fcn.00821b40
mov ebp, eax
mov eax, dword [esp + 0x74]
cmp ebp, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x74], eax
jle 0x56c36e
cmp eax, ebp
jg 0x56c471
mov ecx, dword [esp + 0x78]
xor edx, edx
mov eax, ecx
and eax, 0xf
test ecx, ecx
setle dl
mov dword [esp + 0x2c], eax
dec edx
and edx, ecx
mov dword [esp + 0x18], edx
lea ebx, [ebx]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x28], ecx
jl 0x56c2ae
mov dword [esp + 0x28], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x56c2c4
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x54]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x5c]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x48]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jle 0x56c290
jmp 0x56c46d
cmp eax, ebp
jl 0x56c471
mov ecx, dword [esp + 0x78]
mov eax, ecx
and eax, 0xf
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x56c3af
mov dword [esp + 0x24], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x56c3c5
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x58]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x58]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x48]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jge 0x56c391
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
jl 0x56c214
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp ebp, eax
mov dword [esp + 0x74], ebp
mov eax, ecx
jge 0x56c596
and eax, 0xf
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x56c4d3
mov dword [esp + 0x24], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x56c4e9
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x58]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x58]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x54]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jle 0x56c4b5
jmp 0x56cdac
and eax, 0xf
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x78], eax
jmp 0x56c5b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x56c5ce
mov dword [esp + 0x24], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x56c5e4
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x58]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x58]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x54]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jge 0x56c5b0
jmp 0x56cdac
fstp dword [esp + 0x30]
fld dword [esi]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [edi]
fmul dword [0x858b38]
mov ebp, eax
mov dword [esp + 0x80], ebp
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [esi + 4]
fmul dword [0x858b38]
mov dword [esp + 0x18], eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
fld dword [edi + 4]
fmul dword [0x858b38]
mov dword [esp + 0x7c], eax
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
call fcn.00821b40
add ebp, 0xffffffc4
mov dword [esp + 0x34], ebp
fild dword [esp + 0x34]
mov dword [esp + 0x20], eax
fmul dword [0x858b40]
fsub dword [esi]
fmul dword [esp + 0x30]
fadd dword [esi + 4]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
add esp, 8
call fcn.00821b40
mov ebp, eax
mov eax, dword [esp + 0x74]
cmp ebp, eax
mov dword [esp + 0x74], eax
jle 0x56c833
cmp eax, ebp
jg 0x56c8fe
mov eax, dword [esp + 0x78]
and eax, 0xf
mov dword [esp + 0x1c], eax
jmp 0x56c780
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
mov eax, dword [esp + 0x98]
push ecx
push ebx
lea edx, [esp + 0xa4]
push edx
push eax
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x48]
push eax
mov eax, ecx
and eax, 0xf
shl eax, 4
add eax, edx
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0xb992b8]
push eax
push ecx
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.00407260
add esp, 8
push eax
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
add esp, 0x38
inc eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jle 0x56c780
jmp 0x56c8fe
cmp eax, ebp
jl 0x56c8fe
mov eax, dword [esp + 0x78]
and eax, 0xf
mov dword [esp + 0x1c], eax
jmp 0x56c850
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x48]
push eax
mov eax, ecx
and eax, 0xf
shl eax, 4
add eax, edx
lea eax, [eax + eax*2]
lea edx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0xa8]
push edx
push ecx
push eax
call fcn.00407260
add esp, 8
push eax
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
add esp, 0x38
dec eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jge 0x56c850
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
dec eax
cmp eax, ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
jle 0x56cb96
jmp 0x56c920
mov ecx, dword [esp + 0x78]
add ecx, 0xffffffc4
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
sub esp, 8
fmul dword [0x858b40]
fsub dword [esi]
fmul dword [esp + 0x30]
fadd dword [esi + 4]
fmul dword [0x858b38]
fadd dword [0x858b34]
fstp qword [esp]
call fcn.008219f0
add esp, 8
call fcn.00821b40
mov ebp, eax
mov eax, dword [esp + 0x74]
cmp ebp, eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x74], eax
jle 0x56ca77
cmp eax, ebp
jg 0x56cb7d
mov ecx, dword [esp + 0x78]
xor edx, edx
mov eax, ecx
and eax, 0xf
test ecx, ecx
setle dl
mov dword [esp + 0x2c], eax
dec edx
and edx, ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x20], ecx
jl 0x56c9b4
mov dword [esp + 0x20], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x56c9ca
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x54]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x54]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x4c]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jle 0x56c996
jmp 0x56cb79
cmp eax, ebp
jl 0x56cb7d
mov ecx, dword [esp + 0x78]
mov eax, ecx
and eax, 0xf
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x1c], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x20], ecx
jl 0x56cabe
mov dword [esp + 0x20], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x56cad4
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x64]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x54]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x54]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x4c]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jge 0x56caa0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
dec eax
cmp eax, ecx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], eax
jg 0x56c920
mov ecx, dword [esp + 0x18]
cmp ebp, ecx
jge 0x56cca6
mov eax, ebp
mov ebp, dword [esp + 0x10]
mov ecx, ebp
and ecx, 0xf
mov dword [esp + 0x2c], ecx
xor ecx, ecx
test ebp, ebp
setle cl
mov dword [esp + 0x74], eax
dec ecx
and ecx, ebp
mov dword [esp + 0x78], ecx
jmp 0x56cbc9
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x56cbe3
mov dword [esp + 0x24], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x56cbf9
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x58]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x58]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x50]
add esp, 0x38
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jle 0x56cbc5
jmp 0x56cdac
cmp ebp, ecx
mov dword [esp + 0x74], ebp
jl 0x56cdac
mov ecx, dword [esp + 0x10]
mov eax, ecx
and eax, 0xf
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setle al
dec eax
and eax, ecx
mov dword [esp + 0x78], eax
lea ecx, [ecx]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebp, eax
mov edx, 0x77
and ebp, 0xf
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x56ccee
mov dword [esp + 0x24], edx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cmp eax, edx
mov dword [esp + 0x28], eax
jl 0x56cd04
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
push ebx
lea ecx, [esp + 0xa4]
push ecx
push edx
push edi
push esi
lea ecx, [esp + 0x84]
call fcn.0040ef50
push eax
mov eax, dword [esp + 0x5c]
shl ebp, 4
add ebp, eax
lea eax, [ebp + ebp*2]
lea ecx, [eax*4 + 0xb992b8]
mov eax, dword [esp + 0x58]
imul eax, eax, 0x78
push ecx
add eax, dword [esp + 0x58]
lea edx, [eax*8 + 0xb7d0b8]
push edx
call fcn.0056b5e0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x50]
add esp, 0x38
dec eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jge 0x56ccd0
fld dword [esp + 0x80]
fcomp dword [0x858624]
fnstsw ax
test ah, 5
jp 0x56cdcd
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret