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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4cb756
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4fdb40]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
test esi, esi
je 0x44a9b8
call fcn.004676d0
cmp eax, 2
je 0x44a3a3
movsd xmm0, qword [0x4cf740]
comisd xmm0, xmmword [esi + 0x10]
ja 0x44a9b8
mov ebx, dword [ebp + 8]
xorps xmm0, xmm0
mov edi, dword [ebp + 0xc]
movsd qword [esi + 0x10], xmm0
cmp ebx, dword [esi + 0x18]
jne 0x44a3e5
cmp edi, dword [esi + 0x1c]
jne 0x44a3e5
mov ecx, esi
call fcn.004676d0
cmp eax, 2
je 0x44a3e5
mov ecx, esi
call fcn.004676d0
cmp eax, 9
jne 0x44a779
mov eax, dword [esi + 4]
mov ecx, esi
mov byte [eax + 0x50], 1
jmp 0x44a516
push 0
mov ecx, esi
call fcn.004aa710
test al, al
jne 0x44a779
cmp byte [esi + 0x224], al
je 0x44a40a
mov byte [esi + 0x240], 1
jmp 0x44a779
cmp byte [esi + 0x208], 0
je 0x44a41f
mov byte [esi + 0x210], 1
jmp 0x44a779
mov ecx, esi
call fcn.004676d0
cmp eax, 1
je 0x44a43b
mov ecx, esi
call fcn.004676d0
cmp eax, 9
jne 0x44a4bf
mov eax, dword [esi + 4]
cmp byte [eax + 0xc], 0
je 0x44a4bf
movsd xmm0, qword [0x4cf6f0]
sub esp, 8
mov byte [eax + 0xc], 0
mov ecx, dword [0x5c15d0]
movsd qword [esp], xmm0
push 0
mov ecx, dword [ecx + 0x1a58]
call fcn.00496ce0
push 0x430
call fcn.004b0566
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x44a483
mov byte [ecx], 0
jmp 0x44a485
xor ecx, ecx
mov eax, dword [0x5c15d0]
movups xmm0, xmmword [esi + 0x20]
add eax, 0x13b8
mov dword [esp + 0x38], ecx
push eax
sub esp, 0x10
movups xmmword [esp], xmm0
call fcn.0043eb50
mov ecx, dword [0x5c15d0]
lea eax, [esp + 0x38]
push eax
lea ecx, [ecx + 0x4d4]
call fcn.0048be30
jmp 0x44a779
mov ecx, esi
call fcn.004676d0
cmp eax, 9
jne 0x44a52d
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
mov ecx, dword [eax + 0xc4]
cmp ecx, 1
je 0x44a4e2
cmp ecx, 6
jne 0x44a4f1
push 1
push 0
mov ecx, eax
call fcn.00438660
mov eax, dword [esp + 0x38]
test ebx, ebx
js 0x44a51b
test edi, edi
js 0x44a51b
cmp dword [eax + 0xc4], 3
jge 0x44a51b
mov eax, dword [0x5c15d0]
mov ecx, ebx
shl ecx, 4
add ecx, edi
mov ecx, dword [eax + ecx*4 + 4]
test ecx, ecx
je 0x44a51b
call fcn.00435530
push dword [esi + 0x1c]
mov ecx, esi
push dword [esi + 0x18]
call fcn.00449ef0
jmp 0x44a779
mov ecx, esi
call fcn.004676d0
cmp eax, 5
jne 0x44a5b8
cmp byte [esi + 0x1d8], 0
jne 0x44a9b8
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x1bc]
cmp eax, 1
je 0x44a59a
cmp eax, 2
je 0x44a59a
cmp eax, 5
jne 0x44a56a
mov byte [ecx + 0x1c0], 1
jmp 0x44a779
cmp eax, 3
je 0x44a9b8
cmp eax, 4
je 0x44a9b8
cmp eax, 6
jne 0x44a779
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
mov ecx, dword [esi + 0x18]
mov eax, dword [0x5c15d0]
shl ecx, 4
add ecx, dword [esi + 0x1c]
mov eax, dword [eax + ecx*4 + 4]
mov byte [eax], 1
jmp 0x44a779
mov ecx, esi
call fcn.004676d0
cmp eax, 3
jne 0x44a5d1
mov ecx, dword [esi + 4]
call fcn.00435320
jmp 0x44a779
mov ecx, esi
call fcn.004676d0
cmp eax, 0xf
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0xe
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0x10
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0xc
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0xa
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 4
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0xb
je 0x44a9b8
mov ecx, esi
call fcn.004676d0
cmp eax, 0xd
je 0x44a9b8
test ebx, ebx
js 0x44a6a3
test edi, edi
js 0x44a6a3
mov ecx, dword [0x5c15d0]
mov eax, ebx
shl eax, 4
add eax, edi
mov ecx, dword [ecx + eax*4 + 4]
call fcn.004676d0
cmp eax, 2
jne 0x44a6a3
mov ecx, esi
call fcn.004676d0
cmp eax, 2
jne 0x44a6b3
cmp ebx, dword [esi + 0x18]
jne 0x44a9b8
cmp edi, dword [esi + 0x1c]
je 0x44a6b3
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.004676d0
cmp eax, 2
je 0x44a9b8
cmp byte [esi + 0x1d8], 0
jne 0x44a9b8
mov ecx, esi
call fcn.00435530
mov eax, dword [esi + 4]
test eax, eax
je 0x44a700
mov byte [eax + 0x50], 1
mov eax, dword [esi + 4]
mov byte [eax + 0x63], 0x42
mov ecx, dword [esi + 4]
call fcn.00469330
cmp eax, 1
je 0x44a6f3
mov ecx, dword [esi + 4]
call fcn.00469330
cmp eax, 9
jne 0x44a700
push dword [esi + 0x1c]
mov ecx, esi
push dword [esi + 0x18]
call fcn.00449ef0
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x44a733
call fcn.00469330
cmp eax, 9
je 0x44a733
mov ecx, dword [esi + 8]
call fcn.00469330
cmp eax, 4
je 0x44a733
push dword [esi + 8]
mov ecx, dword [0x5c15d0]
call fcn.0046ee30
mov dword [esi + 8], 0
mov ecx, dword [0x5c15d0]
mov eax, dword [ecx + 0x6fc]
cmp eax, dword [esi + 0x18]
jne 0x44a75c
mov eax, dword [ecx + 0x700]
cmp eax, dword [esi + 0x1c]
jne 0x44a75c
mov byte [ecx + 0x6f8], 0
mov ecx, dword [0x5c15d0]
mov eax, dword [ecx + 0x708]
cmp eax, dword [esi + 0x18]
jne 0x44a779
mov eax, dword [ecx + 0x70c]
cmp eax, dword [esi + 0x1c]
jne 0x44a779
mov byte [ecx + 0x704], 0
mov ecx, 1
mov byte [esi + 0x258], 1
mov dword [esp + 0x38], ecx
cmp ebx, dword [esi + 0x18]
jne 0x44a79a
xor eax, eax
cmp edi, dword [esi + 0x1c]
cmove ecx, eax
mov dword [esp + 0x38], ecx
mov eax, 0x10b8
mov dword [esp + 0x34], 0
sub eax, esi
lea ebx, [esi + 0x25c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x44a815
mov edi, dword [ebx]
test edi, edi
je 0x44a81e
mov dword [esp + 0x40], edi
mov dword [esp + 0x80], ecx
mov ecx, edi
push 1
call fcn.0047a710
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x80], 0xffffffff
test eax, eax
je 0x44a804
push eax
call fcn.004b05b7
add esp, 4
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
push edi
call fcn.004b05b7
add esp, 4
mov dword [ebx], 0
jmp 0x44a81e
cmp dword [ebx], 0
jne 0x44a911
push 0x80
call fcn.004b0566
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x80], 1
test eax, eax
je 0x44a847
mov ecx, eax
call fcn.00434600
jmp 0x44a849
xor eax, eax
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x80], 0xffffffff
test eax, eax
js 0x44a88d
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x44a88d
shl eax, 4
add eax, ecx
mov ecx, dword [0x5c15d0]
mov ecx, dword [ecx + eax*4 + 4]
call fcn.004676d0
cmp eax, 2
jne 0x44a88d
mov edx, dword [esp + 0x3c]
mov eax, dword [0x5c15d0]
add edx, ebx
push dword [edx + eax]
jmp 0x44a8a4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
lea edx, [eax + ecx*2]
mov eax, dword [0x5c15d0]
push dword [eax + edx*4 + 0x1960]
mov ecx, dword [ebx]
call fcn.00479190
mov ecx, dword [0x5c15d0]
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.00479130
movsd xmm0, qword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsd qword [esi + 0x270], 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.004b2060
movapd xmm1, xmm0
xorps xmm2, xmm2
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jp 0x44a953
movsd xmm1, qword [0x4cf960]
movsd xmm0, qword [esi + 0x268]
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x44a973
movsd xmm0, qword [0x4cf970]
comisd xmm0, xmm1
jbe 0x44a983
mulsd xmm1, qword [0x4cf988]
movsd qword [esi + 0x268], xmm1
mov eax, dword [ebp + 8]
test eax, eax
js 0x44a98e
test edi, edi
jns 0x44a996
movsd qword [esi + 0x268], 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 0x44a7b6
push edi
push eax
mov ecx, esi
call fcn.00449ef0
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