Function at 0x10076ad0
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 [0x101bf8f4]
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 0x10076ee2
mov eax, ebx
and eax, 2
mov dword [esp + 0x28], eax
je 0x10076b32
cmp dword [edi + 0x1a4], 0
je 0x10076b32
call fcn.10068500
mov esi, dword [0x101bf8f4]
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.1004ce90
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esi + 0x1be0], eax
jne 0x10076b62
mov dword [esi + 0x1be4], eax
cmp dword [esi + 0x1c1c], eax
jne 0x10076b71
mov byte [esi + 0x1c20], 1
mov eax, dword [esp + 0x20]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10076b96
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10076b96
cmp dl, 0x23
jne 0x10076b90
cmp byte [ecx + 1], dl
je 0x10076b96
inc ecx
cmp ecx, 0xffffffff
jb 0x10076b80
movss xmm0, dword [esi + 0x1940]
xorps xmm7, xmm7
cmp eax, ecx
jne 0x10076baa
xorps xmm1, xmm1
jmp 0x10076bf3
movss xmm3, dword [0x101b65fc]
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.10064d90
movss xmm0, dword [esp + 0x30]
xorps xmm7, xmm7
addss xmm0, dword [0x101b63c8]
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 xmm2, dword [esi + 4]
ucomiss xmm2, xmm7
movss dword [esp + 0x2c], xmm2
lahf
test ah, 0x44
jp 0x10076c23
movaps xmm2, xmm0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esi]
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jp 0x10076c33
movaps xmm0, xmm1
movss xmm4, dword [edi + 0xf4]
lea ecx, [esp + 0x48]
addss xmm4, dword [edi + 0x128]
movss xmm3, dword [edi + 0xf0]
movaps xmm1, xmm3
movss dword [esp + 0x48], xmm0
addss xmm1, xmm0
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x30], xmm3
movaps xmm0, xmm4
movss dword [esp + 0x24], xmm4
addss xmm0, xmm2
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x7c], xmm0
call fcn.10058570
cmp dword [esp + 0x28], 0
movss xmm3, dword [edi + 0x5c]
je 0x10076cbb
mov eax, dword [0x101bf8f4]
mov eax, dword [eax + 0x1bac]
movss xmm0, dword [eax + 0x258]
subss xmm0, dword [eax + 0x14]
jmp 0x10076cfc
mov ecx, dword [0x101bf8f4]
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 0x10076cf0
cmp dword [ecx + 0x1f18], 0
je 0x10076d02
movss xmm0, dword [eax + 0x228]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
addss xmm0, dword [edi + 0x14]
movss xmm1, dword [esi + 4]
movss xmm6, dword [esp + 0x30]
ucomiss xmm1, xmm7
subss xmm0, xmm3
lahf
subss xmm0, xmm6
maxss xmm0, dword [esp + 0x40]
test ah, 0x44
jp 0x10076d2f
movss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esi]
mov ecx, ebx
and ecx, 0x1000000
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jnp 0x10076d5b
test ecx, ecx
jne 0x10076d5b
movss xmm5, dword [esp + 0x24]
movaps xmm4, xmm6
addss xmm4, xmm2
addss xmm5, xmm1
jmp 0x10076d7d
movss xmm5, dword [esp + 0x24]
movaps xmm4, xmm6
ucomiss xmm2, xmm7
addss xmm4, xmm0
addss xmm5, xmm1
lahf
test ah, 0x44
jnp 0x10076d79
test ecx, ecx
je 0x10076d7d
addss xmm4, xmm3
movss xmm2, dword [ebp + 0x1570]
movss xmm3, dword [ebp + 0x1574]
movaps xmm0, xmm2
mulss xmm0, dword [0x101b6388]
mov ebp, ebx
push ecx
lea ecx, [esp + 0x64]
push 0
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x101b6388]
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
subss xmm6, xmm1
subss xmm2, xmm1
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x68], xmm6
addss xmm2, xmm4
movss xmm6, dword [esp + 0x2c]
subss xmm3, xmm0
subss xmm6, xmm0
movss dword [esp + 0x70], xmm2
addss xmm3, xmm5
movss dword [esp + 0x6c], xmm6
movss dword [esp + 0x74], xmm3
and ebp, 8
je 0x10076e23
mov esi, dword [edi + 0x1bc]
mov eax, esi
mov edx, dword [esp + 0x20]
or eax, 0x14
mov dword [edi + 0x1bc], eax
call fcn.100586a0
mov dword [edi + 0x1bc], esi
mov esi, dword [esp + 0x20]
jmp 0x10076e2e
mov esi, dword [esp + 0x20]
mov edx, esi
call fcn.100586a0
add esp, 8
test al, al
jne 0x10076eec
test bl, 2
je 0x10076ee2
cmp dword [edi + 0x1a4], 0
je 0x10076ee2
mov eax, dword [0x101bf8f4]
mov esi, dword [eax + 0x1bac]
mov edx, dword [esi + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x10076ee2
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.100633c0
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.10069d10
mov esi, dword [0x101bf8f4]
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 0x10076f8f
mov ecx, ebp
test al, al
je 0x1007700b
test ebx, 0x4000000
je 0x1007700b
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 0x10076ff4
mov ebp, dword [esp + 0x1c]
cmp dword [ebp + 0x1d44], edi
jne 0x10076ff4
mov eax, dword [ebp + 0x1d8c]
mov ecx, edx
cmp eax, dword [edi + 0x13c]
jne 0x10076ff0
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 0x1007700b
or dword [esi + 0x1c50], 4
mov word [esi + 0x1bf0], 0x101
test ecx, ecx
je 0x10077033
mov ecx, dword [esi + 0x1c48]
cmp dword [esi + 0x1bcc], ecx
jne 0x10077024
mov byte [esi + 0x1bd4], 1
cmp dword [esi + 0x1be0], ecx
jne 0x10077033
mov byte [esi + 0x1bed], 1
mov cl, byte [esp + 0x17]
test cl, cl
je 0x1007704b
test ebx, 0x2000000
je 0x1007704b
mov al, 1
mov byte [esp + 0x15], al
jmp 0x10077059
test al, al
jne 0x10077059
cmp byte [esp + 0x30], al
je 0x100771b8
test cl, cl
je 0x10077068
test al, al
je 0x10077068
mov ebp, 0x1a
jmp 0x1007707a
xor eax, eax
cmp byte [esp + 0x15], al
setne al
add eax, 0x18
mov dword [esp + 0x38], eax
mov ebp, eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
movss xmm1, dword [0x101b63d0]
push 0
push ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x54], ecx
mov ecx, ebp
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x1bac]
mov dword [esp + 0x40], eax
mov dword [esp], 0
call fcn.1004dac0
mov ecx, dword [edx + 0x294]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.100627a0
mov eax, dword [0x101bf8f4]
xorps xmm0, xmm0
movss xmm3, dword [0x101b63d0]
movss xmm1, dword [eax + 0x1528]
mulss xmm1, dword [0x101b6314]
comiss xmm0, xmm1
jbe 0x100770f9
xorps xmm2, xmm2
jmp 0x10077100
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm4, dword [0x101b6598]
movss xmm5, dword [0x101b6388]
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si ecx, xmm2
shl ecx, 0x18
comiss xmm0, xmm1
jbe 0x10077129
xorps xmm1, xmm1
jmp 0x1007712d
minss xmm1, xmm3
movss xmm2, dword [eax + 0x1528]
mulss xmm2, dword [0x101b62f0]
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
shl edx, 0x18
comiss xmm0, xmm2
jbe 0x10077156
xorps xmm1, xmm1
jmp 0x1007715d
movaps xmm1, xmm2
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x18
comiss xmm0, xmm2
ja 0x10077178
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.10062910
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x60]
push 0xa
call fcn.1004eac0
mov esi, dword [0x101bf8f4]
add esp, 4
test bl, 2
je 0x100772b1
cmp dword [edi + 0x1a4], 0
je 0x100772b1
mov ebp, dword [esi + 0x1bac]
mov edx, dword [ebp + 0x1a4]
cmp dword [edx + 0x10], 1
je 0x10077266
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.100633c0
mov esi, dword [0x101bf8f4]
mov eax, dword [esi + 0x1bac]
cmp dword [eax + 0x1a4], 0
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x258]
subss xmm1, xmm0
jne 0x1007728f
cmp dword [esi + 0x1f18], 0
je 0x1007729b
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 0x100772ee
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.1005eb30
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [eax + 0x15fc]
movups xmmword [esi + 0x15ec], xmm0
jmp 0x100772f2
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.1004e1f0
add esp, 0x14
test bl, 8
mov ebx, dword [0x101bf8f4]
je 0x10077350
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 0x100773f4
test dword [edi + 0x10], 0x4000000
je 0x100773f4
test byte [esp + 0x88], 1
jne 0x100773f4
test byte [edi + 0x1bc], 0x20
jne 0x100773f4
mov ecx, dword [ebx + 0x1d2c]
sub ecx, 1
js 0x100773f4
cmp ecx, dword [ebx + 0x1d20]
jge 0x100773f4
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 0x100773f4
test ecx, ecx
jle 0x100773dc
lea eax, [esi - 0x20]
add eax, edx
mov esi, dword [eax + 0x24]
mov edx, dword [eax]
test esi, esi
je 0x100773dc
test dword [esi + 0x10], 0x10000000
je 0x100773dc
test edx, edx
je 0x100773d4
test dword [edx + 0x10], 0x8000000
jne 0x100773dc
dec ecx
sub eax, 0x24
test ecx, ecx
jg 0x100773b5
mov dl, 1
call fcn.1005a080
mov eax, dword [ebx + 0x1d44]
test eax, eax
je 0x100773f4
mov byte [eax + 0x14c], 1
mov al, byte [esp + 0x16]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret