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

Disassembly:
sub esp, 0x74
push ebx
mov ebx, dword [esp + 0x7c]
push ebp
push esi
mov esi, dword [0x10132b9c]
mov ebp, esi
push edi
mov byte [esp + 0x16], dl
mov dword [esp + 0x20], ecx
mov eax, dword [ebp + 0x1bac]
mov dword [esp + 0x1c], ebp
mov byte [eax + 0xac], 1
mov edi, dword [ebp + 0x1bac]
mov dword [esp + 0x38], edi
cmp byte [edi + 0xaf], 0
jne 0x10066396
mov eax, ebx
and eax, 2
mov dword [esp + 0x28], eax
je 0x10065fe4
mov edx, dword [edi + 0x1a4]
test edx, edx
je 0x10065fe4
cmp dword [edx + 0x10], 1
je 0x10065fe4
movups xmm0, xmmword [edi + 0x240]
push 0
movups xmmword [edx + 0x3c], xmm0
mov eax, dword [edi + 0x294]
movups xmm0, xmmword [edx + 0x2c]
movss xmm4, dword [edx + 0x2c]
movss xmm3, dword [edx + 0x30]
movss xmm2, dword [edx + 0x34]
movss xmm1, dword [edx + 0x38]
movups xmmword [edi + 0x240], xmm0
movss dword [esp + 0x64], xmm4
movss dword [esp + 0x68], xmm3
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x70], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [edi + 0x294]
movups xmm0, xmmword [esp + 0x64]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
lea ecx, [edx + 0x68]
push dword [edi + 0x294]
call fcn.100508f0
mov esi, dword [0x10132b9c]
mov ecx, dword [edi + 0xe4]
xor edx, edx
mov eax, dword [edi + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x24]
call fcn.10037830
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esi + 0x1be0], eax
jne 0x10066014
mov dword [esi + 0x1be4], eax
cmp dword [esi + 0x1c1c], eax
jne 0x10066023
mov byte [esi + 0x1c20], 1
mov eax, dword [esp + 0x20]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10066046
nop
mov dl, byte [ecx]
test dl, dl
je 0x10066046
cmp dl, 0x23
jne 0x10066040
cmp byte [ecx + 1], dl
je 0x10066046
inc ecx
cmp ecx, 0xffffffff
jb 0x10066030
movss xmm0, dword [esi + 0x1940]
xorps xmm7, xmm7
cmp eax, ecx
jne 0x1006605a
xorps xmm1, xmm1
jmp 0x100660a3
movss xmm3, dword [0x1012c9d0]
movaps xmm2, xmm0
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x193c]
lea eax, [esp + 0x40]
mov dword [esp], 0xbf800000
push eax
call fcn.100524f0
movss xmm0, dword [esp + 0x30]
xorps xmm7, xmm7
addss xmm0, dword [0x1012c83c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x34]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov esi, dword [esp + 0x8c]
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x40], xmm1
movss xmm3, dword [esi + 4]
ucomiss xmm3, xmm7
movss dword [esp + 0x2c], xmm3
lahf
test ah, 0x44
jp 0x100660d3
movaps xmm3, xmm0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esi]
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jp 0x100660e3
movaps xmm0, xmm1
movss xmm4, dword [edi + 0xf4]
lea ecx, [esp + 0x48]
addss xmm4, dword [edi + 0x128]
movss xmm2, dword [edi + 0xf0]
movaps xmm1, xmm2
movss dword [esp + 0x48], xmm0
addss xmm1, xmm0
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x30], xmm2
movaps xmm0, xmm4
movss dword [esp + 0x24], xmm4
addss xmm0, xmm3
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x7c], xmm0
call fcn.10044a40
cmp dword [esp + 0x28], 0
movss xmm3, dword [edi + 0x5c]
je 0x1006616b
mov eax, dword [0x10132b9c]
mov eax, dword [eax + 0x1bac]
movss xmm0, dword [eax + 0x258]
subss xmm0, dword [eax + 0x14]
jmp 0x100661ac
mov ecx, dword [0x10132b9c]
mov eax, dword [ecx + 0x1bac]
cmp dword [eax + 0x1a4], 0
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x258]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
jne 0x100661a0
cmp dword [ecx + 0x1f18], 0
je 0x100661b2
movss xmm0, dword [eax + 0x228]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
addss xmm0, dword [edi + 0x14]
movss xmm6, dword [esi + 4]
movss xmm1, dword [esp + 0x30]
ucomiss xmm6, xmm7
subss xmm0, xmm3
lahf
subss xmm0, xmm1
maxss xmm0, dword [esp + 0x40]
test ah, 0x44
jp 0x100661df
movss xmm6, dword [esp + 0x2c]
movss xmm2, dword [esi]
mov ecx, ebx
and ecx, 0x1000000
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jnp 0x10066207
test ecx, ecx
jne 0x10066207
addss xmm6, dword [esp + 0x24]
movaps xmm4, xmm1
addss xmm4, xmm2
jmp 0x1006622b
addss xmm6, dword [esp + 0x24]
ucomiss xmm2, xmm7
movaps xmm4, xmm1
addss xmm4, xmm0
lahf
movaps xmm1, xmm4
test ah, 0x44
jnp 0x10066224
test ecx, ecx
je 0x1006622b
movaps xmm4, xmm3
addss xmm4, xmm1
movss xmm2, dword [ebp + 0x1570]
movss xmm3, dword [ebp + 0x1574]
movaps xmm0, xmm2
mulss xmm0, dword [0x1012c800]
mov ebp, ebx
push ecx
movss xmm5, dword [esp + 0x34]
lea ecx, [esp + 0x64]
push 0
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1012c800]
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
subss xmm5, xmm1
subss xmm2, xmm1
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x68], xmm5
addss xmm2, xmm4
movss xmm5, dword [esp + 0x2c]
subss xmm3, xmm0
subss xmm5, xmm0
movss dword [esp + 0x70], xmm2
addss xmm3, xmm6
movss dword [esp + 0x6c], xmm5
movss dword [esp + 0x74], xmm3
and ebp, 8
je 0x100662d7
mov esi, dword [edi + 0x1bc]
mov eax, esi
mov edx, dword [esp + 0x20]
or eax, 0x14
mov dword [edi + 0x1bc], eax
call fcn.10044b70
mov dword [edi + 0x1bc], esi
mov esi, dword [esp + 0x20]
jmp 0x100662e2
mov esi, dword [esp + 0x20]
mov edx, esi
call fcn.10044b70
add esp, 8
test al, al
jne 0x100663a0
test bl, 2
je 0x10066396
cmp dword [edi + 0x1a4], 0
je 0x10066396
mov eax, dword [0x10132b9c]
mov esi, dword [eax + 0x1bac]
mov edx, dword [esi + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x10066396
movups xmm0, xmmword [edx + 0x3c]
mov eax, dword [esi + 0x294]
movss xmm4, dword [edx + 0x3c]
movss xmm3, dword [edx + 0x40]
movss xmm2, dword [edx + 0x44]
movss xmm1, dword [edx + 0x48]
movups xmmword [esi + 0x240], xmm0
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x6c], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [esi + 0x294]
movups xmm0, xmmword [esp + 0x60]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [edx + 0xc]
lea ecx, [edx + 0x68]
inc eax
push eax
push dword [esi + 0x294]
call fcn.100508f0
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
movzx eax, byte [esp + 0x16]
mov ecx, ebx
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x10
test ebx, 0x400000
cmove edx, ecx
mov ecx, edx
or ecx, 0x80
test ebx, 0x800000
cmove ecx, edx
mov edx, ecx
or edx, 0x120
test bl, 4
cmove edx, ecx
xor ecx, ecx
test ebp, ebp
mov ebp, ebx
cmove ecx, eax
mov eax, edx
or eax, 0x1000
mov dword [esp + 0x30], ecx
and ebp, 0x10
lea ecx, [esp + 0x60]
cmove eax, edx
mov edx, esi
push eax
lea eax, [esp + 0x1b]
push eax
lea eax, [esp + 0x1d]
push eax
call fcn.10057860
mov esi, dword [0x10132b9c]
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
mov al, byte [esp + 0x15]
mov edx, ebp
mov byte [esp + 0x15], al
jne 0x10066443
mov ecx, ebp
test al, al
je 0x100664bf
test ebx, 0x4000000
je 0x100664bf
mov edx, ebx
and edx, 0x10
mov edi, dword [esp + 0x1c]
mov ecx, ebp
cmp byte [edi + 0x1d97], 0
mov edi, dword [esp + 0x38]
jne 0x100664a8
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0x1d44], edi
jne 0x100664a8
mov eax, dword [ebp + 0x1d8c]
mov ecx, edx
cmp eax, dword [edi + 0x13c]
jne 0x100664a4
mov byte [ebp + 0x1d96], 1
mov eax, dword [edi + 0x148]
mov ecx, dword [edi + 0x13c]
mov ebp, dword [esp + 0x18]
mov dword [esi + 0x1d4c], eax
mov eax, dword [esi + 0x1d44]
mov dword [esi + 0x1d48], ebp
mov dword [eax + ecx*4 + 0x33c], ebp
mov ecx, edx
mov al, byte [esp + 0x15]
cmp byte [esp + 0x16], 0
je 0x100664bf
or dword [esi + 0x1c50], 4
mov word [esi + 0x1bf0], 0x101
test ecx, ecx
je 0x100664e7
mov ecx, dword [esi + 0x1c48]
cmp dword [esi + 0x1bcc], ecx
jne 0x100664d8
mov byte [esi + 0x1bd4], 1
cmp dword [esi + 0x1be0], ecx
jne 0x100664e7
mov byte [esi + 0x1bed], 1
mov cl, byte [esp + 0x17]
test cl, cl
je 0x100664ff
test ebx, 0x2000000
je 0x100664ff
mov al, 1
mov byte [esp + 0x15], al
jmp 0x1006650d
test al, al
jne 0x1006650d
cmp byte [esp + 0x30], al
je 0x10066713
test cl, cl
je 0x1006651c
test al, al
je 0x1006651c
mov eax, 0x1a
jmp 0x10066528
xor eax, eax
cmp byte [esp + 0x15], al
setne al
add eax, 0x18
movss xmm3, dword [0x1012c844]
add eax, eax
xorps xmm0, xmm0
movups xmm1, xmmword [esi + eax*8 + 0x15ec]
comiss xmm0, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [esi + 0x1528]
movups xmmword [esp + 0x48], xmm1
jbe 0x1006655b
xorps xmm1, xmm1
jmp 0x1006655f
minss xmm1, xmm3
movss xmm4, dword [0x1012c990]
movss xmm5, dword [0x1012c800]
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
movss xmm1, dword [esp + 0x4c]
comiss xmm0, xmm1
jbe 0x1006658b
xorps xmm1, xmm1
jmp 0x1006658f
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x50]
shl eax, 8
or edx, eax
comiss xmm0, xmm1
jbe 0x100665b0
xorps xmm1, xmm1
jmp 0x100665b4
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x10
or edx, eax
comiss xmm0, xmm2
jbe 0x100665cf
xorps xmm2, xmm2
jmp 0x100665d3
minss xmm2, xmm3
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mulss xmm2, xmm4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x38], eax
addss xmm2, xmm5
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x64]
push 0
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x1bac]
cvttss2si eax, xmm2
push ecx
mov dword [esp], 0
mov ecx, dword [ecx + 0x294]
shl eax, 0x18
or eax, edx
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.1004fb90
mov eax, dword [0x10132b9c]
xorps xmm0, xmm0
movss xmm3, dword [0x1012c844]
movss xmm1, dword [eax + 0x1528]
mulss xmm1, dword [0x1012c7ac]
comiss xmm0, xmm1
jbe 0x10066654
xorps xmm2, xmm2
jmp 0x1006665b
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm4, dword [0x1012c990]
movss xmm5, dword [0x1012c800]
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si ecx, xmm2
shl ecx, 0x18
comiss xmm0, xmm1
jbe 0x10066684
xorps xmm1, xmm1
jmp 0x10066688
minss xmm1, xmm3
movss xmm2, dword [eax + 0x1528]
mulss xmm2, dword [0x1012c790]
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
shl edx, 0x18
comiss xmm0, xmm2
jbe 0x100666b1
xorps xmm1, xmm1
jmp 0x100666b8
movaps xmm1, xmm2
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x18
comiss xmm0, xmm2
ja 0x100666d3
minss xmm2, xmm3
movaps xmm0, xmm2
mulss xmm0, xmm4
push ecx
mov ecx, dword [edi + 0x294]
push edx
push eax
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x18
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.1004fd00
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x60]
push 0xa
call fcn.10039680
mov esi, dword [0x10132b9c]
add esp, 4
test bl, 2
je 0x1006680c
cmp dword [edi + 0x1a4], 0
je 0x1006680c
mov ebp, dword [esi + 0x1bac]
mov edx, dword [ebp + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x100667c1
movups xmm0, xmmword [edx + 0x3c]
mov eax, dword [ebp + 0x294]
movss xmm4, dword [edx + 0x3c]
movss xmm3, dword [edx + 0x40]
movss xmm2, dword [edx + 0x44]
movss xmm1, dword [edx + 0x48]
movups xmmword [ebp + 0x240], xmm0
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm1
movss dword [eax + 0x60], xmm4
movss dword [eax + 0x64], xmm3
movss dword [eax + 0x68], xmm2
movss dword [eax + 0x6c], xmm1
mov eax, dword [ebp + 0x294]
movups xmm0, xmmword [esp + 0x48]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmmword [eax + ecx*8 - 0x10], xmm0
mov eax, dword [edx + 0xc]
lea ecx, [edx + 0x68]
inc eax
push eax
push dword [ebp + 0x294]
call fcn.100508f0
mov esi, dword [0x10132b9c]
mov eax, dword [esi + 0x1bac]
cmp dword [eax + 0x1a4], 0
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x258]
subss xmm1, xmm0
jne 0x100667ea
cmp dword [esi + 0x1f18], 0
je 0x100667f6
movss xmm1, dword [eax + 0x228]
subss xmm1, xmm0
subss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x68]
subss xmm0, xmm1
movss dword [esp + 0x68], xmm0
test bl, 8
je 0x10066849
movups xmm0, xmmword [esi + 0x15ec]
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea ecx, [esi + 0x1cd8]
movups xmmword [esp + 0x50], xmm0
call fcn.1004b950
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [eax + 0x15fc]
movups xmmword [esi + 0x15ec], xmm0
jmp 0x1006684d
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
add eax, 0x15c4
push ecx
push eax
lea eax, [esp + 0x48]
push eax
push ecx
push dword [esp + 0x30]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x84]
call fcn.10038d20
add esp, 0x14
test bl, 8
mov ebx, dword [0x10132b9c]
je 0x100668ab
mov eax, dword [ebx + 0x1cd8]
mov ecx, dword [ebx + 0x1ce0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [ebx + eax*8 + 0x15ec], xmm0
dec dword [ebx + 0x1cd8]
cmp byte [esp + 0x16], 0
je 0x1006694f
test dword [edi + 0x10], 0x4000000
je 0x1006694f
test byte [esp + 0x88], 1
jne 0x1006694f
test byte [edi + 0x1bc], 0x20
jne 0x1006694f
mov ecx, dword [ebx + 0x1d2c]
sub ecx, 1
js 0x1006694f
cmp ecx, dword [ebx + 0x1d20]
jge 0x1006694f
mov eax, dword [ebx + 0x1d34]
lea edx, [ecx + ecx*8]
mov esi, dword [ebx + 0x1d28]
shl edx, 2
mov eax, dword [edx + eax]
cmp eax, dword [esi + edx]
jne 0x1006694f
test ecx, ecx
jle 0x10066937
lea eax, [esi - 0x20]
add eax, edx
mov esi, dword [eax + 0x24]
mov edx, dword [eax]
test esi, esi
je 0x10066937
test dword [esi + 0x10], 0x10000000
je 0x10066937
test edx, edx
je 0x1006692f
test dword [edx + 0x10], 0x8000000
jne 0x10066937
dec ecx
sub eax, 0x24
test ecx, ecx
jg 0x10066910
mov dl, 1
call fcn.10046760
mov eax, dword [ebx + 0x1d44]
test eax, eax
je 0x1006694f
mov byte [eax + 0x14c], 1
mov al, byte [esp + 0x16]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret