Function at 0x10080c50
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x8c
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1008a9d0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [edx + 0x1820]
mov dword [ebx + 0x14], eax
cmp dword [ebp + 0x10], 0
je 0x10080ec7
mov ecx, dword [edx]
mov eax, dword [0x10132be8]
test al, 1
je 0x10081102
mov edi, dword [0x10132be4]
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax - 0x14]
test esi, esi
je 0x10080ec7
cmp dword [ebx + 0xc], 0
jle 0x10080ec3
cmp dword [ebx + 0x10], 2
jl 0x10080ec3
test byte [ebx + 8], 1
je 0x10080ec3
mov eax, dword [ebp + 0x10]
test byte [eax + 0x28], 1
je 0x10080ec3
vmovss xmm0, dword [ebx + 0x4c]
vucomiss xmm0, dword [eax + 8]
jne 0x10080cfa
jnp 0x10080df4
vmovss dword [ebp - 0x34], xmm0
vmovss xmm0, dword [ebx + 0x2c]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov edi, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
call edi
fstp dword [ebp - 0x74]
vmovss xmm0, dword [ebp - 0x74]
vmovss dword [ebp - 0x44], xmm0
vmovss xmm0, dword [ebp - 0x34]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x70]
vmovss xmm0, dword [ebp - 0x44]
vsubss xmm0, xmm0, dword [ebp - 0x70]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x6c]
vmovss xmm0, dword [ebp - 0x6c]
vbroadcastss xmm1, dword [0x100f550c]
vmovups xmmword [ebp - 0x44], xmm1
vandps xmm0, xmm0, xmm1
vmovups xmmword [ebp - 0x34], xmm0
mov eax, dword [ebp + 0x10]
vmovss xmm0, dword [eax + 8]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [eax + 0x30]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x68]
vmovss xmm0, dword [ebp - 0x68]
vmovss dword [ebp - 0x20], xmm0
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x64]
vmovss xmm0, dword [ebp - 0x20]
vsubss xmm0, xmm0, dword [ebp - 0x64]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
mov eax, dword [ebp + 0x10]
fstp dword [ebp - 0x60]
vmovss xmm0, dword [ebp - 0x60]
vandps xmm0, xmm0, xmmword [ebp - 0x44]
vmovups xmm1, xmmword [ebp - 0x34]
vucomiss xmm1, xmm0
jne 0x10080df0
jnp 0x10080df4
mov byte [ebx + 5], 1
vmovss xmm0, dword [ebx + 0x4c]
vmovss xmm1, dword [eax + 8]
vmovss dword [ebp - 0x34], xmm1
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
mov edi, dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
call edi
fstp dword [ebp - 0x5c]
vmovss xmm0, dword [ebp - 0x5c]
vmovss dword [ebp - 0x44], xmm0
vmovss xmm0, dword [ebp - 0x34]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x58]
vmovss xmm0, dword [ebp - 0x44]
vsubss xmm0, xmm0, dword [ebp - 0x58]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x54]
vbroadcastss xmm0, dword [0x100f550c]
vmovss xmm1, dword [ebp - 0x54]
vandps xmm0, xmm1, xmm0
vucomiss xmm0, dword [0x100f5780]
jbe 0x10080e78
mov byte [ebx + 6], 1
vmovss xmm0, dword [ebx + 0x54]
vmovss xmm1, dword [ebx + 0x58]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vcvtss2sd xmm0, xmm1, xmm1
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x100f5600]
vucomiss xmm1, xmm0
jae 0x10080ec3
vmovss xmm1, dword [0x100fe138]
vucomiss xmm1, xmm0
jb 0x10080edd
vucomiss xmm0, dword [0x100fe13c]
jbe 0x10080edd
mov byte [ebx + 6], 1
jmp 0x10080f29
mov byte [ebx + 5], 1
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
vmovss xmm1, dword [0x100fcf9c]
vucomiss xmm1, xmm0
jbe 0x10080f29
mov eax, dword [ebp + 0x10]
vmovss xmm1, dword [eax + 0x1c]
vmovss xmm2, dword [eax + 0x20]
vmulss xmm2, xmm2, xmm2
vfmadd231ss xmm2, xmm1, xmm1
vcvtss2sd xmm1, xmm2, xmm2
vsqrtsd xmm1, xmm1, xmm1
vcvtsd2ss xmm1, xmm1, xmm1
vucomiss xmm1, dword [0x100fcf9c]
jb 0x10080f29
vmovss xmm1, dword [ebx + 0x344]
vucomiss xmm1, dword [eax + 0x2fc]
ja 0x10080ebd
vucomiss xmm0, dword [0x100fcf9c]
mov eax, dword [ebp + 8]
jb 0x10080f66
mov ecx, dword [ebp + 0x10]
vmovss xmm0, dword [ecx + 0x1c]
vmovss xmm1, dword [ecx + 0x20]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vcvtss2sd xmm0, xmm1, xmm1
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x100fcf9c]
jae 0x1008102b
vmovss xmm0, dword [ebx + 0x1fc]
vmovss xmm1, dword [ebx + 0x383c]
vsubss xmm4, xmm1, xmm0
vbroadcastss xmm2, dword [0x100f550c]
vandps xmm1, xmm4, xmm2
vmovss xmm3, dword [ebx + 0x538c]
vsubss xmm0, xmm3, xmm0
vandps xmm2, xmm0, xmm2
vmovss xmm3, dword [0x100f5478]
vucomiss xmm3, xmm1
jb 0x10080fcc
vucomiss xmm2, xmm1
jb 0x10080fcc
vxorps xmm5, xmm5, xmm5
vucomiss xmm4, xmm5
jne 0x10080fb7
jnp 0x10080fbb
mov byte [ebx + 5], 1
mov dword [eax + 0x1820], 1
mov dword [ebx + 0x14], 1
vucomiss xmm1, xmm2
jb 0x10080ff9
vucomiss xmm3, xmm2
jb 0x10080ff9
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x10080fe4
jnp 0x10080fe8
mov byte [ebx + 5], 1
mov dword [eax + 0x1820], 2
mov dword [ebx + 0x14], 2
vmovss xmm0, dword [ebx + 0x1f4]
vucomiss xmm0, dword [0x100f54d0]
jne 0x10080ec7
jp 0x10080ec7
mov dword [eax + 0x1820], 0
mov dword [ebx + 0x14], 0
jmp 0x10080ec7
vmovss xmm0, dword [esi + 0x88]
vaddss xmm0, xmm0, dword [ebx + 0x28]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
vmovss xmm0, dword [esi + 0x88]
vmovss dword [ebp - 0x34], xmm0
fstp dword [esp]
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x50]
vmovss xmm0, dword [ebp - 0x50]
vmovss dword [ebp - 0x44], xmm0
vmovss xmm0, dword [ebp - 0x34]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x4c]
vmovss xmm0, dword [ebp - 0x44]
vsubss xmm0, xmm0, dword [ebp - 0x4c]
vmovss dword [esp], xmm0
mov dword [esp + 4], 0x43b40000
call edi
fstp dword [ebp - 0x48]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [ebp - 0x48]
ja 0x100810bc
vmovss xmm1, dword [esi + 0x338]
vucomiss xmm1, xmm0
jne 0x100810e9
jp 0x100810e9
vmovss xmm1, dword [esi + 0x334]
vucomiss xmm1, xmm0
mov eax, dword [ebp + 8]
jne 0x100810d3
jnp 0x10080ec7
mov dword [eax + 0x1820], 2
mov dword [ebx + 0x14], 2
jmp 0x10080ec7
mov eax, dword [ebp + 8]
mov dword [eax + 0x1820], 1
mov dword [ebx + 0x14], 1
jmp 0x10080ec7
mov dword [ebp - 0x20], ecx
or eax, 1
mov dword [0x10132be8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
mov dword [esp], str.CCSPlayer__m_bIsScoped
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x34], ecx
call fcn.100083b0
sub esp, 4
mov esi, dword [ebp - 0x7c]
cmp dword [ebp - 0x78], 0x10
jb 0x10081146
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x34], eax
test esi, esi
je 0x10081160
mov eax, esi
and eax, 3
mov dword [ebp - 0x44], eax
cmp esi, 4
jae 0x10081167
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100811b0
mov ecx, 0x811c9dc5
jmp 0x100811cd
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x34]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x10081176
cmp dword [ebp - 0x44], 0
je 0x100811cd
add edx, dword [ebp - 0x34]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x44], edi
jne 0x100811bb
mov edx, dword [ebp - 0x24]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10081239
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100811f5
cmp edi, ebx
je 0x10081239
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x100811e9
cmp dword [edi + 0x1c], 0x10
jb 0x10081200
mov eax, dword [edi + 8]
jmp 0x10081203
lea eax, [edi + 8]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x100811e9
add edi, 0x20
lea ecx, [ebp - 0x8c]
call fcn.100029d0
mov dword [0x10132be4], edi
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
jmp 0x10080cae
mov dword [ebp - 0x10], 1
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.100029d0
add esp, 0xc
pop ebp
ret