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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
movzx eax, byte [esp + 0x5c]
mov edx, dword [0x1017f528]
xor edx, esp
mov dword [esp + 0x34], edx
test al, al
jne 0x100062eb
mov eax, dword [0x1017f5d4]
cmp byte [eax + 0x3000], 0
je 0x100062eb
mov eax, dword [eax + 0x3004]
mov edx, dword [0x1017f61c]
mov edx, dword [edx + 0x4d24]
cmp eax, edx
jle 0x100062eb
add edx, 0x64
cmp eax, edx
jl 0x10006370
mov ebp, dword [esp + 0x4c]
xor ebx, ebx
test ebp, ebp
je 0x10006372
cmp byte [ecx + 0x134], 0
jne 0x10006372
mov eax, dword [0x1017f608]
mov edi, dword [eax]
xor ebx, ebx
test edi, edi
je 0x10006372
mov eax, dword [esp + 0x50]
cmp dword [eax + 0x38], 0
jne 0x10006372
mov eax, dword [0x1017f714]
test al, 1
je 0x1000653a
mov esi, dword [0x1017f710]
mov eax, dword [esi + 4]
test byte [eax + edi], 0x40
jne 0x10006370
mov eax, dword [0x1017f608]
mov edi, dword [eax]
mov eax, dword [0x1017f71c]
test al, 1
je 0x1000659f
mov esi, dword [0x1017f718]
mov eax, dword [esi + 4]
cmp dword [eax + edi], 0
jle 0x10006370
mov eax, dword [0x1017f724]
test al, 1
je 0x1000660e
mov esi, dword [0x1017f720]
mov eax, dword [esi + 4]
cmp byte [eax + edi], 0
je 0x10006389
xor ebx, ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.100d7fe0
mov eax, ebx
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov eax, dword [0x1017f5c0]
mov esi, dword [eax + 0x40]
mov eax, dword [esi]
mov ebx, dword [eax + 8]
mov eax, dword [0x1017f704]
test al, 1
je 0x10006824
mov edi, dword [0x1017f700]
mov eax, dword [edi + 4]
movzx eax, word [eax + ebp]
mov ecx, esi
push eax
call ebx
test eax, eax
je 0x10006370
mov esi, eax
mov eax, dword [0x1017f704]
test al, 1
je 0x10006965
mov edi, dword [0x1017f700]
mov eax, dword [edi + 4]
movzx edi, word [eax + ebp]
mov eax, dword [esi + 0xcc]
add eax, 0xfffffffe
cmp eax, 6
setb al
cmp di, 0x1f
sete cl
or cl, al
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x1017f72c]
cmp cl, 1
jne 0x10006418
test al, 1
je 0x10006a43
mov esi, dword [0x1017f728]
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx]
sub eax, dword [esp + 0x58]
jmp 0x1000642c
test al, 1
je 0x10006aac
mov esi, dword [0x1017f728]
mov eax, dword [esi + 4]
mov eax, dword [eax + ebx]
vcvtsi2ss xmm0, xmm0, eax
mov eax, dword [0x1017f610]
vmulss xmm2, xmm0, dword [eax + 0x20]
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x1017f734]
test al, 1
je 0x100069ca
mov esi, dword [0x1017f730]
mov eax, dword [esi + 4]
vmovss xmm0, dword [eax + ebx]
vucomiss xmm0, xmm2
ja 0x10006370
mov bl, 1
cmp di, 0x31
je 0x10006372
lea eax, [edi - 0x2b]
cmp ax, 5
ja 0x100064c1
mov eax, dword [0x1017f73c]
test al, 1
je 0x10006fa5
mov ebx, dword [0x1017f738]
mov eax, dword [ebx + 4]
vmovss xmm0, dword [eax + ebp]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x10006370
mov ecx, dword [0x1017f73c]
test cl, 1
je 0x10007073
add eax, ebp
vucomiss xmm2, dword [eax]
seta bl
jmp 0x10006372
test cl, cl
je 0x10006505
mov eax, dword [0x1017f744]
test al, 1
je 0x100070d7
mov esi, dword [0x1017f740]
mov eax, dword [esi + 4]
cmp dword [eax + ebp], 0
jle 0x10006370
mov eax, dword [0x1017f74c]
test al, 1
je 0x1000714c
mov esi, dword [0x1017f748]
mov eax, dword [esi + 4]
cmp byte [eax + ebp], 0
jne 0x10006370
mov eax, dword [0x1017f754]
test al, 1
je 0x10007008
mov esi, dword [0x1017f750]
mov eax, dword [esi + 4]
vmovss xmm0, dword [eax + ebp]
vucomiss xmm0, xmm2
ja 0x10006370
cmp di, 0x40
setne bl
or bl, byte [esp + 0x54]
jmp 0x10006372
or eax, 1
mov dword [0x1017f714], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_fFlags
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10006573
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10006604
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10006673
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100066be
or eax, 1
mov dword [0x1017f71c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_iHealth
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x100065d8
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10006748
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x1000674f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1000679a
mov ecx, 0x811c9dc5
jmp 0x100066de
or eax, 1
mov dword [0x1017f724], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_lifeState
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10006647
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10006889
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10006890
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100068db
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x10006684
cmp dword [esp + 8], 0
je 0x100066de
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x100066cb
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006724
cmp dword [esi + 0x1c], 0x10
jb 0x1000670d
mov eax, dword [esi + 8]
jmp 0x10006710
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006731
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x100066fa
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f710], esi
jmp 0x10006328
mov ecx, 0x811c9dc5
jmp 0x100067ba
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x10006760
cmp dword [esp + 8], 0
je 0x100067ba
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x100067a7
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006800
cmp dword [esi + 0x1c], 0x10
jb 0x100067e9
mov eax, dword [esi + 8]
jmp 0x100067ec
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1000680d
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x100067d6
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f718], esi
jmp 0x1000634b
or eax, 1
mov dword [0x1017f704], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 8], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x1000685d
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp dword [esp], 0
je 0x10006a39
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10006b15
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10006b66
mov ecx, 0x811c9dc5
jmp 0x100068fb
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x100068a1
cmp dword [esp + 8], 0
je 0x100068fb
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x100068e8
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006941
cmp dword [esi + 0x1c], 0x10
jb 0x1000692a
mov eax, dword [esi + 8]
jmp 0x1000692d
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1000694e
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x10006917
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f720], esi
jmp 0x10006367
or eax, 1
mov dword [0x1017f704], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x1000699e
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10006bf6
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10006c07
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10006c52
mov byte [esp + 0x14], cl
vmovss dword [esp + 0x10], xmm2
or eax, 1
mov dword [0x1017f734], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 8], ecx
push str.m_flNextAttack
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10006a0d
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp dword [esp], 0
je 0x10006bfd
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10006cdc
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10006d2d
mov ecx, 0x811c9dc5
jmp 0x10006b86
mov byte [esp + 0x14], cl
or eax, 1
mov dword [0x1017f72c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 8], ecx
push str.CBasePlayer__m_nTickBase
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10006a80
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp dword [esp], 0
je 0x10006dc8
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10006dd9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10006e2a
mov byte [esp + 0x14], cl
or eax, 1
mov dword [0x1017f72c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 8], ecx
push str.CBasePlayer__m_nTickBase
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10006ae9
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp dword [esp], 0
je 0x10006dcf
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10006ebf
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10006f10
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 8]
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 + 0xc], edx
jne 0x10006b2a
cmp dword [esp + 4], 0
je 0x10006b86
add edx, dword [esp + 8]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 4], edi
jne 0x10006b73
mov edx, dword [esp + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x10006bd0
cmp dword [edi + 0x1c], 0x10
jb 0x10006bb9
mov eax, dword [edi + 8]
jmp 0x10006bbc
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006bdf
cmp edi, dword [esp + 4]
je 0x10007610
mov edi, dword [edi + 4]
jmp 0x10006ba6
add edi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f700], edi
jmp 0x100063a9
mov ecx, 0x811c9dc5
jmp 0x10006c72
mov ecx, 0x811c9dc5
jmp 0x10006d4d
mov edi, dword [esp]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 0x10006c18
cmp dword [esp + 8], 0
je 0x10006c72
add edx, dword [esp + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esp + 8], edi
jne 0x10006c5f
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x10006cb8
cmp dword [edi + 0x1c], 0x10
jb 0x10006ca1
mov eax, dword [edi + 8]
jmp 0x10006ca4
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006cc5
cmp edi, ebx
je 0x10007610
mov edi, dword [edi + 4]
jmp 0x10006c8e
add edi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f700], edi
jmp 0x100063ce
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 8]
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 + 0xc], edx
jne 0x10006cf1
cmp dword [esp + 4], 0
je 0x10006d4d
add edx, dword [esp + 8]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x10006d3a
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 0x10007610
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006d97
cmp dword [esi + 0x1c], 0x10
jb 0x10006d80
mov eax, dword [esi + 8]
jmp 0x10006d83
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006da6
cmp esi, dword [esp + 4]
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x10006d6d
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f730], esi
vmovss xmm2, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
jmp 0x10006454
mov ecx, 0x811c9dc5
jmp 0x10006e4a
mov ecx, 0x811c9dc5
jmp 0x10006f30
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 8]
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 + 0xc], edx
jne 0x10006dee
cmp dword [esp + 4], 0
je 0x10006e4a
add edx, dword [esp + 8]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x10006e37
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006e94
cmp dword [esi + 0x1c], 0x10
jb 0x10006e7d
mov eax, dword [esi + 8]
jmp 0x10006e80
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006ea3
cmp esi, dword [esp + 4]
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x10006e6a
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f728], esi
movzx ecx, byte [esp + 0x14]
jmp 0x1000640c
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 8]
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 + 0xc], edx
jne 0x10006ed4
cmp dword [esp + 4], 0
je 0x10006f30
add edx, dword [esp + 8]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x10006f1d
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10006f7a
cmp dword [esi + 0x1c], 0x10
jb 0x10006f63
mov eax, dword [esi + 8]
jmp 0x10006f66
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10006f89
cmp esi, dword [esp + 4]
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x10006f50
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f728], esi
movzx ecx, byte [esp + 0x14]
jmp 0x10006426
vmovss dword [esp + 0x10], xmm2
or eax, 1
mov dword [0x1017f73c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 8], eax
lea ecx, [esp + 0x1c]
mov dword [esp], ecx
push str.CBaseCSGrenade__m_fThrowTime
call fcn.10005ce0
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x30], 0x10
jb 0x10006fdf
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
test edi, edi
je 0x10007142
lea ecx, [edi - 1]
mov eax, edi
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x100071b7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10007200
vmovss dword [esp + 0x10], xmm2
or eax, 1
mov dword [0x1017f754], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBaseCombatWeapon__m_flNextPrimaryAttack
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10007047
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x1000728d
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10007294
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100072df
vmovss dword [esp + 0x10], xmm2
or ecx, 1
mov dword [0x1017f73c], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 8], eax
lea ecx, [esp + 0x1c]
mov dword [esp], ecx
push str.CBaseCSGrenade__m_fThrowTime
call fcn.10005ce0
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x30], 0x10
jb 0x100070ae
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
test edi, edi
je 0x1000736f
lea ecx, [edi - 1]
mov eax, edi
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10007380
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100073c9
vmovss dword [esp + 0x10], xmm2
or eax, 1
mov dword [0x1017f744], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.CBaseCombatWeapon__m_iClip1
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x10007116
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10007376
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x1000745b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100074a6
mov ecx, 0x811c9dc5
jmp 0x1000721f
vmovss dword [esp + 0x10], xmm2
or eax, 1
mov dword [0x1017f74c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
push str.m_bInReload
call fcn.10005ce0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
cmp dword [esp + 0x30], 0x10
jb 0x1000718b
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10007536
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x1000753d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10007588
mov esi, edi
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 esi, edx
jne 0x100071c6
cmp dword [esp + 4], 0
je 0x1000721f
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x1000720c
mov edx, dword [esp + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov esi, dword [eax + ecx*4]
cmp edi, dword [ebx + 0x18]
je 0x10007250
cmp ebx, esi
je 0x10007610
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x10007240
cmp dword [ebx + 0x1c], 0x10
jb 0x1000725b
mov eax, dword [ebx + 8]
jmp 0x1000725e
lea eax, [ebx + 8]
push edi
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10007240
add ebx, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f738], ebx
vmovss xmm2, dword [esp + 0x10]
jmp 0x1000648e
mov ecx, 0x811c9dc5
jmp 0x100072ff
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x100072a5
cmp dword [esp + 8], 0
je 0x100072ff
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x100072ec
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x10007345
cmp dword [esi + 0x1c], 0x10
jb 0x1000732e
mov eax, dword [esi + 8]
jmp 0x10007331
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10007352
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x1000731b
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f750], esi
vmovss xmm2, dword [esp + 0x10]
jmp 0x10006518
mov ecx, 0x811c9dc5
jmp 0x100073e8
mov ecx, 0x811c9dc5
jmp 0x100074c6
mov esi, edi
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 esi, edx
jne 0x1000738f
cmp dword [esp + 4], 0
je 0x100073e8
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x100073d5
mov edx, dword [esp + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov esi, dword [eax + ecx*4]
cmp edi, dword [ebx + 0x18]
je 0x10007419
cmp ebx, esi
je 0x10007610
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x10007409
cmp dword [ebx + 0x1c], 0x10
jb 0x10007424
mov eax, dword [ebx + 8]
jmp 0x10007427
lea eax, [ebx + 8]
push edi
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10007409
lea esi, [ebx + 0x20]
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f738], esi
add ebp, dword [ebx + 0x24]
mov eax, ebp
vmovss xmm2, dword [esp + 0x10]
jmp 0x100064b5
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x1000746c
cmp dword [esp + 8], 0
je 0x100074c6
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x100074b3
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x1000750c
cmp dword [esi + 0x1c], 0x10
jb 0x100074f5
mov eax, dword [esi + 8]
jmp 0x100074f8
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10007519
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x100074e2
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f740], esi
vmovss xmm2, dword [esp + 0x10]
jmp 0x100064d8
mov ecx, 0x811c9dc5
jmp 0x100075a8
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
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 esi, edx
jne 0x1000754e
cmp dword [esp + 8], 0
je 0x100075a8
add edx, dword [esp + 4]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 8], esi
jne 0x10007595
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10007610
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [esi + 0x18]
jne 0x100075ea
cmp dword [esi + 0x1c], 0x10
jb 0x100075d3
mov eax, dword [esi + 8]
jmp 0x100075d6
lea eax, [esi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100075f3
cmp esi, ebx
je 0x10007610
mov esi, dword [esi + 4]
jmp 0x100075c0
add esi, 0x20
lea ecx, [esp + 0x1c]
call fcn.100026e0
mov dword [0x1017f748], esi
vmovss xmm2, dword [esp + 0x10]
jmp 0x100064f8
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3