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

Disassembly:
push ebx
push edi
add esp, 0xffffff74
mov dword [esp + 4], 0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov bl, byte [esp + 0xa8]
lea edx, [esp + 0x84]
push edx
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov edx, dword [ecx]
mov dword [esp + 0x80], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x84], ecx
call fcn.0041d5d0
test al, al
je 0x415e27
lea eax, [esp + 0x7c]
push eax
call fcn.0041d5d0
mov ecx, dword [0x4741b8]
test al, al
je 0x415e27
push dword [0x4741d4]
push ecx
call fcn.004315d0
push 0
sub esp, 4
fstp dword [esp]
call fcn.00415720
fld dword [esp + 0x84]
fsubr dword [esp + 0x7c]
fstp dword [esp + 0x78]
fld dword [esp + 0x80]
fsubr dword [esp + 0x88]
mov eax, dword [0x493dc4]
mov dword [esp], eax
mov dword [esp + 4], 0
fild qword [esp]
fmulp st(1)
fstp dword [esp + 0xc]
fild dword [0x4e4da0]
fst dword [esp + 8]
fdivr dword [esp + 0xc]
fadd dword [esp + 0x88]
fstp dword [esp + 0x88]
fld dword [esp + 0xc]
fmul dword [0x46ab74]
fdiv dword [esp + 8]
fsubr dword [esp + 0x80]
fst dword [esp + 0x80]
fsubr dword [esp + 0x88]
fst dword [esp + 0x74]
fcomp dword [esp + 0x78]
fnstsw ax
and ah, 0x41
jne 0x415bf6
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
jmp 0x415bfe
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0xa4]
test al, al
jne 0x415c0f
xor ecx, ecx
mov dword [esp + 0x18], ecx
fld dword [esp + 0x84]
fadd dword [esp + 0x7c]
fld dword [esp + 0x18]
fmul dword [0x46af60]
fstp dword [esp + 0xc]
fadd dword [esp + 0xc]
fmul dword [0x46ab70]
fstp dword [esp + 0x6c]
fld dword [esp + 0x88]
fadd dword [esp + 0x80]
fadd dword [esp + 0xc]
fmul dword [0x46ab70]
fstp dword [esp + 0x70]
fld dword [esp + 0xc]
fsubr dword [esp + 0x84]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [0x4741b0], ecx
fld dword [esp + 0xc]
fadd dword [esp + 0x88]
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov dword [0x4741b4], edx
fld dword [esp + 0x7c]
fadd dword [esp + 0xc]
fstp dword [esp + 0x64]
fld dword [esp + 0xc]
fsubr dword [esp + 0x80]
fstp dword [esp + 0x68]
mov eax, 0x3f800000
mov dword [0x4741d4], eax
mov ecx, edi
xor dl, dl
jmp 0x415dd3
push 0x45
mov byte [esp + 4], dl
call fcn.0043eae0
mov dl, byte [esp]
test al, al
je 0x415d9a
mov eax, dword [0x493d8c]
test eax, eax
jle 0x415d93
test bl, bl
je 0x415d02
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x88]
push ecx
mov byte [esp + 8], dl
call fcn.00415a30
mov dl, byte [esp]
test al, al
jne 0x415d02
mov byte [esp + 0x44], 1
jmp 0x415d9f
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x70]
push ecx
mov byte [esp + 8], dl
call fcn.004159e0
mov dl, byte [esp]
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [0x4741b8]
push ecx
push dword [esp + 0x74]
push dword [esp + 0x74]
mov byte [esp + 0x1c], dl
call fcn.00430510
mov dl, byte [esp]
push 0x44
mov byte [esp + 4], dl
call fcn.0043eae0
mov dl, byte [esp]
push 1
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [0x4741b8]
push dword [esp + 0x68]
push dword [esp + 0x68]
push dword [0x4741d4]
push ecx
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [0x4d5ed4]
mov byte [esp + 0x2c], dl
call fcn.00430060
mov dl, byte [esp]
jmp 0x415d9f
mov byte [esp + 0x44], 1
jmp 0x415d9f
mov byte [esp + 0x44], 1
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc], dl
call fcn.004306b0
mov dl, byte [esp]
mov ecx, dword [0x4741b8]
test eax, eax
jge 0x415dc8
mov dl, 1
jmp 0x415dd2
mov al, byte [esp + 0x44]
test al, al
jne 0x415e32
xor dl, dl
dec ecx
push 0x4e4da8
push 0x4e4dac
push 0x4741c8
push 0x4741cc
push ecx
fld dword [0x4741b4]
fstp dword [esp + 0x44]
push dword [esp + 0x44]
fld dword [0x4741b0]
fstp dword [esp + 0x44]
push dword [esp + 0x44]
mov dword [0x4741b8], ecx
mov byte [esp + 0x1c], dl
call fcn.00430510
mov dl, byte [esp]
mov ecx, dword [0x4741b8]
cmp ecx, 1
jg 0x415cb4
jmp 0x415e32
sub esp, 0xffffff74
pop edi
pop ebx
ret 0x14
cmp edi, ecx
je 0x415e44
push 0x62
mov byte [esp + 4], dl
call fcn.004106d0
mov dl, byte [esp]
test dl, dl
je 0x415f18
push 0x3d4ccccd
push 0x3f800000
push 0x3d4ccccd
push 0
push 0x5e
mov dword [0x4741d4], 0x3f800000
call fcn.0043e890
fstp dword [esp + 0xc]
mov ecx, dword [0x4741b8]
mov eax, dword [0x4741d4]
mov dword [esp + 0x1c], eax
jmp 0x415e8d
mov eax, dword [0x4741d4]
mov dword [esp + 0x1c], eax
push 0x4e4da8
push 0x4e4dac
push 0x4741c8
push 0x4741cc
push ecx
fld dword [esp + 0x20]
fadd dword [esp + 0x30]
fstp dword [0x4741d4]
fld dword [0x4741b4]
fstp dword [esp + 0x3c]
push dword [esp + 0x3c]
fld dword [0x4741b0]
fstp dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.00430510
fld dword [0x4741d4]
fcomp dword [0x46ab6c]
fnstsw ax
and ah, 0x41
je 0x415f0d
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea eax, [esp + 0x6c]
push eax
call fcn.004306b0
mov ecx, dword [0x4741b8]
test eax, eax
jge 0x415e84
mov eax, dword [esp + 0x1c]
mov dword [0x4741d4], eax
jmp 0x415f22
mov eax, dword [esp + 0x1c]
mov dword [0x4741d4], eax
jmp 0x415f22
mov eax, 0x3f800000
mov dword [0x4741d4], eax
push 0x4741b0
lea eax, [esp + 0x70]
push eax
mov ecx, dword [0x4741b0]
mov dword [esp + 0x44], ecx
mov eax, dword [0x4741b4]
mov dword [esp + 0x48], eax
call fcn.004159e0
fld dword [0x4741b4]
fstp dword [esp + 0x20]
fld dword [esp + 0x40]
fcomp dword [esp + 0x20]
fnstsw ax
and ah, 0x41
jne 0x415e27
mov eax, dword [esp + 0x40]
mov dword [0x4741b4], eax
jmp 0x415e27