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

Disassembly:
sub esp, 0xf4
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x110]
push ebx
movups xmm0, xmmword [ecx + 0x14]
push ebp
movups xmm1, xmmword [ecx + 4]
push esi
movups xmm2, xmmword [ecx + 0x24]
push edi
mov esi, dword [esp + 0x114]
lea ebx, [edx + 4]
mov dword [esp + 0x14], eax
lea ebp, [ecx + 0xe8]
mov eax, dword [ecx + 0x34]
add ecx, 0xc8
movups xmmword [esp + 0xcc], xmm0
mov dword [esp + 0xec], eax
movaps xmm0, xmm1
mov edi, dword [esp + 0x108]
psrldq xmm0, 8
movd eax, xmm0
psrldq xmm1, 4
psrldq xmm2, 8
push eax
mov dword [esp + 0x34], eax
movd eax, xmm1
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], ecx
push eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push edx
push ecx
push ebp
push dword [esp + 0x134]
movd ebx, xmm2
push esi
push dword [esp + 0x134]
mov dword [esp + 0x60], ebx
push ebx
push dword [esp + 0x40]
push edi
call fcn.10452120
add esp, 0x34
test al, al
jne 0x1044fb08
cmp dword [esp + 0x118], 0
jg 0x1044fb08
jl 0x1044f43d
cmp esi, 0x3b9aca00
jae 0x1044fb08
cmp ebx, 6
je 0x1044f464
cmp ebx, 9
je 0x1044f45a
cmp ebx, 0xc
jne 0x1044fb08
mov dword [esp + 0x20], 0x109a3058
jmp 0x1044f46c
mov dword [esp + 0x20], 0x109a2718
jmp 0x1044f46c
mov dword [esp + 0x20], 0x109a1af8
movd xmm0, dword [esp + 0x110]
mov eax, dword [esp + 0x124]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x74], xmm0
test eax, eax
je 0x1044f49c
bsr eax, eax
inc eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x78], xmm0
jmp 0x1044f4a4
mov dword [esp + 0x78], 0
mov ecx, dword [ebp]
xorps xmm0, xmm0
mov eax, dword [ebp + 4]
mov dword [esp + 0x24], ecx
add ecx, 0xffffffff
movups xmmword [esp + 0xbc], xmm0
adc eax, 0xffffffff
movups xmmword [esp + 0xcc], xmm0
test eax, eax
ja 0x1044f4d5
jb 0x1044f4e0
cmp ecx, 0x3b9ac9fe
jbe 0x1044f4e0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x24], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x28], edx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f4fe
jb 0x1044f509
cmp edx, 0x3b9ac9fe
jbe 0x1044f509
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x28], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2c], ecx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f527
jb 0x1044f532
cmp ecx, 0x3b9ac9fe
jbe 0x1044f532
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x2c], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x18], edx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f550
jb 0x1044f55b
cmp edx, 0x3b9ac9fe
jbe 0x1044f55b
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], ebp
add ebp, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f57c
jb 0x1044f587
cmp ebp, 0x3b9ac9fe
jbe 0x1044f587
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x10], edx
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f5a5
jb 0x1044f5b0
cmp edx, 0x3b9ac9fe
jbe 0x1044f5b0
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov ebp, dword [ecx + 0x10]
mov edx, ebp
mov eax, dword [ecx + 0x14]
add edx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f5cc
jb 0x1044f5d3
cmp edx, 0x3b9ac9fe
jbe 0x1044f5d3
mov ebp, dword [esp + 0xd4]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
mov ecx, edx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1044f5ef
jb 0x1044f5f6
cmp ecx, 0x3b9ac9fe
jbe 0x1044f5f6
mov edx, dword [esp + 0xd8]
movss xmm1, dword [0x105f14d0]
mov eax, dword [esp + 0x24]
movaps xmm2, xmm1
test eax, eax
jle 0x1044f61f
cmp eax, esi
jge 0x1044f61f
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x1044f646
cmp eax, esi
jge 0x1044f646
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x2c]
movss dword [esp + 0x80], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x1044f670
cmp eax, esi
jge 0x1044f670
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x18]
movss dword [esp + 0x84], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x1044f69a
cmp eax, esi
jge 0x1044f69a
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x88], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x1044f6c4
cmp eax, esi
jge 0x1044f6c4
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
mov eax, dword [esp + 0x10]
movss dword [esp + 0x8c], xmm2
movaps xmm2, xmm1
test eax, eax
jle 0x1044f6ee
cmp eax, esi
jge 0x1044f6ee
movd xmm2, eax
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss dword [esp + 0x90], xmm2
movaps xmm2, xmm1
test ebp, ebp
jle 0x1044f714
cmp ebp, esi
jge 0x1044f714
movd xmm2, ebp
movd xmm0, esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss dword [esp + 0x94], xmm2
test edx, edx
jle 0x1044f737
cmp edx, esi
jge 0x1044f737
movd xmm1, edx
movd xmm0, esi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
xorps xmm0, xmm0
movss dword [esp + 0x98], xmm1
push 8
push ebx
movups xmmword [esp + 0x6c], xmm0
movups xmmword [esp + 0x5c], xmm0
call fcn.10452790
push 9
push ebx
mov ebp, eax
call fcn.10452790
mov ecx, dword [edi + 0x3e7a8]
xor edx, edx
push ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
cmp byte [ecx + 0x4d], dl
sete dl
lea edx, [edx*2 + 1]
push edx
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [edi + 0x3eee0]
push ebx
call fcn.1010fb10
mov eax, dword [ebx + 0x28]
lea edx, [ebx + 0xe0]
mov ecx, dword [ebx + 0x18]
add esp, 0x28
mov ebx, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0xcc], eax
nop
movzx eax, byte [ebp + 0x109bddd0]
imul eax, esi
push 0
push ebp
imul eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x48], eax
movzx eax, byte [ebx + 0x109bddb8]
imul eax, esi
add eax, ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x48]
push eax
push edx
push edi
call fcn.1010f6b0
push 0
mov dword [esp + esi*4 + 0x7c], eax
lea eax, [esp + 0xd4]
push ebx
push eax
push dword [esp + 0x34]
push edi
call fcn.1010f6b0
mov ecx, dword [esp + 0x40]
add esp, 0x28
mov edx, dword [esp + 0x14]
mov dword [esp + esi*4 + 0x54], eax
inc esi
cmp esi, 4
jl 0x1044f7c0
mov eax, dword [esp + 0x124]
inc eax
movss xmm3, dword [0x107a430c]
movss xmm2, dword [0x1058db38]
movaps xmm1, xmm3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x64]
inc eax
cvtpd2ps xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x68]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0x9c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x6c]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0xa0], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x70]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0xa4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x54]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0xa8], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x58]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [esp + 0xac], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
inc eax
movaps xmm1, xmm3
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0xb0], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x60]
inc eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm1, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [esp + 0xb4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov al, byte [edi + 0x3abf0]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm4
maxss xmm3, xmm0
minss xmm2, xmm3
movss dword [esp + 0xb8], xmm2
test al, al
je 0x1044fa4f
cmp al, 2
je 0x1044fa4f
push dword [esp + 0x30]
cmp dword [edi + 0x91728], 0
lea eax, [esp + 0x78]
push dword [esp + 0x38]
push ebx
push 7
push 0x12
push eax
setne al
movzx eax, al
push eax
push dword [edi + 0x3eec0]
call fcn.10453720
add esp, 0x20
lea eax, [esp + 0xf0]
xorps xmm0, xmm0
push eax
push 1
push dword [esp + 0x28]
lea eax, [esp + 0x80]
push eax
movups xmmword [esp + 0x100], xmm0
call dword [0x10b48580]
movss xmm1, dword [0x108b7a18]
add esp, 0x10
mov ecx, 0xfffffc18
xor edx, edx
nop dword [eax + eax]
movss xmm0, dword [esp + edx + 0xf0]
mulss xmm0, xmm1
cvttss2si eax, xmm0
cmp eax, ecx
mov dword [esp + edx + 0x54], eax
cmovle eax, ecx
add edx, 4
mov ecx, eax
cmp edx, 0x10
jl 0x1044fa90
cmp ebx, 6
je 0x1044facb
cmp ebx, 9
je 0x1044facb
cmp ebx, 0xc
jne 0x1044fad1
add ecx, 0xffffff38
jmp 0x1044fad1
add ecx, 0xfffffe0c
xorps xmm0, xmm0
mov eax, dword [esp + 0x3c]
movq qword [eax], xmm0
cmp dword [esp + 0x58], ecx
jl 0x1044fae8
mov dword [eax], 1
cmp dword [esp + 0x5c], ecx
jl 0x1044faf5
mov dword [eax + 4], 1
cmp dword [esp + 0x60], ecx
jl 0x1044fb08
mov dword [eax], 1
mov dword [eax + 4], 1
mov ecx, dword [esp + 0x100]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0xf4
ret