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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
fldz
push ebx
mov ebx, ecx
mov dword [esp + 4], 0
push esi
push edi
fst dword [esp + 0x10]
test dword [ebx + 0x7f8], 0x48000
mov edi, dword [ebx + 0x7f4]
fld qword [0x1000b700]
fstp qword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov esi, dword [edi + 0x11b58]
mov dword [esp + 0x18], esi
je 0x1005665e
mov ecx, dword [ebx + 0x800]
lea eax, [ebx + 0x800]
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x10056379
fld dword [edi + 0x11b4c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10056440
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x1005635e
fstp st(1)
fstp st(0)
fld dword [edi + 0x11b4c]
push 0x41c
push 0x40
fstp dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10056ba4
fld dword [esp + 0x14]
lea esi, [eax + 0xc]
fst dword [eax + 8]
fld dword [esp + 0x10]
mov ebx, 0x100
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst qword [esp + 0x30]
fxch st(1)
call sub.msvcrt.dll__CIpow
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esi]
fld qword [esp + 0x30]
add esi, 4
fadd qword [0x1000b660]
fstp dword [esp + 0xc]
fld dword [esp + 0x14]
sub ebx, 1
jne 0x100563b5
mov ecx, dword [esp + 0x1c]
fstp st(0)
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov dword [ecx + 0x40c], 0x3f800000
mov dword [ecx + 0x410], 0x3f800000
mov dword [ecx + 0x414], 0x3f800000
mov dword [ecx + 0x418], 0x3f800000
mov eax, dword [edx]
mov dword [ecx + 4], eax
test eax, eax
je 0x10056436
mov eax, dword [edx]
lea esi, [ecx + 4]
mov dword [eax], esi
mov esi, dword [esp + 0x18]
fld dword [esp + 0x10]
mov dword [edx], ecx
mov dword [ecx], edx
jmp 0x10056442
fstp st(0)
mov dword [ebx + 0x804], ecx
fld dword [edi + 0x11b4c]
fstp dword [esp + 0xc]
fld dword [0x1000b604]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1005647c
fstp st(1)
fld1
fdivrp st(1)
fld qword [0x1000b648]
fxch st(1)
call sub.msvcrt.dll__CIpow
jmp 0x1005647e
fstp st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [edi + 0x11b70]
cmp dword [ebx + 0x804], 0
je 0x100564a9
test dword [edi + 0x12fbc], 0x800
mov dword [esp + 0xc], 1
jne 0x100564b1
mov dword [esp + 0xc], 0
fld dword [edi + 0x11b18]
fmul qword [esp + 0x28]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fistp qword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov dword [edi + 0x11b78], eax
test eax, eax
jns 0x100564d9
xor eax, eax
jmp 0x100564ea
cmp eax, 0xff
jle 0x100564e7
mov eax, 0xff000000
jmp 0x100564ea
shl eax, 0x18
mov dword [edi + 0x11b78], eax
fld dword [edi + 0x11b38]
fmul qword [esp + 0x28]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fistp qword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov dword [edi + 0x11b7c], eax
test eax, eax
jns 0x10056518
xor eax, eax
jmp 0x10056529
cmp eax, 0xff
jle 0x10056526
mov eax, 0xff000000
jmp 0x10056529
shl eax, 0x18
mov dword [edi + 0x11b7c], eax
mov eax, dword [ebx + 0x804]
fld dword [edi + 0x11adc]
add eax, 0xc
mov dword [edi + 0x11ab8], eax
fmul dword [edi + 0x11b1c]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11aac]
fld dword [edi + 0x11ae0]
fmul dword [edi + 0x11b20]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11ab0]
fld dword [edi + 0x11ae4]
fmul dword [edi + 0x11b24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11ab4]
fld dword [edi + 0x11b3c]
fld qword [esp + 0x28]
fmul st(1), st(0)
fxch st(1)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11aac]
fld dword [edi + 0x11b40]
fmul st(4)
faddp st(3)
fxch st(2)
fstp dword [edi + 0x11ab0]
fld dword [edi + 0x11b44]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [edi + 0x11ab4]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fistp qword [esp + 0x30]
fld dword [edi + 0x11ab0]
mov eax, dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fistp qword [esp + 0x30]
fld dword [edi + 0x11ab4]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fistp qword [esp + 0x30]
mov ecx, dword [esp + 0x30]
test eax, eax
jns 0x10056614
xor eax, eax
jmp 0x10056620
cmp eax, 0xff
jle 0x10056620
mov eax, 0xff
test edx, edx
jns 0x10056628
xor edx, edx
jmp 0x10056635
cmp edx, 0xff
jle 0x10056635
mov edx, 0xff
test ecx, ecx
jns 0x1005663d
xor ecx, ecx
jmp 0x1005664a
cmp ecx, 0xff
jle 0x1005664a
mov ecx, 0xff
fld dword [esp + 0x10]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [edi + 0x11b80], eax
test dword [edi + 0x12fbc], 0x800000
fst dword [edi + 0x11acc]
fst dword [edi + 0x11ad0]
fst dword [edi + 0x11ad4]
fst dword [edi + 0x11afc]
fstp dword [edi + 0x11b00]
fld dword [0x1000b760]
fstp dword [edi + 0x11b04]
je 0x100567bc
fld dword [edi + 0x11ad0]
fsub dword [edi + 0x82b4]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x82b0]
fldz
fsubrp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x11ad4]
fsub dword [edi + 0x82b8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x8284]
fmul st(3)
fld dword [edi + 0x8280]
fmul st(3)
faddp st(1)
fld dword [edi + 0x8288]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11acc]
fld dword [edi + 0x8290]
fmul st(2)
fld dword [edi + 0x8294]
fmul st(4)
faddp st(1)
fld dword [edi + 0x8298]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11ad0]
fld dword [edi + 0x82a0]
fmulp st(2)
fld dword [edi + 0x82a4]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [edi + 0x82a8]
faddp st(1)
fstp dword [edi + 0x11ad4]
mov dword [ebx + 0x808], 0x100a7018
fld dword [edi + 0x11b00]
fld dword [edi + 0x11afc]
fld dword [edi + 0x11b04]
fld dword [edi + 0x8284]
fmul st(3)
fld dword [edi + 0x8280]
fmul st(3)
faddp st(1)
fld dword [edi + 0x8288]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11afc]
fld dword [edi + 0x8290]
fmul st(2)
fld dword [edi + 0x8294]
fmul st(4)
faddp st(1)
fld dword [edi + 0x8298]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11b00]
fld dword [edi + 0x82a0]
fmulp st(2)
fld dword [edi + 0x82a4]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [edi + 0x82a8]
faddp st(1)
fstp dword [edi + 0x11b04]
jmp 0x100567c6
mov dword [ebx + 0x808], section..data
test esi, esi
je 0x10056b93
mov edi, edi
test dword [ebx + 0x7f8], 0x4000
je 0x10056acc
cmp dword [esi + 0xc], 3
mov eax, dword [ebx + 0x808]
je 0x10056936
mov eax, dword [eax + 4]
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x808]
mov eax, dword [eax + 0x10]
mov dword [esi + 0xbc], eax
mov eax, dword [ebx + 0x808]
mov eax, dword [eax + 0x14]
mov dword [esi + 0xc0], eax
test dword [edi + 0x12fbc], 0x800000
jne 0x10056892
fld dword [edi + 0x10]
fmul dword [esi + 0xa0]
fld dword [edi]
fmul dword [esi + 0x9c]
faddp st(1)
fld dword [edi + 0x20]
fmul dword [esi + 0xa4]
faddp st(1)
fadd dword [edi + 0x30]
fstp dword [esi]
fld dword [edi + 0x14]
fmul dword [esi + 0xa0]
fld dword [edi + 4]
fmul dword [esi + 0x9c]
faddp st(1)
fld dword [edi + 0x24]
fmul dword [esi + 0xa4]
faddp st(1)
fadd dword [edi + 0x34]
fstp dword [esi + 4]
fld dword [edi + 0x18]
fmul dword [esi + 0xa0]
fld dword [edi + 8]
fmul dword [esi + 0x9c]
faddp st(1)
fld dword [edi + 0x28]
fmul dword [esi + 0xa4]
faddp st(1)
fadd dword [edi + 0x38]
jmp 0x10056927
fld dword [esi + 0xa0]
fsub dword [edi + 0x2b4]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [esi + 0x9c]
fsub dword [edi + 0x2b0]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [esi + 0xa4]
fsub dword [edi + 0x2b8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x284]
fmul st(3)
fld dword [edi + 0x280]
fmul st(3)
faddp st(1)
fld dword [edi + 0x288]
fmul st(2)
faddp st(1)
fstp dword [esi]
fld dword [edi + 0x290]
fmul st(2)
fld dword [edi + 0x294]
fmul st(4)
faddp st(1)
fld dword [edi + 0x298]
fmul st(2)
faddp st(1)
fstp dword [esi + 4]
fld dword [edi + 0x2a0]
fmulp st(2)
fld dword [edi + 0x2a4]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [edi + 0x2a8]
faddp st(1)
fstp dword [esi + 8]
cmp dword [esi + 0xc], 1
je 0x10056acc
jmp 0x1005695c
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x808]
mov eax, dword [eax + 8]
mov dword [esi + 0xbc], eax
mov eax, dword [ebx + 0x808]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc0], eax
test dword [edi + 0x12fbc], 0x800000
lea eax, [esi + 0x10]
jne 0x100569dd
fld dword [edi + 0x10]
mov edx, eax
fmul dword [esi + 0xac]
mov ecx, eax
fld dword [edi]
fmul dword [esi + 0xa8]
faddp st(1)
fld dword [edi + 0x20]
fmul dword [esi + 0xb0]
faddp st(1)
fstp dword [eax]
fld dword [edi + 0x14]
fmul dword [esi + 0xac]
fld dword [edi + 4]
fmul dword [esi + 0xa8]
faddp st(1)
fld dword [edi + 0x24]
fmul dword [esi + 0xb0]
faddp st(1)
fstp dword [eax + 4]
fld dword [edi + 0x18]
fmul dword [esi + 0xac]
fld dword [edi + 8]
fmul dword [esi + 0xa8]
faddp st(1)
fld dword [edi + 0x28]
fmul dword [esi + 0xb0]
faddp st(1)
fstp dword [eax + 8]
call fcn.100bdf9d
lea eax, [esi + 0x10]
jmp 0x10056a4b
fld dword [esi + 0xac]
fld dword [esi + 0xa8]
fld dword [esi + 0xb0]
fld dword [edi + 0x284]
fmul st(3)
fld dword [edi + 0x280]
fmul st(3)
faddp st(1)
fld dword [edi + 0x288]
fmul st(2)
faddp st(1)
fstp dword [eax]
fld dword [edi + 0x290]
fmul st(2)
fld dword [edi + 0x294]
fmul st(4)
faddp st(1)
fld dword [edi + 0x298]
fmul st(2)
faddp st(1)
fstp dword [eax + 4]
fld dword [edi + 0x2a0]
fmulp st(2)
fld dword [edi + 0x2a4]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [edi + 0x2a8]
faddp st(1)
fstp dword [eax + 8]
fld dword [eax]
fstp dword [esp + 0x10]
xor dword [esp + 0x10], 0x80000000
fld dword [esp + 0x10]
fst dword [eax]
fld dword [esi + 0x14]
fstp dword [esp + 0x10]
xor dword [esp + 0x10], 0x80000000
fld dword [esp + 0x10]
fst dword [esi + 0x14]
fld dword [esi + 0x18]
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
xor eax, 0x80000000
mov dword [esp + 0x24], eax
fld dword [esp + 0x24]
fst dword [esi + 0x18]
test dword [edi + 0x12fbc], 0x1000000
jne 0x10056ac6
fld dword [edi + 0x11afc]
lea ecx, [esi + 0x4c]
faddp st(3)
mov edx, ecx
fxch st(2)
fstp dword [ecx]
fadd dword [edi + 0x11b00]
fstp dword [esi + 0x50]
fadd dword [edi + 0x11b04]
fstp dword [esi + 0x54]
call fcn.100a0420
jmp 0x10056acc
fstp st(2)
fstp st(0)
fstp st(0)
test dword [ebx + 0x7f8], 0x48000
je 0x10056b88
fld dword [edi + 0x11b0c]
fld qword [esp + 0x28]
fmul st(1), st(0)
fld dword [esi + 0x5c]
mov eax, dword [esi + 0x20]
fmulp st(2)
fxch st(1)
fstp dword [esi + 0x24]
fld dword [edi + 0x11b10]
fmul st(1)
fmul dword [esi + 0x60]
fstp dword [esi + 0x28]
fld dword [edi + 0x11b14]
fmul st(1)
fmul dword [esi + 0x64]
fstp dword [esi + 0x2c]
test eax, 0x200
jne 0x10056b42
fld dword [edi + 0x11b1c]
fmul st(1)
fmul dword [esi + 0x74]
fstp dword [esi + 0x3c]
fld dword [edi + 0x11b20]
fmul st(1)
fmul dword [esi + 0x78]
fstp dword [esi + 0x40]
fld dword [edi + 0x11b24]
fmul st(1)
fmul dword [esi + 0x7c]
fstp dword [esi + 0x44]
cmp dword [esp + 0xc], 0
je 0x10056b80
test eax, 0x100
jne 0x10056b80
or eax, 0x20
mov dword [esi + 0x20], eax
fld dword [edi + 0x11b2c]
fmul st(1)
fmul dword [esi + 0x68]
fstp dword [esi + 0x30]
fld dword [edi + 0x11b30]
fmul st(1)
fmul dword [esi + 0x6c]
fstp dword [esi + 0x34]
fmul dword [edi + 0x11b34]
fmul dword [esi + 0x70]
fstp dword [esi + 0x38]
jmp 0x10056b88
and eax, 0xffffffdf
fstp st(0)
mov dword [esi + 0x20], eax
mov esi, dword [esi + 0x58]
test esi, esi
jne 0x100567d0
and dword [ebx + 0x7f8], 0xfffb3fff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x100a6dc8
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x8007000e
push eax
call sub.msvcrt.dll__CxxThrowException
int3