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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
cmp dword [eax + 0x484], 0
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x68], 0
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
jle 0x43c38d
fldz
lea edx, [eax + 0x888]
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x1c]
fld1
fld qword [0x4a5e00]
mov ebx, dword [ebp + 0x28]
mov dword [esp + 0x38], edx
mov dword [ebp + 0x20], eax
mov esi, dword [edx - 0x400]
cmp dword [ebx + esi*4], 0
jne 0x43bf25
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
je 0x43c364
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x3c]
mov eax, dword [ebx + esi*4]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
mov ebx, dword [ebx + eax*4]
lea edx, [edx + edi*4]
mov dword [esp + 0x4c], ebx
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x34], edx
mov eax, dword [edi + eax*4]
mov edx, dword [edi + esi*4]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4 + 0xfc]
fld qword [eax*8 + 0x4f3d50]
mov eax, dword [ebp + 8]
fstp dword [esp + 0x2c]
mov eax, dword [edx + eax*4 + 0x138]
fld qword [eax*8 + 0x4f3d50]
mov eax, dword [edi + 4]
fstp dword [esp + 0x24]
cmp dword [eax + 0x1f8], 0
je 0x43bf9a
mov ecx, dword [eax + 0x200]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, dword [ebp + 8]
cmp dword [esp + 0x3c], 0x3e8
mov eax, dword [edx + ecx*4 + 0x84]
mov ecx, dword [ebp + 0x28]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + esi*4], 1
mov eax, dword [eax]
mov dword [ecx + eax*4], 1
jle 0x43bff2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4 + 0x138]
fld qword [eax*8 + 0x4f3d98]
fstp dword [esp + 0x24]
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x43c394
fld dword [esp + 0x2c]
xor edi, edi
mov esi, dword [esp + 0x28]
fld dword [esp + 0x24]
mov dword [esp + 0x48], edi
jmp 0x43c01e
fxch st(3)
fxch st(4)
fxch st(3)
fxch st(2)
fxch st(4)
fst dword [esp + 0x1c]
test esi, esi
jle 0x43c1ca
mov ecx, dword [esp + 0x70]
mov esi, eax
mov eax, dword [esp + 0x6c]
add ebx, edi
sub eax, ecx
mov dword [esp + 0x20], edi
sub ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
sub edx, eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], edx
sub ecx, eax
lea edx, [eax + edi*4]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x54]
sub edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
cmp esi, dword [ebp + 0x2c]
jge 0x43c24d
cmp esi, dword [esp + 0x60]
jl 0x43c1f3
fld dword [ecx + ebx]
fabs
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x43c1f3
fld dword [ebx]
fabs
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 5
jp 0x43c1f5
fstp st(0)
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
add eax, ebx
xor ebx, ebx
mov edi, dword [eax + ecx]
mov ecx, 0x1f
mov esi, dword [eax]
cmp esi, edi
mov eax, esi
setg bl
sub eax, edi
cdq
dec ebx
xor eax, edx
sub eax, edx
sub ecx, eax
mov eax, ebx
not eax
and ebx, edi
and eax, esi
mov edi, dword [esp + 0x54]
or eax, ebx
mov ebx, dword [esp + 0x58]
fld dword [eax*4 + 0x4ede30]
xor eax, eax
test ecx, ecx
sets al
sub esp, 8
dec eax
and eax, ecx
mov ecx, dword [esp + 0x28]
fld dword [eax*4 + 0x4ee230]
mov eax, dword [ebp + 0x1c]
faddp st(3)
fxch st(2)
mov eax, dword [eax]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmul dword [ecx + eax]
mov eax, dword [esp + 0x38]
fstp dword [edi + ebx]
fxch st(1)
fstp dword [eax + ebx]
fadd dword [edi + ebx]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov esi, dword [esp + 0x44]
fucompp
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
fnstsw ax
test ah, 0x44
mov eax, dword [esp + 0x20]
jp 0x43c183
fld dword [edi + ebx]
fmul st(0), st(0)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x24]
fld dword [esp + 0x2c]
fld1
fld qword [0x4a5e00]
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
add eax, 4
add ebx, 4
inc esi
mov dword [esp + 0x20], eax
dec dword [esp + 0x5c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], esi
jne 0x43c083
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
fstp st(0)
fstp st(3)
fstp st(2)
mov eax, dword [ecx + 4]
cmp dword [eax + 0x1f8], 0
je 0x43c310
xor ebx, ebx
test esi, esi
jle 0x43c310
fld dword [esp + 0x1c]
jmp 0x43c25c
fstp st(4)
fld dword [ecx + ebx]
fabs
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43c215
fld dword [ebx]
fabs
fcompp
fnstsw ax
test ah, 5
jp 0x43c217
jmp 0x43c0bd
fstp st(3)
lea eax, [edx + ebx]
fstp st(2)
push eax
fstp st(0)
lea eax, [edi + ebx]
push eax
fstp st(0)
sub esp, 8
fld dword [ebx]
fstp dword [esp + 4]
fld dword [ecx + ebx]
fstp dword [esp]
call fcn.0043e130
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
jmp 0x43c183
fst dword [edi + ebx]
fst dword [edx + ebx]
jmp 0x43c1a1
fxch st(2)
fxch st(1)
mov eax, dword [ecx + 4]
fcomp qword [eax + 0x208]
fnstsw ax
test ah, 1
jne 0x43c308
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov eax, dword [esi + eax]
mov esi, dword [edi + eax]
cmp esi, dword [ebp + 0x2c]
jge 0x43c300
cmp esi, dword [esp + 0x60]
jl 0x43c300
fstp st(0)
sub esp, 8
fadd dword [edx + esi*4]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov edx, dword [esp + 0x34]
fucompp
mov ecx, dword [ebp + 0x10]
fnstsw ax
test ah, 0x44
jp 0x43c2d8
fld dword [edx + esi*4]
fstp dword [esp + 0x7c]
fld dword [esp + 0x1c]
fld1
mov eax, dword [esp + 0x7c]
fsub st(1), st(0)
and eax, 0xbf800000
fxch st(1)
or eax, 0x3f800000
mov dword [edx + esi*4], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x43c2e0
fld dword [esp + 0x1c]
fld1
fxch st(1)
mov esi, dword [esp + 0x28]
inc ebx
fld qword [0x4a5e00]
add edi, 4
cmp ebx, esi
jl 0x43c258
mov edi, dword [esp + 0x48]
fstp st(1)
fstp st(0)
jmp 0x43c312
fstp st(1)
fld dword [esp + 0x1c]
jmp 0x43c2e0
mov edi, dword [esp + 0x48]
fstp st(1)
jmp 0x43c312
fstp st(1)
mov eax, dword [esp + 0x64]
lea ebx, [esi*4]
fldz
add eax, esi
fld dword [esp + 0x24]
add edi, ebx
mov ecx, dword [ecx]
fld dword [esp + 0x2c]
fld qword [0x4a5e00]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], edi
cmp eax, ecx
jl 0x43c016
mov edx, dword [esp + 0x38]
fstp st(3)
mov ebx, dword [ebp + 0x28]
fstp st(1)
fstp st(0)
fstp st(0)
fldz
fld qword [0x4a5e00]
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x68]
add edx, 4
mov esi, dword [ebp + 0x14]
inc eax
add dword [ebp + 0x1c], 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], edx
cmp eax, dword [esi + 0x484]
jl 0x43bf0d
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x38]
mov ebx, dword [ebp + 0x28]
jmp 0x43c364