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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4c9046
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4faa80]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
test esi, esi
je 0x44b1b1
call fcn.00466460
cmp eax, 2
je 0x44abc3
movsd xmm0, qword [0x4cc740]
comisd xmm0, xmmword [esi + 0x10]
ja 0x44b1b1
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
mov edi, dword [ebp + 0xc]
movsd qword [esi + 0x10], xmm0
cmp ebx, dword [esi + 0x18]
jne 0x44ac05
cmp edi, dword [esi + 0x1c]
jne 0x44ac05
mov ecx, esi
call fcn.00466460
cmp eax, 2
je 0x44ac05
mov ecx, esi
call fcn.00466460
cmp eax, 9
jne 0x44af74
mov eax, dword [esi + 4]
mov ecx, esi
mov byte [eax + 0x50], 1
jmp 0x44ad36
push 0
mov ecx, esi
call fcn.004a8060
test al, al
jne 0x44af74
cmp byte [esi + 0x214], al
je 0x44ac2a
mov byte [esi + 0x230], 1
jmp 0x44af74
cmp byte [esi + 0x1f8], 0
je 0x44ac3f
mov byte [esi + 0x200], 1
jmp 0x44af74
mov ecx, esi
call fcn.00466460
cmp eax, 1
je 0x44ac5b
mov ecx, esi
call fcn.00466460
cmp eax, 9
jne 0x44acdf
mov eax, dword [esi + 4]
cmp byte [eax + 0xc], 0
je 0x44acdf
movsd xmm0, qword [0x4cc6f0]
sub esp, 8
mov byte [eax + 0xc], 0
mov ecx, dword [0x4fe4e8]
movsd qword [esp], xmm0
push 0
mov ecx, dword [ecx + 0x1a30]
call fcn.004951b0
push 0x430
call fcn.004ade16
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44aca3
mov byte [ecx], 0
jmp 0x44aca5
xor ecx, ecx
mov eax, dword [0x4fe4e8]
movups xmm0, xmmword [esi + 0x20]
add eax, 0x1390
mov dword [esp + 0x38], ecx
push eax
sub esp, 0x10
movups xmmword [esp], xmm0
call fcn.0043f510
mov ecx, dword [0x4fe4e8]
lea eax, [esp + 0x38]
push eax
lea ecx, [ecx + 0x4d4]
call fcn.004376f0
jmp 0x44af74
mov ecx, esi
call fcn.00466460
cmp eax, 9
jne 0x44ad4d
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax + 0xc4]
cmp ecx, 1
je 0x44ad02
cmp ecx, 6
jne 0x44ad11
push 1
push 0
mov ecx, eax
call fcn.00438720
mov eax, dword [esp + 0x38]
test ebx, ebx
js 0x44ad3b
test edi, edi
js 0x44ad3b
cmp dword [eax + 0xc4], 3
jge 0x44ad3b
mov eax, dword [0x4fe4e8]
mov ecx, ebx
shl ecx, 4
add ecx, edi
mov ecx, dword [eax + ecx*4 + 4]
test ecx, ecx
je 0x44ad3b
call fcn.004353d0
push dword [esi + 0x1c]
mov ecx, esi
push dword [esi + 0x18]
call fcn.0044a710
jmp 0x44af74
mov ecx, esi
call fcn.00466460
cmp eax, 5
jne 0x44adc3
cmp byte [esi + 0x1c8], 0
jne 0x44b1b1
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x1bc]
cmp eax, 1
je 0x44adba
cmp eax, 2
je 0x44adba
cmp eax, 5
jne 0x44ad8a
mov byte [ecx + 0x1c0], 1
jmp 0x44af74
cmp eax, 3
je 0x44b1b1
cmp eax, 4
je 0x44b1b1
cmp eax, 6
jne 0x44af74
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov byte [ecx + 0x50], 1
jmp 0x44af74
mov ecx, esi
call fcn.00466460
cmp eax, 3
jne 0x44addc
mov ecx, dword [esi + 4]
call fcn.004351c0
jmp 0x44af74
mov ecx, esi
call fcn.00466460
cmp eax, 0xf
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 0xe
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 0xc
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 0xa
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 4
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 0xb
je 0x44b1b1
mov ecx, esi
call fcn.00466460
cmp eax, 0xd
je 0x44b1b1
test ebx, ebx
js 0x44ae9e
test edi, edi
js 0x44ae9e
mov ecx, dword [0x4fe4e8]
mov eax, ebx
shl eax, 4
add eax, edi
mov ecx, dword [ecx + eax*4 + 4]
call fcn.00466460
cmp eax, 2
jne 0x44ae9e
mov ecx, esi
call fcn.00466460
cmp eax, 2
jne 0x44aeae
cmp ebx, dword [esi + 0x18]
jne 0x44b1b1
cmp edi, dword [esi + 0x1c]
je 0x44aeae
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, esi
call fcn.00466460
cmp eax, 2
je 0x44b1b1
cmp byte [esi + 0x1c8], 0
jne 0x44b1b1
mov ecx, esi
call fcn.004353d0
mov eax, dword [esi + 4]
test eax, eax
je 0x44aefb
mov byte [eax + 0x50], 1
mov eax, dword [esi + 4]
mov byte [eax + 0x63], 0x42
mov ecx, dword [esi + 4]
call fcn.00467f00
cmp eax, 1
je 0x44aeee
mov ecx, dword [esi + 4]
call fcn.00467f00
cmp eax, 9
jne 0x44aefb
push dword [esi + 0x1c]
mov ecx, esi
push dword [esi + 0x18]
call fcn.0044a710
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x44af2e
call fcn.00467f00
cmp eax, 9
je 0x44af2e
mov ecx, dword [esi + 8]
call fcn.00467f00
cmp eax, 4
je 0x44af2e
push dword [esi + 8]
mov ecx, dword [0x4fe4e8]
call fcn.0046d8e0
mov dword [esi + 8], 0
mov ecx, dword [0x4fe4e8]
mov eax, dword [ecx + 0x6ec]
cmp eax, dword [esi + 0x18]
jne 0x44af57
mov eax, dword [ecx + 0x6f0]
cmp eax, dword [esi + 0x1c]
jne 0x44af57
mov byte [ecx + 0x6e8], 0
mov ecx, dword [0x4fe4e8]
mov eax, dword [ecx + 0x6f8]
cmp eax, dword [esi + 0x18]
jne 0x44af74
mov eax, dword [ecx + 0x6fc]
cmp eax, dword [esi + 0x1c]
jne 0x44af74
mov byte [ecx + 0x6f4], 0
mov ecx, 1
mov byte [esi + 0x248], 1
mov dword [esp + 0x38], ecx
cmp ebx, dword [esi + 0x18]
jne 0x44af95
xor eax, eax
cmp edi, dword [esi + 0x1c]
cmove ecx, eax
mov dword [esp + 0x38], ecx
mov eax, 0x10a0
mov dword [esp + 0x34], 0
sub eax, esi
lea ebx, [esi + 0x24c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x44b010
mov edi, dword [ebx]
test edi, edi
je 0x44b019
mov dword [esp + 0x40], edi
mov dword [esp + 0x80], ecx
mov ecx, edi
push 1
call fcn.00478ec0
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x80], 0xffffffff
test eax, eax
je 0x44afff
push eax
call fcn.004ade67
add esp, 4
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
push edi
call fcn.004ade67
add esp, 4
mov dword [ebx], 0
jmp 0x44b019
cmp dword [ebx], 0
jne 0x44b10a
push 0x80
call fcn.004ade16
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x80], 1
test eax, eax
je 0x44b042
mov ecx, eax
call fcn.004343f0
jmp 0x44b044
xor eax, eax
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x80], 0xffffffff
test eax, eax
js 0x44b086
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x44b086
shl eax, 4
add eax, ecx
mov ecx, dword [0x4fe4e8]
mov ecx, dword [ecx + eax*4 + 4]
call fcn.00466460
cmp eax, 2
jne 0x44b086
mov eax, dword [0x4fe4e8]
add eax, dword [esp + 0x3c]
push dword [eax + ebx]
jmp 0x44b09d
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
lea edx, [eax + ecx*2]
mov eax, dword [0x4fe4e8]
push dword [eax + edx*4 + 0x1938]
mov ecx, dword [ebx]
call fcn.00477940
mov ecx, dword [0x4fe4e8]
sub esp, 8
mov eax, dword [ecx + 0x6c4]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [ecx + 0x6c0]
cvtdq2pd xmm0, xmm0
cdq
mov ecx, dword [ebx]
sub eax, edx
sar eax, 1
addsd xmm0, qword [esi + 0x28]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [esi + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.004778e0
movsd xmm0, qword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsd qword [esi + 0x260], xmm0
sub eax, dword [esi + 0x18]
movd xmm1, eax
mov eax, edi
sub eax, dword [esi + 0x1c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
call fcn.004af910
movapd xmm1, xmm0
xorps xmm2, xmm2
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x44b14c
movsd xmm1, qword [0x4cc960]
movsd xmm0, qword [esi + 0x258]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x44b16c
movsd xmm0, qword [0x4cc970]
comisd xmm0, xmm1
jbe 0x44b17c
mulsd xmm1, qword [0x4cc988]
movsd qword [esi + 0x258], xmm1
mov eax, dword [ebp + 8]
test eax, eax
js 0x44b187
test edi, edi
jns 0x44b18f
movsd qword [esi + 0x258], xmm2
mov ecx, dword [esp + 0x34]
add ebx, 4
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, 2
mov ecx, dword [esp + 0x38]
jl 0x44afb1
push edi
push eax
mov ecx, esi
call fcn.0044a710
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10