Function at 0x444320
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 0x4447ed
fldz
lea edx, [eax + 0x888]
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x1c]
fld1
fld qword [0x4e3180]
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 0x444385
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
je 0x4447c4
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 + 0x76dca0]
mov eax, dword [ebp + 8]
fstp dword [esp + 0x2c]
mov eax, dword [edx + eax*4 + 0x138]
fld qword [eax*8 + 0x76dca0]
mov eax, dword [edi + 4]
fstp dword [esp + 0x24]
cmp dword [eax + 0x1f8], 0
je 0x4443fa
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 0x444452
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4 + 0x138]
fld qword [eax*8 + 0x76dce8]
fstp dword [esp + 0x24]
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x4447f4
fld dword [esp + 0x2c]
xor edi, edi
mov esi, dword [esp + 0x28]
fld dword [esp + 0x24]
mov dword [esp + 0x48], edi
jmp 0x44447e
fxch st(3)
fxch st(4)
fxch st(3)
fxch st(2)
fxch st(4)
fst dword [esp + 0x1c]
test esi, esi
jle 0x44462a
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 0x4446ad
cmp esi, dword [esp + 0x60]
jl 0x444653
fld dword [ecx + ebx]
fabs
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x444653
fld dword [ebx]
fabs
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 5
jp 0x444655
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 + 0x767d80]
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 + 0x768180]
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 0x4445e3
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 [0x4e3180]
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 0x4444e3
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 0x444770
xor ebx, ebx
test esi, esi
jle 0x444770
fld dword [esp + 0x1c]
jmp 0x4446bc
fstp st(4)
fld dword [ecx + ebx]
fabs
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x444675
fld dword [ebx]
fabs
fcompp
fnstsw ax
test ah, 5
jp 0x444677
jmp 0x44451d
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.00446590
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
jmp 0x4445e3
fst dword [edi + ebx]
fst dword [edx + ebx]
jmp 0x444601
fxch st(2)
fxch st(1)
mov eax, dword [ecx + 4]
fcomp qword [eax + 0x208]
fnstsw ax
test ah, 1
jne 0x444768
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 0x444760
cmp esi, dword [esp + 0x60]
jl 0x444760
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 0x444738
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 0x444740
fld dword [esp + 0x1c]
fld1
fxch st(1)
mov esi, dword [esp + 0x28]
inc ebx
fld qword [0x4e3180]
add edi, 4
cmp ebx, esi
jl 0x4446b8
mov edi, dword [esp + 0x48]
fstp st(1)
fstp st(0)
jmp 0x444772
fstp st(1)
fld dword [esp + 0x1c]
jmp 0x444740
mov edi, dword [esp + 0x48]
fstp st(1)
jmp 0x444772
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 [0x4e3180]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], edi
cmp eax, ecx
jl 0x444476
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 [0x4e3180]
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 0x44436d
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 0x4447c4