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

Disassembly:
push esi
mov esi, dword [esp + 8]
test esi, esi
je 0x40731e
mov ecx, dword [esi + 0x20]
push ebx
mov ebx, 1
test bl, cl
push edi
jne 0x40731c
or ecx, 2
mov dword [esi + 0x20], ecx
mov al, byte [0x4e53b4]
test al, al
jne 0x40715e
fld dword [0x441904]
fadd dword [esi + 0x88]
fstp dword [esi + 0x88]
fld dword [0x441904]
fadd dword [esi + 0x74]
fstp dword [esi + 0x74]
fld dword [esi + 0x78]
fcomp dword [0x436c40]
fnstsw ax
test ah, 5
jp 0x407138
fld dword [0x441904]
fadd dword [esi + 0x78]
fstp dword [esi + 0x78]
mov al, byte [0x4e53b4]
test al, al
jne 0x40715e
test cl, 4
je 0x40715e
mov al, byte [esp + 0x14]
test al, al
je 0x40715e
cmp dword [esi + 0x1c], ebx
je 0x40715e
push 0
push esi
call fcn.0041e730
add esp, 8
mov ecx, dword [esi + 0x20]
test bl, cl
jne 0x40731c
mov eax, dword [esi + 8]
test eax, eax
je 0x4071b2
mov edx, dword [eax + 0x20]
and edx, 8
or edx, ecx
movzx ecx, byte [esi + 0x10]
push ecx
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0xc]
push edx
push eax
push esi
call fcn.004060d0
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov edx, dword [esi + 0x130]
add esp, 0x10
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], ecx
mov dword [esi + 0xa0], edx
push esi
call fcn.00406dd0
mov eax, dword [esi + 8]
add esp, 4
test eax, eax
je 0x4071c8
test byte [esi + 0x20], 0x20
je 0x4071d1
push esi
call fcn.00406f80
add esp, 4
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x407216
mov cl, byte [esi + 0x10]
test cl, cl
je 0x4071fd
lea ecx, [esi + 0x134]
push ecx
add esi, 0x128
push esi
push eax
call fcn.00417fc0
add esp, 0xc
pop edi
pop ebx
pop esi
ret
push 0x43fa70
add esi, 0x128
push esi
push eax
call fcn.00417fc0
add esp, 0xc
pop edi
pop ebx
pop esi
ret
fld dword [esi + 0x90]
call fcn.0042af90
test al, 0x10
jne 0x40729e
lea edx, [esi + 0x11c]
push edx
call fcn.00411ed0
mov eax, dword [esi + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x40729e
mov al, byte [esi + 0x38]
test al, al
je 0x407283
push 0x4e126c
lea eax, [esi + 0x134]
push eax
lea ecx, [esi + 0x3c]
push ecx
call fcn.0040ffc0
fild dword [esi + 0x28]
mov edx, dword [esi + 0x48]
add esp, 0xc
push edx
push 0x4e126c
push ecx
lea eax, [esi + 0x2c]
fstp dword [esp]
push eax
lea ecx, [esi + 0x128]
push ecx
call fcn.00411dc0
add esp, 0x14
jmp 0x40729e
fild dword [esp + 0x10]
push ecx
lea edx, [esi + 0x2c]
lea eax, [esi + 0x128]
fstp dword [esp]
push edx
push eax
call fcn.00411d40
add esp, 0xc
cmp dword [esi + 0x8c], 0x40000000
jne 0x4072d6
fld dword [esi + 0x74]
fcomp qword [0x436658]
fnstsw ax
test ah, 5
jp 0x4072d6
fld dword [esi + 0x94]
fcomp dword [0x436adc]
fnstsw ax
test ah, 0x44
jp 0x4072d6
push esi
call fcn.00406620
add esp, 4
mov eax, dword [esi + 0x1ec]
xor edi, edi
test eax, eax
jle 0x40731c
mov ecx, dword [esi + 0x1f0]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x407311
test byte [eax + 0x20], bl
jne 0x407311
mov cl, byte [esp + 0x14]
test cl, cl
je 0x407305
cmp dword [esi + 0x1c], ebx
je 0x407305
mov cl, bl
jmp 0x407307
xor cl, cl
push ecx
push eax
call fcn.004070d0
add esp, 8
mov eax, dword [esi + 0x1ec]
inc edi
cmp edi, eax
jl 0x4072e2
pop edi
pop ebx
pop esi
ret