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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
fld qword [0x2f3f088]
push ebx
fstp qword [esp + 0x38]
push esi
fld qword [0x2f3f088]
xor eax, eax
fstp qword [esp + 0x44]
push edi
fld qword [0x2f3f070]
mov ecx, 0x1000
mov dword [esp + 0x80], eax
fstp qword [esp + 0x50]
fld qword [0x2f3f070]
mov dword [esp + 0x70], eax
mov dword [esp + 0x84], eax
fstp qword [esp + 0x58]
fld qword [0x2f3f088]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
fstp qword [esp + 0x60]
fld qword [0x2f3f088]
mov dword [esp + 0x7c], ecx
lea eax, [esp + 0xb0]
fstp qword [esp + 0x68]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xd8]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x2c]
push edx
call fcn.1005c3a0
fld qword [esp + 0x18]
fstp qword [esp + 0x28]
fld qword [esp + 0x18]
fcomp qword [0x2f40688]
fnstsw ax
test ah, 5
jnp 0x1004024c
fld qword [esp + 0xc0]
fdiv qword [esp + 0x18]
fst qword [esp + 0x30]
fmul qword [esp + 0x98]
fsubr qword [esp + 0xc8]
fst qword [esp + 0x20]
fcomp qword [0x2f40688]
fnstsw ax
test ah, 5
jp 0x10040255
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [esp + 0x98]
mov ebx, dword [ebp + 8]
fdiv qword [esp + 0x20]
fstp qword [esp + 0xa8]
fld qword [esp + 0x90]
fstp qword [esp + 0xa0]
fld qword [esp + 0x30]
fmul qword [esp + 0x90]
fsubr qword [esp + 0xb0]
fstp qword [esp + 0xb8]
fld qword [esp + 0x20]
fcomp qword [0x2f3f070]
fnstsw ax
test ah, 0x41
jne 0x10040551
fild dword [ebp + 0x10]
sub esp, 0x30
fnstcw word [esp + 0x3c]
lea ecx, [esp + 0x70]
fmul qword [esp + 0x48]
movzx eax, word [esp + 0x3c]
or ah, 0xc
mov byte [esp + 0x3f], 1
mov dword [esp + 0x68], 1
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov edi, dword [esp + 0x40]
add edi, 1
mov dword [ebp + 0x10], edi
fldcw word [esp + 0x3c]
fld qword [0x2f3f088]
fstp qword [esp + 0x28]
fld qword [0x2f3f088]
fstp qword [esp + 0x20]
fld qword [0x2f3f088]
fstp qword [esp + 0x18]
fld qword [0x2f3f088]
fstp qword [esp + 0x10]
fld qword [0x2f3f070]
fstp qword [esp + 8]
fld qword [esp + 0x48]
fstp qword [esp]
call fcn.1005c360
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
call fcn.100400b0
fild dword [ebp + 0x14]
sub esp, 0x30
fnstcw word [esp + 0x3c]
lea ecx, [esp + 0x70]
movzx eax, word [esp + 0x3c]
fmul qword [esp + 0x50]
or ah, 0xc
mov dword [esp + 0x68], 2
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov esi, dword [esp + 0x40]
add esi, 1
fldcw word [esp + 0x3c]
fld qword [0x2f3f088]
fstp qword [esp + 0x28]
fld qword [0x2f3f088]
fstp qword [esp + 0x20]
fld qword [0x2f3f088]
fstp qword [esp + 0x18]
fld qword [0x2f3f088]
fstp qword [esp + 0x10]
fld qword [esp + 0x50]
fstp qword [esp + 8]
fld qword [0x2f3f070]
fstp qword [esp]
call fcn.1005c360
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], esi
call fcn.100400b0
cmp byte [esp + 0xf], 0
jne 0x1004046f
fld qword [0x2f3f088]
sub esp, 0x30
fstp qword [esp + 0x28]
lea ecx, [esp + 0x70]
fld qword [0x2f3f088]
mov dword [esp + 0x68], 1
fstp qword [esp + 0x20]
fld qword [0x2f3f088]
fstp qword [esp + 0x18]
fld qword [0x2f3f088]
fstp qword [esp + 0x10]
fld qword [0x2f3f070]
fstp qword [esp + 8]
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.1005c360
fild dword [ebp + 0x10]
lea ecx, [esp + 0x38]
fnstcw word [esp + 0xc]
push ecx
movzx eax, word [esp + 0x10]
fmul qword [esp + 0x2c]
or ah, 0xc
mov ecx, ebx
mov dword [esp + 0x90], esi
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
add eax, 1
mov dword [esp + 0x8c], eax
fldcw word [esp + 0x10]
call fcn.100400b0
fld qword [0x2f3f088]
sub esp, 0x30
fstp qword [esp + 0x28]
lea ecx, [esp + 0x70]
fld qword [esp + 0xd0]
mov dword [esp + 0x68], 3
fstp qword [esp + 0x20]
fld qword [0x2f3f088]
fstp qword [esp + 0x18]
fld qword [esp + 0xd8]
fstp qword [esp + 0x10]
fld qword [0x2f3f070]
fstp qword [esp + 8]
fld qword [0x2f3f070]
fstp qword [esp]
call fcn.1005c360
mov edi, dword [ebp + 0x18]
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], esi
call fcn.100400b0
fld qword [esp + 0xb8]
sub esp, 0x30
fstp qword [esp + 0x28]
lea ecx, [esp + 0x70]
fld qword [0x2f3f088]
mov dword [esp + 0x68], 4
fstp qword [esp + 0x20]
fld qword [esp + 0x60]
fstp qword [esp + 0x18]
fld qword [0x2f3f088]
fstp qword [esp + 0x10]
fld qword [0x2f3f070]
fstp qword [esp + 8]
fld qword [0x2f3f070]
fstp qword [esp]
call fcn.1005c360
mov eax, dword [ebp + 0x1c]
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
call fcn.100400b0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
mov byte [esp + 0xf], 0
jmp 0x10040342