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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x160
mov esi, ecx
mov eax, dword [0x1017f528]
xor eax, ebp
mov dword [esp + 0x148], eax
mov ecx, dword [0x1017f614]
mov eax, dword [ecx]
call dword [eax + 0x68]
test al, al
je 0x100b8853
mov edx, dword [ebp + 8]
mov dword [esp + 0x50], esi
vcvtsi2ss xmm2, xmm0, dword [esi + 0x1e8]
lea ebx, [edx + 0xb0]
vmovss dword [edx + 0xb0], xmm2
mov ecx, dword [0x1017f608]
mov esi, dword [ecx]
test esi, esi
je 0x100b8767
mov eax, dword [0x1017f71c]
test al, 1
je 0x100b8da7
mov edi, dword [0x1017f718]
mov eax, dword [edi + 4]
cmp dword [eax + esi], 0
jle 0x100b8767
mov eax, dword [0x1017f724]
test al, 1
je 0x100b8f0d
mov edi, dword [0x1017f720]
mov eax, dword [edi + 4]
cmp byte [eax + esi], 0
je 0x100b88b0
vmovss dword [esp + 0xe0], xmm2
mov dword [esp + 0x98], 0x3f800000
vmovss xmm0, dword [ebx]
vmovss xmm1, dword [0x10129710]
vucomiss xmm1, xmm0
lea ecx, [esp + 0x98]
mov eax, ebx
cmova eax, ecx
vucomiss xmm0, xmm2
lea edi, [esp + 0xe0]
cmova eax, edi
vmovss xmm0, dword [eax]
vmovss dword [ebx], xmm0
mov eax, dword [0x1017f608]
mov esi, dword [eax]
mov eax, dword [0x1017f71c]
test al, 1
je 0x100b8d33
mov ebx, dword [0x1017f718]
mov eax, dword [ebx + 4]
cmp dword [eax + esi], 0
jle 0x100b87f0
mov eax, dword [0x1017f724]
test al, 1
je 0x100b8e25
mov ebx, dword [0x1017f720]
mov eax, dword [ebx + 4]
cmp byte [eax + esi], 0
je 0x100b8872
mov byte [0x10184fbc], 0
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x1e3], 0
je 0x100b885a
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x10185020]
test al, 1
je 0x100b8e99
mov esi, dword [0x1018501c]
mov eax, dword [esi + 4]
cmp dword [eax + ebx], 4
jne 0x100b885a
mov ecx, dword [0x1017f608]
mov esi, dword [ecx]
mov ecx, dword [0x10185020]
test cl, 1
je 0x100b907c
mov dword [eax + esi], 5
mov eax, dword [0x1017f638]
mov byte [eax + 0xad], 0
jmp 0x100b885a
mov byte [0x10184fbc], 0
mov ecx, dword [esp + 0x148]
xor ecx, ebp
call fcn.100d7fe0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [0x1017f5cc]
cmp byte [eax + 0x38], 0
je 0x100b8971
mov byte [0x10184fbc], 1
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov esi, edx
call dword [eax + 0x28]
vmovss xmm0, dword [eax + 8]
vaddss xmm0, xmm0, dword [0x10134f48]
vmovss dword [esi + 0xc0], xmm0
jmp 0x100b89f8
mov esi, dword [ecx]
mov eax, dword [0x10184e5c]
test al, 1
je 0x100b94a8
mov edi, dword [0x10184e58]
mov eax, dword [edi + 4]
cmp byte [eax + esi], 0
je 0x100b8767
mov esi, dword [ecx]
mov eax, dword [0x10184ecc]
test al, 1
je 0x100b9621
mov edi, dword [0x10184ec8]
mov eax, dword [edi + 4]
mov eax, dword [eax + esi]
cmp eax, 0xffffffff
je 0x100b8767
mov ecx, dword [0x1017f618]
mov edx, dword [ecx]
push eax
vmovss dword [esp + 0x18], xmm2
call dword [edx + 0x10]
vmovss xmm2, dword [esp + 0x14]
mov edx, dword [ebp + 8]
test eax, eax
je 0x100b8767
mov edi, eax
mov eax, dword [0x10184f58]
test al, 1
je 0x100b9a5c
mov esi, dword [0x10184f54]
mov eax, dword [esi + 4]
xor ecx, ecx
cmp dword [eax + edi], 2
sete cl
vmovss xmm0, dword [ecx*4 + 0x10134f40]
mov eax, dword [esp + 0x50]
vcvtsi2ss xmm1, xmm1, dword [eax + 0x1ec]
vdivss xmm1, xmm1, dword [0x1012988c]
vfmadd213ss xmm1, xmm0, dword [0x10129710]
vmovss xmm0, dword [ebx]
vdivss xmm0, xmm0, xmm1
vmovss dword [ebx], xmm0
jmp 0x100b8767
cmp byte [0x10184fbc], 1
jne 0x100b89f8
mov esi, edx
mov ecx, 0x13b4
add ecx, dword [0x1017f5d8]
mov eax, dword [0x1017f5c0]
mov edi, dword [eax + 0x130]
mov edx, 0x1b4e81b5
mov eax, edi
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul eax, edx, 0x96
sub edi, eax
cmp edi, 0x96
jae 0x100b9a57
imul eax, edi, 0x858
vmovss xmm1, dword [ecx + eax + 0x798]
vmovss xmm0, dword [ecx + eax + 0x840]
vucomiss xmm1, xmm0
jne 0x100b89d9
jnp 0x100b89f1
vucomiss xmm0, dword [0x10129878]
jbe 0x100b89f1
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [ecx]
jmp 0x100b8893
mov byte [0x10184fbc], 0
mov ecx, dword [0x1017f614]
mov dword [esp + 0x84], 0
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0x7c], xmm0
mov eax, dword [ecx]
lea edx, [esp + 0x7c]
push edx
call dword [eax + 0x48]
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [0x10184f1c]
test al, 1
je 0x100b90e4
mov edi, dword [0x10184f18]
mov ebx, ecx
mov edi, dword [edi + 4]
mov eax, dword [0x10184f24]
test al, 1
je 0x100b9153
mov esi, dword [0x10184f20]
mov eax, dword [esi + 4]
vmovss xmm0, dword [eax + ebx + 8]
vaddss xmm0, xmm0, dword [ecx + edi + 8]
vmovss dword [esp + 0x14], xmm0
vmovsd xmm1, qword [eax + ebx]
vmovsd xmm2, qword [ecx + edi]
mov esi, dword [esp + 0x50]
cmp byte [esi + 0x1e2], 0
je 0x100b8aac
mov eax, dword [esi + 0x204]
test eax, eax
je 0x100b8aac
push eax
vmovaps xmmword [esp + 0x24], xmm1
vmovaps xmmword [esp + 0x34], xmm2
call dword [sym.imp.USER32.dll_GetKeyState]
vmovaps xmm2, xmmword [esp + 0x30]
vmovaps xmm1, xmmword [esp + 0x20]
test ax, ax
setne al
jmp 0x100b8aae
xor eax, eax
mov ecx, dword [0x1017f638]
mov byte [ecx + 0xad], al
vcvtsi2ss xmm0, xmm3, dword [esi + 0x1fc]
vmovsd xmm3, qword [esp + 0x7c]
vmovsd qword [ecx + 0xb0], xmm3
vmovss dword [ecx + 0xb8], xmm0
cmp byte [esi + 0x1e2], 0
je 0x100b885a
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esp + 0x114], ymm0
vmovaps ymmword [esp + 0x100], ymm0
vmovaps ymmword [esp + 0xe0], ymm0
vcvtsi2ss xmm0, xmm4, dword [esi + 0x1fc]
vaddps xmm1, xmm1, xmm2
vmovaps xmmword [esp + 0x50], xmm1
vxorps xmm1, xmm1, xmm1
vmulss xmm0, xmm0, xmm1
vmovss dword [esp + 0x84], xmm0
vmulss xmm0, xmm3, dword [0x10131fc4]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x20], xmm0
sub esp, 8
vmovsd qword [esp], xmm0
vmovaps xmmword [esp + 0x38], xmm3
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp dword [esp + 0x64]
sub esp, 8
vmovsd xmm0, qword [esp + 0x28]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp dword [esp + 0x60]
vmovss xmm0, dword [esp + 0x60]
vmovaps xmmword [esp + 0x20], xmm0
vmovshdup xmm0, xmmword [esp + 0x30]
vmulss xmm0, xmm0, dword [0x10131fc4]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x30], xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp qword [esp + 0x70]
sub esp, 8
vmovsd xmm0, qword [esp + 0x38]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp qword [esp + 0x68]
vmovsd xmm0, qword [esp + 0x68]
vmovhpd xmm0, xmm0, qword [esp + 0x70]
vcvtpd2ps xmm0, xmm0
vbroadcastss xmm1, dword [esp + 0x20]
vmulps xmm0, xmm1, xmm0
mov eax, dword [0x1017f638]
vbroadcastss xmm1, dword [eax + 0xb8]
vmulps xmm0, xmm0, xmm1
vmulss xmm1, xmm1, dword [esp + 0x64]
vmovss xmm2, dword [esp + 0x14]
vaddss xmm1, xmm2, xmm1
vmovaps xmm3, xmmword [esp + 0x50]
vsubps xmm0, xmm3, xmm0
mov eax, dword [0x1017f608]
mov eax, dword [eax]
mov ecx, dword [0x1017f5c0]
mov ecx, dword [ecx + 0x34]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
vmovlps qword [esp + 0x98], xmm3
vmovss dword [esp + 0xa0], xmm2
mov dword [esp + 0xa4], 0
vsubss xmm1, xmm1, xmm2
vsubps xmm0, xmm0, xmm3
vmovlps qword [esp + 0xa8], xmm0
vmovss dword [esp + 0xb0], xmm1
vxorps xmm2, xmm2, xmm2
vmovups ymmword [esp + 0xb4], ymm2
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
vmulps xmm2, xmm0, xmm0
vmovshdup xmm2, xmm2
vfmadd231ss xmm2, xmm0, xmm0
vfmadd231ss xmm2, xmm1, xmm1
vucomiss xmm2, dword [0x10129730]
setp al
setne cl
or cl, al
mov byte [esp + 0xdd], cl
vbroadcastss xmm0, dword [0x10134f4c]
vmovlps qword [esp + 0xc8], xmm0
mov dword [esp + 0xd0], 0x414c0000
mov byte [esp + 0xdc], 0
mov ecx, dword [0x1017f630]
mov eax, dword [ecx]
lea edx, [esp + 0xe0]
lea esi, [esp + 0x88]
push edx
push esi
push 0x2000b
lea edx, [esp + 0xa4]
push edx
vzeroupper
call dword [eax + 0x14]
vmovss xmm0, dword [esp + 0x10c]
mov eax, dword [0x1017f638]
vmulss xmm0, xmm0, dword [eax + 0xb8]
vmovss dword [eax + 0xb8], xmm0
jmp 0x100b885a
or eax, 1
mov dword [0x1017f71c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.CBasePlayer__m_iHealth
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b8d79
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x14], 0
je 0x100b8f8b
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x20], eax
cmp ecx, 3
jae 0x100b8f92
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b8fe4
mov dword [esp + 0x48], ecx
vmovss dword [esp + 0x14], xmm2
or eax, 1
mov dword [0x1017f71c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CBasePlayer__m_iHealth
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b8df7
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100b91cb
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100b91dc
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b922e
or eax, 1
mov dword [0x1017f724], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.CBasePlayer__m_lifeState
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b8e6b
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x14], 0
je 0x100b91d2
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x20], eax
cmp ecx, 3
jae 0x100b92d0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b9322
or eax, 1
mov dword [0x10185020], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x20], ecx
push str.CBasePlayer__m_iObserverMode
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x50], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b8edf
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x50], 0
je 0x100b93ba
mov eax, dword [esp + 0x50]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x14], eax
cmp ecx, 3
jae 0x100b93c1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b9413
mov dword [esp + 0x48], ecx
vmovss dword [esp + 0x14], xmm2
or eax, 1
mov dword [0x1017f724], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CBasePlayer__m_lifeState
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b8f5d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100b9526
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100b952d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b957f
mov ecx, 0x811c9dc5
jmp 0x100b9004
mov eax, dword [esp + 0x14]
and eax, 0xfffffffc
mov dword [esp + 0x18], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x18], edx
jne 0x100b8fa8
cmp dword [esp + 0x20], 0
je 0x100b9004
add edx, dword [esp + 0x30]
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x20], ebx
jne 0x100b8ff1
mov edx, dword [esp + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x100b9050
cmp dword [ebx + 0x1c], 0x10
jb 0x100b9038
mov eax, dword [ebx + 8]
jmp 0x100b903b
lea eax, [ebx + 8]
push dword [esp + 0x14]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b905f
cmp ebx, dword [esp + 0x20]
je 0x100b9cb6
mov ebx, dword [ebx + 4]
jmp 0x100b9024
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f718], ebx
mov edx, dword [ebp + 8]
jmp 0x100b87c7
or ecx, 1
mov dword [0x10185020], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x20], eax
mov ecx, edi
push str.CBasePlayer__m_iObserverMode
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x50], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b90b6
mov edi, dword [esp + 0xe0]
cmp dword [esp + 0x50], 0
je 0x100b969b
mov eax, dword [esp + 0x50]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x14], eax
cmp ecx, 3
jae 0x100b96b6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b96fe
mov dword [esp + 0x1c], ecx
or eax, 1
mov dword [0x10184f1c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x30], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x14], ecx
push str.CBasePlayer__m_vecViewOffset_0_
call fcn.10005ce0
mov ebx, dword [esp + 0xf0]
cmp dword [esp + 0xf4], 0x10
jb 0x100b912a
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x100b96a2
lea ecx, [ebx - 1]
mov eax, ebx
and eax, 3
mov dword [esp + 0x20], eax
cmp ecx, 3
jae 0x100b9791
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b97db
mov dword [esp + 0x1c], ecx
or eax, 1
mov dword [0x10184f24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.m_vecAbsOrigin
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b919d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x14], 0
je 0x100b96ac
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x20], eax
cmp ecx, 3
jae 0x100b9871
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b98c3
mov ecx, 0x811c9dc5
jmp 0x100b924e
mov ecx, 0x811c9dc5
jmp 0x100b9342
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100b91f2
cmp dword [esp + 0x30], 0
je 0x100b924e
add edx, dword [esp + 0x18]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 0x30], edi
jne 0x100b923b
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x100b929a
cmp dword [edi + 0x1c], 0x10
jb 0x100b9282
mov eax, dword [edi + 8]
jmp 0x100b9285
lea eax, [edi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b92a9
cmp edi, dword [esp + 0x30]
je 0x100b9cb6
mov edi, dword [edi + 4]
jmp 0x100b926e
add edi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f718], edi
mov edx, dword [ebp + 8]
vmovss xmm2, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
jmp 0x100b873e
mov eax, dword [esp + 0x14]
and eax, 0xfffffffc
mov dword [esp + 0x18], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x18], edx
jne 0x100b92e6
cmp dword [esp + 0x20], 0
je 0x100b9342
add edx, dword [esp + 0x30]
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x20], ebx
jne 0x100b932f
mov edx, dword [esp + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x100b938e
cmp dword [ebx + 0x1c], 0x10
jb 0x100b9376
mov eax, dword [ebx + 8]
jmp 0x100b9379
lea eax, [ebx + 8]
push dword [esp + 0x14]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b939d
cmp ebx, dword [esp + 0x20]
je 0x100b9cb6
mov ebx, dword [ebx + 4]
jmp 0x100b9362
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f720], ebx
mov edx, dword [ebp + 8]
jmp 0x100b87e3
mov ecx, 0x811c9dc5
jmp 0x100b9433
mov eax, dword [esp + 0x50]
and eax, 0xfffffffc
mov dword [esp + 0x30], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 0x20]
movzx eax, byte [esi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [esi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x30], edx
jne 0x100b93d7
cmp dword [esp + 0x14], 0
je 0x100b9433
add edx, dword [esp + 0x20]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 0x14], esi
jne 0x100b9420
mov edx, dword [esp + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esi + 0x18]
jne 0x100b947f
cmp dword [esi + 0x1c], 0x10
jb 0x100b9467
mov eax, dword [esi + 8]
jmp 0x100b946a
lea eax, [esi + 8]
push dword [esp + 0x50]
push eax
push dword [esp + 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b948e
cmp esi, dword [esp + 0x14]
je 0x100b9cb6
mov esi, dword [esi + 4]
jmp 0x100b9453
add esi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1018501c], esi
jmp 0x100b881e
mov dword [esp + 0x48], ecx
vmovss dword [esp + 0x14], xmm2
or eax, 1
mov dword [0x10184e5c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CCSPlayer__m_bIsScoped
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b94f8
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100b995c
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100b9963
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b99b5
mov ecx, 0x811c9dc5
jmp 0x100b959f
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100b9543
cmp dword [esp + 0x30], 0
je 0x100b959f
add edx, dword [esp + 0x18]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 0x30], edi
jne 0x100b958c
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x100b95eb
cmp dword [edi + 0x1c], 0x10
jb 0x100b95d3
mov eax, dword [edi + 8]
jmp 0x100b95d6
lea eax, [edi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b95fa
cmp edi, dword [esp + 0x30]
je 0x100b9cb6
mov edi, dword [edi + 4]
jmp 0x100b95bf
add edi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f720], edi
mov edx, dword [ebp + 8]
vmovss xmm2, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
jmp 0x100b875a
vmovss dword [esp + 0x14], xmm2
or eax, 1
mov dword [0x10184ecc], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CBaseCombatCharacter__m_hActiveWeapon
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b966d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100b9ad0
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100b9ad7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b9b29
mov ecx, 0x811c9dc5
jmp 0x100b971c
mov ecx, 0x811c9dc5
jmp 0x100b97fb
mov ecx, 0x811c9dc5
jmp 0x100b98e3
mov ebx, dword [esp + 0x50]
and ebx, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp ebx, edx
jne 0x100b96c4
cmp dword [esp + 0x14], 0
je 0x100b971c
add edx, edi
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x14], ebx
jne 0x100b9709
mov edx, dword [esp + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100b9765
cmp dword [ebx + 0x1c], 0x10
jb 0x100b9750
mov eax, dword [ebx + 8]
jmp 0x100b9753
lea eax, [ebx + 8]
push dword [esp + 0x50]
push eax
push edi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b9774
cmp ebx, dword [esp + 0x14]
je 0x100b9cb6
mov ebx, dword [ebx + 4]
jmp 0x100b973c
lea edi, [ebx + 0x20]
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1018501c], edi
mov eax, dword [ebx + 0x24]
jmp 0x100b883e
mov esi, ebx
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 0x14]
movzx edi, byte [eax + edx]
xor edi, ecx
imul ecx, edi, 0x1000193
movzx edi, byte [eax + edx + 1]
xor edi, ecx
imul ecx, edi, 0x1000193
movzx edi, byte [eax + edx + 2]
xor edi, ecx
imul ecx, edi, 0x1000193
movzx edi, byte [eax + edx + 3]
xor edi, ecx
imul ecx, edi, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100b97a1
cmp dword [esp + 0x20], 0
je 0x100b97fb
add edx, dword [esp + 0x14]
xor esi, esi
movzx edi, byte [edx + esi]
xor edi, ecx
imul ecx, edi, 0x1000193
inc esi
cmp dword [esp + 0x20], esi
jne 0x100b97e8
mov edx, dword [esp + 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov esi, dword [eax + ecx*4]
cmp ebx, dword [edi + 0x18]
je 0x100b982c
cmp edi, esi
je 0x100b9cb6
mov edi, dword [edi + 4]
cmp ebx, dword [edi + 0x18]
jne 0x100b981c
cmp dword [edi + 0x1c], 0x10
jb 0x100b9837
mov eax, dword [edi + 8]
jmp 0x100b983a
lea eax, [edi + 8]
push ebx
push eax
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100b981c
add edi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184f18], edi
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov ecx, dword [esp + 0x1c]
jmp 0x100b8a39
mov eax, dword [esp + 0x14]
and eax, 0xfffffffc
mov dword [esp + 0x18], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 0x30]
movzx eax, byte [esi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [esi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x18], edx
jne 0x100b9887
cmp dword [esp + 0x20], 0
je 0x100b98e3
add edx, dword [esp + 0x30]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 0x20], esi
jne 0x100b98d0
mov edx, dword [esp + 0x48]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x18]
jne 0x100b992f
cmp dword [esi + 0x1c], 0x10
jb 0x100b9917
mov eax, dword [esi + 8]
jmp 0x100b991a
lea eax, [esi + 8]
push dword [esp + 0x14]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b993e
cmp esi, dword [esp + 0x20]
je 0x100b9cb6
mov esi, dword [esi + 4]
jmp 0x100b9903
add esi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184f20], esi
mov ecx, dword [esp + 0x1c]
jmp 0x100b8a4f
mov ecx, 0x811c9dc5
jmp 0x100b99d5
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100b9979
cmp dword [esp + 0x30], 0
je 0x100b99d5
add edx, dword [esp + 0x18]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 0x30], edi
jne 0x100b99c2
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x100b9a21
cmp dword [edi + 0x1c], 0x10
jb 0x100b9a09
mov eax, dword [edi + 8]
jmp 0x100b9a0c
lea eax, [edi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b9a30
cmp edi, dword [esp + 0x30]
je 0x100b9cb6
mov edi, dword [edi + 4]
jmp 0x100b99f5
add edi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184e58], edi
mov edx, dword [ebp + 8]
vmovss xmm2, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
jmp 0x100b88c5
call fcn.1006b870
or eax, 1
mov dword [0x10184f58], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CWeaponCSBaseGun__m_zoomLevel
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100b9aa2
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100b9bc7
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100b9bce
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100b9c20
mov ecx, 0x811c9dc5
jmp 0x100b9b49
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100b9aed
cmp dword [esp + 0x30], 0
je 0x100b9b49
add edx, dword [esp + 0x18]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 0x30], edi
jne 0x100b9b36
mov edx, dword [esp + 0x48]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x100b9b95
cmp dword [edi + 0x1c], 0x10
jb 0x100b9b7d
mov eax, dword [edi + 8]
jmp 0x100b9b80
lea eax, [edi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b9ba4
cmp edi, dword [esp + 0x30]
je 0x100b9cb6
mov edi, dword [edi + 4]
jmp 0x100b9b69
add edi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184ec8], edi
mov edx, dword [ebp + 8]
vmovss xmm2, dword [esp + 0x14]
jmp 0x100b88e7
mov ecx, 0x811c9dc5
jmp 0x100b9c40
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x1c], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 0x18]
movzx eax, byte [esi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [esi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x1c], edx
jne 0x100b9be4
cmp dword [esp + 0x30], 0
je 0x100b9c40
add edx, dword [esp + 0x18]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 0x30], esi
jne 0x100b9c2d
mov edx, dword [esp + 0x48]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100b9cb6
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [esi + 0x18]
jne 0x100b9c88
cmp dword [esi + 0x1c], 0x10
jb 0x100b9c70
mov eax, dword [esi + 8]
jmp 0x100b9c73
lea eax, [esi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100b9c93
cmp esi, dword [esp + 0x30]
je 0x100b9cb6
mov esi, dword [esi + 4]
jmp 0x100b9c5c
add esi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184f54], esi
mov edx, dword [ebp + 8]
vmovss xmm2, dword [esp + 0x14]
jmp 0x100b892e
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__