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

Disassembly:
sub esp, 0x13c
push ebx
push ebp
push esi
xor esi, esi
cmp edi, esi
je 0x43f84f
cmp dword [eax], esi
je 0x43f436
mov ecx, dword [eax + 0x14]
cmp ecx, 0xffffffff
je 0x43f436
cmp ecx, esi
jl 0x43f40a
cmp ecx, 0xa
jge 0x43f40a
mov edx, dword [eax + ecx*4 + 0x20]
mov eax, dword [eax + ecx*4 + 0x48]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
jmp 0x43f412
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], esi
fild dword [esp + 0x10]
fadd dword [esp + 0x14c]
fstp dword [esp + 0x14c]
fild dword [esp + 0xc]
fadd dword [esp + 0x150]
fstp dword [esp + 0x150]
mov ebp, dword [0x904a40]
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x94]
push 2
push 0x11
push esi
push ebp
call edx
mov eax, dword [ebp]
mov ecx, dword [eax + 0x94]
push 2
push 0x10
push esi
push ebp
call ecx
fild dword [edi + 4]
fld dword [0x4d67c8]
lea edx, [esp + 0x28]
push edx
fmul st(1), st(0)
sub esp, 8
fxch st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0x24]
fimul dword [edi + 8]
fadd dword [esp + 0x15c]
fstp dword [esp + 0x20]
fld qword [0x4d6b48]
fstp qword [esp]
call fcn.00483dc0
fstp st(0)
add esp, 0xc
cmp dword [edi + 0x14], esi
fld qword [esp + 0x28]
fst dword [esp + 0x1c]
mov dword [esp + 0xc], esi
jle 0x43f84d
jmp 0x43f4b8
xor esi, esi
cmp dword [edi + 0x10], esi
fild dword [esp + 0xc]
mov dword [esp + 0x10], esi
fmul st(1)
fadd dword [esp + 0x150]
fst dword [esp + 0x34]
jle 0x43f839
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fchs
fstp dword [esp + 0x28]
push 0x40
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.00487bc0
fild dword [esp + 0x1c]
fld dword [esp + 0x28]
add esp, 4
lea ecx, [esp + 0x40]
fmul st(1), st(0)
fxch st(1)
fadd dword [esp + 0x154]
fst dword [esp + 0x40]
fld dword [esp + 0x3c]
fst dword [esp + 0x44]
fld st(1)
faddp st(3)
fxch st(2)
fst dword [esp + 0x50]
fstp dword [esp + 0x60]
fxch st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x2c]
fst dword [esp + 0x64]
fstp dword [esp + 0x74]
fstp dword [esp + 0x70]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push ecx
call fcn.0043f2a0
fldz
fst dword [esp + 0xf0]
sub esp, 0xc
fst dword [esp + 0xf8]
lea edx, [esp + 0xc4]
fst dword [esp + 0xf4]
fst dword [esp + 0xf0]
fst dword [esp + 0xe8]
fst dword [esp + 0xe4]
fst dword [esp + 0xe0]
fst dword [esp + 0xdc]
fst dword [esp + 0xd4]
fst dword [esp + 0xd0]
fst dword [esp + 0xcc]
fstp dword [esp + 0xc8]
fld1
fst dword [esp + 0x100]
fst dword [esp + 0xec]
fst dword [esp + 0xd8]
fst dword [esp + 0xc4]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push edx
call fcn.0046895a
fldz
fst dword [esp + 0x130]
sub esp, 0xc
fst dword [esp + 0x138]
lea eax, [esp + 0x104]
fst dword [esp + 0x134]
fst dword [esp + 0x130]
fst dword [esp + 0x128]
fst dword [esp + 0x124]
fst dword [esp + 0x120]
fst dword [esp + 0x11c]
fst dword [esp + 0x114]
fst dword [esp + 0x110]
fst dword [esp + 0x10c]
fst dword [esp + 0x108]
fld1
fst dword [esp + 0x140]
fst dword [esp + 0x12c]
fst dword [esp + 0x118]
fstp dword [esp + 0x104]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00468bcd
fldz
fst dword [esp + 0xb0]
lea ecx, [esp + 0xf8]
fst dword [esp + 0xac]
push ecx
fst dword [esp + 0xac]
lea edx, [esp + 0xbc]
fst dword [esp + 0xa8]
push edx
fst dword [esp + 0xa4]
lea eax, [esp + 0x80]
fst dword [esp + 0xa0]
push eax
fst dword [esp + 0xa0]
fst dword [esp + 0x9c]
fst dword [esp + 0x94]
fst dword [esp + 0x90]
fst dword [esp + 0x8c]
fstp dword [esp + 0x88]
fld1
fst dword [esp + 0xc0]
fst dword [esp + 0xac]
fst dword [esp + 0x98]
fstp dword [esp + 0x84]
call fcn.00468877
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x3c]
push edx
mov eax, edx
push eax
call fcn.004687de
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x4c]
push edx
mov eax, edx
push eax
call fcn.004687de
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x5c]
push edx
mov eax, edx
push eax
call fcn.004687de
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x6c]
push edx
mov eax, edx
push eax
call fcn.004687de
fld dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esp + 0x40]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
call fcn.0043f2a0
lea esi, [esp + 0x3c]
mov ebx, 4
lea esp, [esp]
fld dword [esi - 4]
lea edx, [esp + 0x140]
push edx
sub esp, 8
fstp qword [esp]
call fcn.00483dc0
add esp, 0xc
fstp st(0)
fld dword [esi]
lea eax, [esp + 0x138]
push eax
sub esp, 8
fstp qword [esp]
call fcn.00483dc0
fstp st(0)
add esp, 0xc
fld qword [esp + 0x140]
add esi, 0x10
sub ebx, 1
fld dword [0x4d67c8]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi - 0x14]
fsubr qword [esp + 0x138]
fstp dword [esi - 0x10]
jne 0x43f780
mov eax, dword [edi + 0x10]
imul eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
add eax, esi
cmp eax, dword [edi + 0xc]
jge 0x43f7fa
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43f7fa
mov eax, dword [ecx + eax*4]
jmp 0x43f7fc
xor eax, eax
fld dword [esp + 0x154]
push 0
push ecx
fstp dword [esp]
lea ecx, [esp + 0x40]
push ecx
push ebp
push eax
call fcn.00468665
mov edx, dword [ebp]
mov eax, dword [edx + 0x8c]
push 0
push 0
push ebp
call eax
inc esi
cmp esi, dword [edi + 0x10]
mov dword [esp + 0x10], esi
jl 0x43f4f0
fld dword [esp + 0x1c]
jmp 0x43f83b
fstp st(0)
mov eax, dword [esp + 0xc]
inc eax
cmp eax, dword [edi + 0x14]
mov dword [esp + 0xc], eax
jl 0x43f4b6
fstp st(0)
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret 0xc