Function at 0x10056b00
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 [0x1000b698]
fstp qword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov esi, dword [edi + 0x11b58]
mov dword [esp + 0x18], esi
je 0x10056e6e
mov ecx, dword [ebx + 0x800]
lea eax, [ebx + 0x800]
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x10056b89
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 0x10056c50
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10056b6e
fstp st(1)
fstp st(0)
fld dword [edi + 0x11b4c]
push 0x41c
fstp dword [esp + 0x18]
call fcn.1000efa0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100573ab
fld dword [esp + 0x14]
lea esi, [eax + 0xc]
fst dword [eax + 8]
fld dword [esp + 0x10]
mov ebx, pe_nt_image_headers32
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 [0x1000b5f8]
fstp dword [esp + 0xc]
fld dword [esp + 0x14]
sub ebx, 1
jne 0x10056bc5
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 0x10056c46
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 0x10056c52
fstp st(0)
mov dword [ebx + 0x804], ecx
fld dword [edi + 0x11b4c]
fstp dword [esp + 0xc]
fld dword [0x1000b59c]
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x10056c8c
fstp st(1)
fld1
fdivrp st(1)
fld qword [0x1000b5e0]
fxch st(1)
call sub.msvcrt.dll__CIpow
jmp 0x10056c8e
fstp st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [edi + 0x11b70]
cmp dword [ebx + 0x804], 0
je 0x10056cb9
test dword [edi + 0x12fbc], 0x800
mov dword [esp + 0xc], 1
jne 0x10056cc1
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 0x10056ce9
xor eax, eax
jmp 0x10056cfa
cmp eax, 0xff
jle 0x10056cf7
mov eax, 0xff000000
jmp 0x10056cfa
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 0x10056d28
xor eax, eax
jmp 0x10056d39
cmp eax, 0xff
jle 0x10056d36
mov eax, 0xff000000
jmp 0x10056d39
shl eax, 0x18
mov dword [edi + 0x11b7c], eax
mov eax, dword [ebx + 0x804]
add eax, 0xc
mov dword [edi + 0x11ab8], eax
fld dword [edi + 0x11b1c]
fmul dword [edi + 0x11adc]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11aac]
fld dword [edi + 0x11b20]
fmul dword [edi + 0x11ae0]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [edi + 0x11ab0]
fld dword [edi + 0x11b24]
fmul dword [edi + 0x11ae4]
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 0x10056e24
xor eax, eax
jmp 0x10056e30
cmp eax, 0xff
jle 0x10056e30
mov eax, 0xff
test edx, edx
jns 0x10056e38
xor edx, edx
jmp 0x10056e45
cmp edx, 0xff
jle 0x10056e45
mov edx, 0xff
test ecx, ecx
jns 0x10056e4d
xor ecx, ecx
jmp 0x10056e5a
cmp ecx, 0xff
jle 0x10056e5a
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 [0x1000b6f4]
fstp dword [edi + 0x11b04]
je 0x10056fca
fld dword [edi + 0x82b4]
fldz
fld st(0)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x82b0]
fsubr st(2)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x82b8]
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [edi + 0x8284]
fmul st(2)
fld dword [edi + 0x8280]
fmul st(4)
faddp st(1)
fld dword [edi + 0x8288]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11acc]
fld dword [edi + 0x8294]
fmul st(2)
fld dword [edi + 0x8290]
fmul st(4)
faddp st(1)
fld dword [edi + 0x8298]
fmul st(2)
faddp st(1)
fstp dword [edi + 0x11ad0]
fld dword [edi + 0x82a4]
fmulp st(2)
fld dword [edi + 0x82a0]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [edi + 0x82a8]
faddp st(1)
fstp dword [edi + 0x11ad4]
mov dword [ebx + 0x808], 0x100a8018
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 0x10056fd4
mov dword [ebx + 0x808], section..data
test esi, esi
je 0x1005739a
lea esp, [esp]
test dword [ebx + 0x7f8], 0x4000
je 0x100572d5
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0x808]
cmp ecx, 3
je 0x10057141
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 0x1005709e
fld dword [esi + 0x9c]
fld dword [edi + 0x10]
fmul dword [esi + 0xa0]
fld dword [edi]
fmul st(2)
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 st(2)
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]
fmulp st(2)
faddp st(1)
fld dword [edi + 0x28]
fmul dword [esi + 0xa4]
faddp st(1)
fadd dword [edi + 0x38]
jmp 0x10057133
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 ecx, 1
je 0x100572d5
jmp 0x10057167
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 0x100571e6
fld dword [esi + 0xa8]
mov edx, eax
fld dword [edi + 0x10]
mov ecx, eax
fmul dword [esi + 0xac]
fld dword [edi]
fmul st(2)
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]
fmulp st(2)
faddp st(1)
fld dword [edi + 0x24]
fmul dword [esi + 0xb0]
faddp st(1)
fstp dword [eax + 4]
fld dword [edi + 8]
fmul dword [esi + 0xa8]
fld dword [edi + 0x18]
fmul dword [esi + 0xac]
faddp st(1)
fld dword [edi + 0x28]
fmul dword [esi + 0xb0]
faddp st(1)
fstp dword [eax + 8]
call 0x100bde4b
lea eax, [esi + 0x10]
jmp 0x10057254
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 0x100572cf
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.100a1da4
jmp 0x100572d5
fstp st(2)
fstp st(0)
fstp st(0)
test dword [ebx + 0x7f8], 0x48000
je 0x1005738f
fld dword [edi + 0x11b0c]
fld qword [esp + 0x28]
fmul st(1), st(0)
fxch st(1)
mov eax, dword [esi + 0x20]
fmul dword [esi + 0x5c]
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 0x10057349
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 0x10057387
test eax, 0x100
jne 0x10057387
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 0x1005738f
and eax, 0xffffffdf
fstp st(0)
mov dword [esi + 0x20], eax
mov esi, dword [esi + 0x58]
test esi, esi
jne 0x10056fe0
and dword [ebx + 0x7f8], 0xfffb3fff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x100a7210
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x8007000e
push eax
call sub.msvcrt.dll__CxxThrowException
int3