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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
push ebx
mov ebx, dword [ebp + 8]
fld dword [ebx + 0xf44]
mov eax, dword [ebp + 0x20]
fdivr qword [0x82dc58]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov esi, dword [edi + 0x28]
mov dword [esp + 0x18], esi
fstp dword [esp + 0x10]
fldz
fst dword [esp + 0x2c]
test eax, eax
je 0x56b8e3
fld dword [eax + 0x100]
fstp dword [esp + 0x2c]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0xc]
cdq
mov ecx, 0x19
idiv ecx
test edx, edx
jne 0x56b97e
mov edx, dword [ebp + 0x1c]
cmp byte [edx + 0xc], 0
jne 0x56b97e
mov eax, dword [ebp + 0x18]
sub esp, 8
cmp dword [eax + 0xc], 0
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
jne 0x56b94d
mov ecx, dword [ebp + 0x14]
add ecx, 0x360
push ecx
call fcn.00561300
fstp qword [esp + 0x20]
mov edx, ebx
call fcn.00562ca0
fld qword [0x87d2f0]
mov edx, dword [ebp + 0x18]
fmul st(1), st(0)
fxch st(1)
fmul qword [esp + 0x20]
fmulp st(1)
fstp dword [edx + 4]
jmp 0x56b97c
mov eax, dword [ebp + 0x14]
add eax, 0x360
push eax
call fcn.00561300
fstp qword [esp + 0x20]
mov edx, ebx
call fcn.00562ca0
fmul qword [0x82dfa0]
mov ecx, dword [ebp + 0x18]
fmul qword [esp + 0x20]
fmul qword [0x87d2f0]
fstp dword [ecx + 4]
fldz
mov eax, dword [ebp + 0x18]
inc dword [eax + 0xc]
mov eax, dword [ebp + 0x1c]
sub esp, 8
cmp byte [eax + 0xc], 0
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56b9e8
cmp byte [eax + 0xd], 0
je 0x56b9af
mov edx, dword [ebp + 0xc]
add edx, 0x358
push edx
jmp 0x56b9b8
mov eax, dword [edi + 0x28]
add eax, 0x114
push eax
call fcn.00561300
fstp dword [esp + 0x1c]
fldz
mov ecx, dword [ebp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add ecx, 0x78
fstp dword [esp]
push ecx
call fcn.00561300
fmul dword [esp + 0x1c]
jmp 0x56ba8d
cmp byte [eax + 0xd], 0
je 0x56b9fa
mov edx, dword [ebp + 0xc]
add edx, 0x358
push edx
jmp 0x56ba03
mov eax, dword [edi + 0x28]
add eax, 0x114
push eax
call fcn.00561300
fstp dword [esp + 0x1c]
fldz
mov ecx, dword [ebp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
sub ecx, 0xffffff80
fstp dword [esp]
push ecx
call fcn.00561300
mov edx, dword [ebp + 0x18]
fadd dword [edx + 4]
mov eax, dword [ebp + 0xc]
sub esp, 8
add eax, 0xbf8
fmul dword [esp + 0x24]
fstp qword [esp + 0x28]
fld1
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push eax
call fcn.00561300
fmul qword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fcomp qword [0x82dc20]
fnstsw ax
test ah, 5
jp 0x56ba75
fldz
fstp dword [esp + 0xc]
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + 0xd], 0
je 0x56ba91
fld1
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jp 0x56ba91
fldz
fstp dword [esp + 0xc]
fld dword [edi + 0xd0]
mov eax, dword [ebp + 0x1c]
cmp byte [eax + 0xc], 0
fmul dword [esp + 0xc]
fstp dword [esp + 0xc]
je 0x56bab7
fld dword [esp + 0xc]
fmul qword [0x82e3d8]
jmp 0x56bd62
cmp byte [eax + 0xd], 0
jne case.default.0x56bace
mov eax, dword [esi + 0x24]
dec eax
cmp eax, 3
ja case.default.0x56bace
jmp dword [eax*4 + 0x56cb84]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x56bae9
fild dword [esp + 0x1c]
jmp 0x56bd5e
mov ecx, dword [esi + 0x79c]
sub ecx, dword [esi + 0x798]
lea eax, [esi + 0x78c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor edi, edi
lea ecx, [edx + eax - 1]
mov dword [esp + 0x1c], edi
test ecx, ecx
jle 0x56bbcd
lea esp, [esp]
fld dword [ebx + 0xf04]
mov esi, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
fstp dword [esp]
push edx
add esi, 0x78c
call fcn.004020d0
mov esi, eax
call fcn.00561ab0
fld dword [ebx + 0xf04]
mov esi, dword [esp + 0x18]
push ecx
lea eax, [esp + 0x44]
fstp dword [esp]
inc edi
push eax
add esi, 0x78c
call fcn.004020d0
mov esi, eax
call fcn.00561ab0
fld qword [esp + 0x40]
fsub qword [esp + 0x30]
fld qword [esp + 0x48]
fsub qword [esp + 0x38]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call fcn.0076fa50
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fiadd dword [esp + 0x1c]
call fcn.0076f850
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x79c]
sub ecx, dword [eax + 0x798]
add eax, 0x78c
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx - 1]
cmp edi, edx
jl 0x56bb20
fild dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [ebp + 0x10]
fdiv qword [0x82e408]
jmp 0x56bd5e
fldz
mov eax, dword [edi + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add eax, 0x61c
fstp dword [esp]
push eax
call fcn.00561300
fstp dword [esp + 0x18]
fldz
mov ecx, dword [edi + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add ecx, 0x678
fstp dword [esp]
push ecx
call fcn.00561300
fstp dword [esp + 0x20]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x56bc40
fild dword [esp + 0x1c]
jmp 0x56bd5e
fld dword [esp + 0x20]
push ecx
fld dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fmul qword [0x87d2f0]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004099e0
fmul qword [0x82e400]
add esp, 4
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fdiv qword [0x82e408]
jmp 0x56bd5e
fldz
mov edx, dword [edi + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add edx, 0x61c
fstp dword [esp]
push edx
call fcn.00561300
fstp dword [esp + 0x20]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x56bcbc
fild dword [esp + 0x1c]
jmp 0x56bd5e
fld dword [esp + 0x20]
push ecx
fmul st(0), st(0)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004099e0
fmul qword [0x82e400]
add esp, 4
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fdiv qword [0x82e408]
jmp 0x56bd5e
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x56bd03
mov ecx, dword [esi + 0x30]
imul ecx, eax
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jmp 0x56bd5e
fldz
mov edx, dword [edi + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add edx, 0x61c
fstp dword [esp]
push edx
call fcn.00561300
fstp dword [esp + 0x20]
fldz
mov eax, dword [edi + 0x28]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add eax, 0x678
fstp dword [esp]
push eax
call fcn.00561300
fmul dword [esp + 0x20]
fdiv qword [0x82e3f8]
fmul qword [0x82def0]
fadd qword [0x7a8008]
fmul dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov edx, dword [ebp + 0x18]
fdiv dword [esp + 0x10]
fadd dword [edx]
fstp dword [edx]
cmp byte [esi + 0x34], 0
jne 0x56bd81
cmp byte [edi + 0x2c], 0
je 0x56bd87
cmp byte [edi + 0x2d], 0
jne 0x56bd8b
fldz
fstp dword [edx]
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + 0xc], 0
mov byte [esp + 0x2b], 1
jne 0x56bdf9
mov edi, dword [ebp + 0x14]
cmp byte [edi + 0xa4a], 0
je 0x56bdf9
mov eax, dword [esi + 0x24]
cmp eax, 1
je 0x56bdc0
cmp eax, 4
je 0x56bdc0
cmp eax, 3
jne 0x56bdcb
mov ecx, dword [esi + 0x30]
imul ecx, dword [esi + 0x2c]
jmp 0x56bdc3
mov ecx, dword [esi + 0x2c]
test ecx, ecx
jne 0x56bdd0
mov byte [esp + 0x2b], cl
mov ecx, 1
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
xor esi, esi
test eax, eax
je 0x56bded
jmp 0x56bde0
cmp dword [eax + 8], edi
jne 0x56bde6
inc esi
mov eax, dword [eax + 4]
test eax, eax
jne 0x56bde0
sub ecx, esi
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp dword [edx]
fld1
fcomp dword [edx]
fnstsw ax
test ah, 0x41
jp 0x56cb78
mov ecx, dword [ebp + 0xc]
add ecx, 0x638
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 0x18]
fld dword [eax]
mov edx, dword [ebp + 0x1c]
fsub qword [0x7a8008]
fstp dword [eax]
cmp byte [edx + 0xc], 0
je 0x56be8f
lea ecx, [ebx + 0xf20]
call fcn.00571ad0
fldz
mov edi, eax
fst dword [esp + 0x40]
mov esi, dword [esp + 0x40]
fstp dword [esp + 0x44]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x54]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xc]
xor ecx, ecx
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xf44]
sub ecx, dword [esi + 0xf40]
xor edx, edx
mov dword [eax + 0xc], edx
mov eax, 0x2fa0be83
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [edi + 0x110]
call fcn.00572c90
mov dword [esp + 0x1c], edi
jmp 0x56beec
cmp dword [ebx + 0xf10], 0
lea edi, [ebx + 0xf0c]
jne 0x56bea5
mov esi, edi
call fcn.00573e50
mov ecx, dword [edi + 0x10]
mov eax, 0x8000
cdq
idiv ecx
dec dword [edi + 4]
mov esi, eax
mov eax, dword [edi + 4]
cdq
idiv esi
mov dword [esp + 0x10], edx
mov edx, dword [edi + 0xc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + edx*4]
cdq
idiv esi
mov esi, dword [edi + 8]
imul edx, ecx
add edx, dword [esi + eax*4]
je 0x56bee1
call fcn.005603c0
jmp 0x56bee3
xor eax, eax
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
mov edi, eax
mov edx, dword [ebp + 0x14]
fldz
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov dword [edi + 8], edx
mov edx, dword [ebp + 0x20]
mov dword [edi + 0xc], esi
mov dword [edi + 0x14], edx
mov edx, dword [eax + 8]
sub esp, 8
mov dword [edi + 0x10], edx
fstp dword [esp + 4]
inc dword [eax + 8]
fld dword [ebx + 0xf04]
cmp byte [ecx + 0xc], 0
fstp dword [esp]
jne 0x56c03b
mov eax, dword [ebp + 0x14]
cmp byte [eax + 0xa76], 0
je 0x56bff0
cmp byte [ecx + 0xd], 0
je 0x56bf88
lea ecx, [esi + 0x804]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
mov edx, ebx
call fcn.00562ca0
fmul qword [esp + 0x10]
sub esp, 8
add esi, 0x7a8
fmul qword [0x87d2f0]
fstp qword [esp + 0x18]
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push esi
call fcn.00561300
fadd qword [esp + 0x10]
jmp 0x56c0af
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
add eax, 0x4ac
push eax
call fcn.00561300
fstp dword [esp + 0x10]
fldz
mov ecx, dword [ebp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
cmp byte [ecx + 0xd], 0
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56bfc1
add esi, 0x804
push esi
jmp 0x56bfcd
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
add eax, 0x508
push eax
call fcn.00561300
fstp dword [esp + 0x18]
mov edx, ebx
call fcn.00562ca0
fmul dword [esp + 0x18]
fmul qword [0x87d2f0]
fadd dword [esp + 0x10]
jmp 0x56c0af
mov esi, eax
lea ecx, [esi + 0x8c4]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
mov edx, ebx
call fcn.00562ca0
fmul qword [esp + 0x10]
sub esp, 8
add esi, 0x868
fmul qword [0x87d2f0]
fstp qword [esp + 0x18]
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push esi
call fcn.00561300
fadd qword [esp + 0x10]
jmp 0x56c0af
cmp byte [ecx + 0xd], 0
je 0x56c04a
lea edx, [esi + 0x7a8]
push edx
jmp 0x56c057
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
add ecx, 0x4ac
push ecx
call fcn.00561300
fstp dword [esp + 0xc]
fldz
mov edx, dword [ebp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
cmp byte [edx + 0xd], 0
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c084
add esi, 0x804
push esi
jmp 0x56c091
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
add ecx, 0x508
push ecx
call fcn.00561300
fstp dword [esp + 0x18]
mov edx, ebx
call fcn.00562ca0
fmul dword [esp + 0x18]
fmul qword [0x87d2f0]
fadd dword [esp + 0xc]
fstp dword [esp + 0xc]
push ecx
fld dword [esp + 0x10]
fchs
fstp dword [esp]
call fcn.00560bc0
mov eax, dword [ebp + 0x20]
fstp dword [esp + 0x10]
add esp, 4
test eax, eax
je 0x56c0d5
fld dword [eax + 0x68]
jmp 0x56c106
fldz
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
sub esp, 8
fstp dword [esp + 4]
add eax, 0x5c0
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fchs
push ecx
fstp dword [esp]
call fcn.00560bc0
add esp, 4
mov eax, dword [ebp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fadd dword [esp + 0xc]
fstp dword [esp + 0xc]
fstp dword [edi + 0xa0]
test eax, eax
je 0x56c143
cmp byte [eax + 0xa54], 0
je 0x56c143
lea edx, [ebx + 0x50]
call fcn.005813d0
and eax, 0x7fff
mov dword [edi + 0xa4], eax
jmp 0x56c14d
mov dword [edi + 0xa4], 0
fldz
mov esi, dword [ebp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
cmp byte [esi + 0xd], 0
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c16f
mov ecx, dword [esp + 0x28]
push ecx
jmp 0x56c17b
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
add eax, 0x398
push eax
call fcn.00561300
fstp dword [esp + 0x18]
fld1
mov ecx, dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fmul dword [esp + 0x18]
sub esp, 8
fstp dword [edi + 0x90]
cmp byte [esi + 0xc], 0
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
jne 0x56c4e9
mov edx, dword [ebp + 0x14]
add edx, 0x304
push edx
call fcn.00561300
fstp qword [esp + 0x10]
mov esi, ebx
call fcn.00562d30
fmul qword [esp + 0x10]
mov eax, dword [ebp + 0x14]
sub esp, 8
fstp dword [edi + 0x6c]
add eax, 0x3bc
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
cmp dword [ebp + 0x14], 0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edi + 0x70]
je 0x56c260
mov ecx, dword [ebp + 0x14]
cmp byte [ecx + 0xa48], 0
jne 0x56c260
fstp st(0)
sub esp, 8
fldz
mov edx, ecx
fstp dword [esp + 4]
add edx, 0x97c
fld dword [ebx + 0xf04]
fstp dword [esp]
push edx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov eax, dword [ebp + 0x14]
fstp dword [edi + 0x74]
fldz
sub esp, 8
fstp dword [esp + 4]
add eax, 0x418
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
mov esi, ebx
call fcn.00562d30
fmul qword [esp + 0x10]
mov ecx, dword [ebp + 0x14]
sub esp, 8
fstp dword [edi + 0x78]
add ecx, 0x474
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov edx, dword [ebp + 0x14]
sub esp, 8
fstp dword [edi + 0x7c]
add edx, 0x4d0
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push edx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov eax, dword [ebp + 0x14]
sub esp, 8
fstp dword [edi + 0x80]
add eax, 0x52c
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov ecx, dword [ebp + 0x14]
sub esp, 8
fstp dword [edi + 0x84]
add ecx, 0x588
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov edx, dword [ebp + 0x1c]
sub esp, 8
fstp dword [edi + 0x88]
cmp byte [edx + 0xd], 0
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c387
mov eax, dword [ebp + 0xc]
add eax, 0x3b4
push eax
jmp 0x56c394
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x28]
add edx, 0x170
push edx
call fcn.00561300
fstp dword [esp + 0x18]
fldz
mov eax, dword [ebp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add eax, 0xdc
fstp dword [esp]
push eax
call fcn.00561300
fadd dword [edi + 0x70]
mov esi, dword [ebp + 0x1c]
sub esp, 8
fmul dword [esp + 0x20]
fstp dword [edi + 0x94]
cmp byte [esi + 0xd], 0
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c3f1
mov ecx, dword [ebp + 0xc]
add ecx, 0x410
push ecx
jmp 0x56c3fd
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
add eax, 0x6d4
push eax
call fcn.00561300
fstp dword [esp + 0x18]
fldz
mov ecx, dword [ebp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add ecx, 0x920
fstp dword [esp]
push ecx
call fcn.00561300
fadd dword [edi + 0x74]
fmul dword [esp + 0x18]
fstp dword [edi + 0x98]
cmp byte [esi + 0xd], 0
je 0x56c6bc
fld1
mov eax, dword [ebp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x34]
add eax, 0xc54
fstp dword [esp]
push eax
call fcn.00561300
mov esi, dword [ebp + 0x20]
fld dword [esi + 0x70]
mov eax, dword [ebp + 0xc]
fadd qword [0x7a8008]
sub esp, 8
add eax, 0xc54
fmulp st(1)
fmul dword [edi + 0x94]
fstp dword [edi + 0x94]
fld1
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push eax
call fcn.00561300
fld dword [esi + 0x74]
fadd qword [0x7a8008]
mov edx, dword [ebp + 0xc]
sub esp, 8
add edx, 0xed8
fmulp st(1)
fmul dword [edi + 0x98]
fstp dword [edi + 0x98]
fld1
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push edx
call fcn.00561300
fld dword [esi + 0x8c]
fadd qword [0x7a8008]
fmulp st(1)
fmul dword [edi + 0x90]
fstp dword [edi + 0x90]
jmp 0x56c6bf
mov eax, dword [ebp + 0xc]
add eax, 0x860
push eax
call fcn.00561300
fstp qword [esp + 0x10]
mov esi, ebx
call fcn.00562d30
fmul qword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x6c]
add ecx, 0x918
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
mov edx, ebx
call fcn.00562ca0
fmul qword [esp + 0x10]
cmp dword [ebp + 0x14], 0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edi + 0x70]
je 0x56c587
mov edx, dword [ebp + 0x14]
cmp byte [edx + 0xa48], 0
jne 0x56c587
mov eax, dword [ebp + 0xc]
fstp st(0)
fldz
sub esp, 8
fstp dword [esp + 4]
add eax, 0x974
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
mov edx, ebx
call fcn.00562ca0
fmul qword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
fstp dword [edi + 0x74]
fldz
sub esp, 8
fstp dword [esp + 4]
add ecx, 0x9d0
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
mov esi, ebx
call fcn.00562d30
fmul qword [esp + 0x10]
mov edx, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x78]
add edx, 0xa2c
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push edx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov eax, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x7c]
add eax, 0xa88
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x80]
add ecx, 0xae4
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov edx, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x84]
add edx, 0xb40
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push edx
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
mov eax, dword [ebp + 0xc]
sub esp, 8
fstp dword [edi + 0x88]
add eax, 0xb9c
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fstp qword [esp + 0x10]
call fcn.00562d30
fmul qword [esp + 0x10]
fstp dword [edi + 0x8c]
mov esi, dword [ebp + 0x20]
fld dword [esp + 0xc]
mov edx, ebx
fstp dword [esp + 0x18]
call fcn.00562ce0
fstp dword [edi + 0x9c]
mov edx, ebx
fldz
fstp dword [edi + 0xf8]
call fcn.00562ca0
fstp dword [edi + 0xf4]
fldz
mov ecx, dword [ebp + 0x1c]
fst dword [edi + 0x68]
sub esp, 8
fstp dword [esp + 4]
cmp byte [ecx + 0xc], 0
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c75d
mov edx, ecx
cmp byte [edx + 0xd], 0
je 0x56c71a
mov eax, dword [ebp + 0xc]
add eax, 0x2fc
push eax
jmp 0x56c727
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x28]
add edx, 0xb8
push edx
call fcn.00561300
fstp dword [esp + 0xc]
fldz
mov eax, dword [ebp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add eax, 0x1c
fstp dword [esp]
push eax
call fcn.00561300
fadd dword [edi + 0x6c]
fmul qword [0x82df58]
fmul dword [esp + 0xc]
jmp 0x56c7aa
cmp byte [ecx + 0xd], 0
je 0x56c76f
mov edx, dword [ebp + 0xc]
add edx, 0x2fc
push edx
jmp 0x56c77c
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
add ecx, 0xb8
push ecx
call fcn.00561300
fstp dword [esp + 0xc]
fldz
mov edx, dword [ebp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add edx, 0x24
fstp dword [esp]
push edx
call fcn.00561300
fadd dword [edi + 0x6c]
fmul dword [esp + 0xc]
mov eax, dword [ebp + 0x1c]
fstp dword [edi + 0xfc]
cmp byte [eax + 0xd], 0
fldz
fst qword [esp + 0x30]
fstp qword [esp + 0x38]
je 0x56c7e2
fld qword [esi + 0x18]
fadd qword [esi + 0x48]
fld qword [esi + 0x20]
fadd qword [esi + 0x50]
fxch st(1)
fst qword [edi + 0x38]
fstp qword [edi + 0x48]
fst qword [edi + 0x40]
fstp qword [edi + 0x50]
jmp 0x56c87a
push 1
push ebx
mov ebx, dword [ebp + 0x10]
lea edi, [esp + 0x90]
call fcn.0056ae90
cmp byte [esp + 0x2b], 0
mov edx, dword [eax]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x38], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x3c], edx
mov edx, dword [eax + 8]
mov dword [ecx + 0x40], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x44], edx
mov edx, dword [eax]
mov dword [ecx + 0x48], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x4c], edx
mov edx, dword [eax + 8]
mov dword [ecx + 0x50], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x54], eax
mov byte [esp + 0x2a], 0
je 0x56c873
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x2a]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1c]
push edx
push edi
push ebx
lea eax, [esp + 0xb8]
push eax
push ecx
call fcn.005650f0
fld qword [eax]
cmp byte [esp + 0x2a], 0
fsub qword [edi + 0x38]
fld qword [eax + 8]
fsub qword [edi + 0x40]
fxch st(1)
fstp qword [esp + 0x30]
fstp qword [esp + 0x38]
jne 0x56cb63
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x1c]
fld dword [esp + 0x18]
mov esi, dword [ebp + 0x14]
push ecx
fstp dword [esp]
call fcn.004099a0
fstp qword [esp + 0x54]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004099c0
fld qword [esp + 0x54]
mov edx, dword [ebp + 0x1c]
fstp qword [edi + 0x58]
add esp, 4
sub esp, 8
fstp qword [edi + 0x60]
cmp byte [edx + 0xc], 0
fldz
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
fstp dword [esp]
je 0x56c927
mov eax, edx
cmp byte [eax + 0xd], 0
je 0x56c8d6
mov ecx, dword [ebp + 0xc]
add ecx, 0x46c
push ecx
jmp 0x56c8e2
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
add eax, 0x1cc
push eax
call fcn.00561300
fstp dword [esp + 0x1c]
fldz
mov ecx, dword [ebp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx + 0xf04]
add ecx, 0xd4
fstp dword [esp]
push ecx
call fcn.00561300
fadd dword [edi + 0x78]
fmul dword [esp + 0x1c]
fld st(0)
fmul qword [edi + 0x58]
fld qword [edi + 0x60]
fmulp st(2)
fld qword [0x82e0e0]
fmul st(1), st(0)
jmp 0x56c97b
cmp byte [edx + 0xd], 0
je 0x56c938
mov eax, dword [ebp + 0xc]
add eax, 0x46c
push eax
jmp 0x56c945
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x28]
add edx, 0x1cc
push edx
call fcn.00561300
fstp dword [esp + 0x1c]
fldz
sub esp, 8
fstp dword [esp + 4]
lea eax, [esi + 0x138]
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
fadd dword [edi + 0x78]
fmul dword [esp + 0x1c]
fld st(0)
fmul qword [edi + 0x58]
fld qword [edi + 0x60]
mov ecx, dword [ebp + 0x1c]
fmulp st(2)
fstp qword [edi + 0x58]
fstp qword [edi + 0x60]
cmp byte [ecx + 0xc], 0
jne 0x56caae
cmp byte [esi + 0xa77], 0
je 0x56ca61
fld qword [edi + 0x60]
fld qword [edi + 0x58]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call fcn.0076fa50
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x56ca36
fldz
push ecx
fstp dword [esp]
call fcn.004099a0
fldz
fcom st(1)
add esp, 4
fnstsw ax
fstp st(1)
test ah, 5
jp 0x56c9dd
fst dword [edi + 0x68]
jmp 0x56c9e6
fld dword [0x82e3f0]
fstp dword [edi + 0x68]
cmp byte [esi + 0xa4a], 0
je 0x56ca41
cmp byte [esi + 0xa78], 0
je 0x56ca41
cmp byte [esi + 0xa4c], 0
jne 0x56ca41
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
sub esp, 8
fstp dword [esp + 4]
add eax, 0x5c0
fld dword [ebx + 0xf04]
fstp dword [esp]
push eax
call fcn.00561300
push ecx
fstp dword [esp]
call fcn.00560bc0
fadd dword [edi + 0x68]
add esp, 4
fstp dword [edi + 0x68]
jmp 0x56ca43
fld dword [esp + 0x18]
fchs
fstp dword [edi + 0x68]
jmp 0x56ca43
fstp st(0)
mov ecx, dword [esi + 0xa7c]
neg ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
push ecx
fstp dword [esp]
call fcn.00560bc0
fadd dword [edi + 0x68]
jmp 0x56caa8
cmp byte [esi + 0xa79], 0
je 0x56ca8f
mov edx, ebx
call fcn.00562ca0
fimul dword [esi + 0xa84]
fmul qword [0x87d2f0]
fiadd dword [esi + 0xa88]
fchs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x56ca9f
mov edx, dword [esi + 0xa80]
neg edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
push ecx
fstp dword [esp]
call fcn.00560bc0
fstp dword [edi + 0x68]
add esp, 4
fld qword [esp + 0x30]
lea eax, [esp + 0x64]
fstp qword [edi + 0x28]
fld qword [esp + 0x38]
fstp qword [edi + 0x30]
call fcn.0057e350
fldz
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
sub esp, 8
fstp dword [esp + 4]
add ecx, 0x5c0
fld dword [ebx + 0xf04]
fstp dword [esp]
push ecx
call fcn.00561300
push ecx
lea esi, [esp + 0x68]
fstp dword [esp]
call fcn.0057e420
mov ecx, esi
lea eax, [esp + 0x30]
lea esi, [esp + 0x98]
call fcn.00560b40
fld qword [edi + 0x38]
fadd qword [eax]
mov edx, dword [ebp + 0xc]
fstp qword [edi + 0x38]
fld qword [eax + 8]
mov eax, dword [ebp + 0x1c]
fadd qword [edi + 0x40]
fstp qword [edi + 0x40]
cmp byte [edx + 0xf4d], 0
je 0x56cb45
mov ecx, dword [eax]
test ecx, ecx
je 0x56cb30
mov dword [ecx], edi
mov ecx, dword [eax]
mov dword [edi + 4], ecx
cmp dword [eax + 4], 0
jne 0x56cb3e
mov dword [eax + 4], edi
inc dword [eax + 8]
mov dword [eax], edi
jmp 0x56cb66
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x56cb4f
mov dword [ecx + 4], edi
mov edx, dword [eax + 4]
mov dword [edi], edx
cmp dword [eax], 0
jne 0x56cb5b
mov dword [eax], edi
inc dword [eax + 8]
mov dword [eax + 4], edi
jmp 0x56cb66
mov ebx, dword [ebp + 8]
fld1
mov eax, dword [ebp + 0x18]
fcomp dword [eax]
fnstsw ax
test ah, 0x41
jnp 0x56be15
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c