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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov ebx, ecx
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100daf60
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
cmp byte [ebx + 0x177], 0
je 0x100cf7e9
cmp esi, 0x72
je 0x100cf54d
cmp esi, 9
jne 0x100cf7e9
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [0x10132d6c]
test al, 1
je 0x100cfdda
mov edi, dword [0x10132d68]
mov eax, dword [edi + 4]
lea edx, [ebx + 0x2a4]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jne 0x100cf7de
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 0x30]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
movzx ecx, byte [ebp - 0x2f]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp - 0x2e]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp - 0x2d]
xor ecx, eax
imul edx, ecx, 0x1000193
mov eax, dword [ebx + 0x2bc]
mov dword [ebp - 0x20], eax
and edx, eax
mov edi, dword [ebx + 0x2a8]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebx + 0x2b0]
mov ecx, dword [eax + edx*8 + 4]
cmp ecx, edi
je 0x100cf60f
mov ebx, dword [ebp - 0x30]
cmp ebx, dword [ecx + 8]
je 0x100cf5fc
add edx, edx
mov edx, dword [eax + edx*4]
nop word cs:[eax + eax]
cmp ecx, edx
je 0x100cf60f
mov ecx, dword [ecx + 4]
cmp ebx, dword [ecx + 8]
jne 0x100cf5f0
cmp ecx, edi
je 0x100cf60f
mov edx, ebx
shr edx, 0x10
mov ecx, ebx
shr ecx, 0x18
jmp 0x100cf753
mov eax, dword [0x10132cd0]
test al, 1
je 0x100cffef
mov edi, dword [0x10132ccc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 8]
vmovss xmm0, dword [eax + ecx]
mov eax, dword [0x10132d74]
test al, 1
je 0x100d004a
mov edi, dword [0x10132d70]
mov ecx, dword [edi + 4]
mov edi, dword [ebp + 8]
vsubss xmm0, xmm0, dword [ecx + edi + 0xc]
mov edx, dword [0x1012d364]
vdivss xmm0, xmm0, dword [edx + 0x20]
vaddss xmm0, xmm0, dword [0x100f54dc]
vcvttss2si edx, xmm0
mov dword [ebp - 0x6c], edx
test al, 1
je 0x100d00aa
lea ebx, [ecx + edi]
add ebx, 0xc
mov eax, dword [0x10132c18]
test al, 1
je 0x100d0105
mov edi, dword [0x10132c14]
mov eax, dword [edi + 4]
add eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [0x10132ba8]
test al, 1
je 0x100d0163
mov edi, dword [0x10132ba4]
xor eax, eax
cmp esi, 0x72
sete al
mov ecx, dword [edi + 4]
add ecx, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
lea eax, [eax*2 + 0x2c]
mov word [ebp - 0x56], ax
mov ecx, dword [0x1012d36c]
mov eax, dword [0x10132d7c]
test al, 1
je 0x100d01c1
mov edi, dword [0x10132d78]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [edi + 4]
mov edx, dword [ecx]
mov esi, dword [ebp + 8]
push dword [eax + esi]
call dword [edx + 0x10]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x56]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x4c]
lea edx, [ebp - 0x64]
lea esi, [ebp - 0x74]
mov ecx, dword [ebp - 0x2c]
push eax
push edx
push 0x100f41fc
push esi
call fcn.100d0a10
mov bh, byte [ebp - 0x2f]
movzx edx, byte [ebp - 0x2e]
movzx ecx, byte [ebp - 0x2d]
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x2bc]
mov dword [ebp - 0x20], esi
mov edi, dword [eax + 0x2a8]
mov eax, dword [eax + 0x2b0]
movzx esi, byte [ebp - 0x30]
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
movzx ebx, bh
xor ebx, esi
imul esi, ebx, 0x1000193
movzx edx, dl
xor edx, esi
imul edx, edx, 0x1000193
movzx ecx, cl
xor ecx, edx
imul ebx, ecx, 0x1000193
and ebx, dword [ebp - 0x20]
mov edx, dword [eax + ebx*8 + 4]
cmp edx, edi
mov esi, dword [ebp + 0xc]
je 0x100cfd6f
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [edx + 8]
je 0x100cf7c0
add ebx, ebx
mov eax, dword [eax + ebx*4]
nop word cs:[eax + eax]
cmp edx, eax
je 0x100cfd6f
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x100cf7b0
add edx, 0xc
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x34]
mov ecx, ebx
push 1
push edx
call fcn.100c92e0
test al, al
mov edx, dword [ebp - 0x2c]
jne 0x100cf7e9
lea eax, [ebp - 0x30]
mov ecx, edx
push eax
call fcn.100da800
cmp byte [ebx + 0x172], 0
je 0x100cfd5c
mov ecx, dword [0x1012d368]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x10], 0xffffffff
call eax
mov dword [ebp - 0x20], eax
call fcn.100287b0
mov ecx, dword [0x10132ba8]
test cl, 1
je 0x100cfd80
mov edi, dword [0x10132ba4]
mov edx, dword [edi + 4]
mov ecx, dword [ebp + 8]
vmovss xmm0, dword [edx + ecx]
vmovss xmm2, dword [edx + ecx + 4]
vmovss xmm1, dword [edx + ecx + 8]
mov ecx, dword [ebp - 0x20]
vmulss xmm3, xmm2, dword [ecx + 0x34]
vfmadd231ss xmm3, xmm0, dword [ecx + 0x30]
vfmadd231ss xmm3, xmm1, dword [ecx + 0x38]
vaddss xmm3, xmm3, dword [ecx + 0x3c]
vmovss xmm4, dword [0x101011a0]
vucomiss xmm4, xmm3
ja 0x100cfd5c
vmulss xmm4, xmm2, dword [ecx + 0x14]
vfmadd231ss xmm4, xmm0, dword [ecx + 0x10]
vfmadd231ss xmm4, xmm1, dword [ecx + 0x18]
vaddss xmm4, xmm4, dword [ecx + 0x1c]
vmulss xmm2, xmm2, dword [ecx + 4]
vfmadd231ss xmm2, xmm0, dword [ecx]
vfmadd231ss xmm2, xmm1, dword [ecx + 8]
vaddss xmm0, xmm2, dword [ecx + 0xc]
vdivss xmm0, xmm0, xmm3
vdivss xmm1, xmm4, xmm3
vmovss xmm2, dword [eax + 8]
vmovss xmm3, dword [eax + 0xc]
vmovss xmm4, dword [0x100f54dc]
vmulss xmm5, xmm2, xmm4
vmulss xmm0, xmm2, xmm0
vmulss xmm0, xmm0, xmm4
vaddss xmm2, xmm5, xmm0
vmulss xmm0, xmm3, xmm4
vmulss xmm1, xmm1, xmm3
vmulss xmm1, xmm1, xmm4
vsubss xmm3, xmm0, xmm1
cmp esi, 0x63
jle 0x100cf98d
cmp esi, 0x64
je 0x100cfa34
cmp esi, 0x9d
je 0x100cfac9
cmp esi, 0x72
jne 0x100cfd5c
vmovss xmm0, dword [ebx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [ebx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [ebx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 7
mov dword [esp + 0xc], str.MOLOTOV
jmp 0x100cfd57
cmp esi, 9
je 0x100cfb5e
cmp esi, 0x30
jne 0x100cfd5c
vmovss xmm0, dword [ebx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [ebx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [ebx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], str.DECOY
jmp 0x100cfd57
vmovss xmm0, dword [ebx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [ebx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [ebx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], str.FIRE
jmp 0x100cfd57
vmovss xmm0, dword [ebx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [ebx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [ebx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss dword [esp + 4], xmm3
vmovss dword [esp], xmm2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], str.SMOKE
jmp 0x100cfd57
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x10], 0xffffffff
vmovss dword [ebp - 0x20], xmm2
vmovss dword [ebp - 0x2c], xmm3
call eax
test eax, eax
je 0x100cfd5c
mov esi, eax
mov dword [ebp - 0x34], ebx
add esi, 4
mov dword [ebp - 0x4c], esi
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov dword [ebp - 0x48], eax
cmp eax, 9
jb 0x100cfca2
lea ebx, [eax + esi]
add ebx, 0xfffffff8
mov eax, ebx
sub eax, esi
push eax
push 0x66
push esi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x100cfca2
mov edi, eax
push 9
push 0x101213c3
push edi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100cfbf5
inc edi
mov eax, ebx
sub eax, edi
push eax
push 0x66
push edi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x100cfbc5
jmp 0x100cfca2
sub edi, esi
cmp edi, 0xffffffff
je 0x100cfca2
mov edx, dword [ebp - 0x34]
vmovss xmm0, dword [edx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [edx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [edx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [esp + 4], xmm0
vmovd xmm0, dword [ebp - 0x20]
vmovd dword [esp], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], str.FLASH
jmp 0x100cfd57
lea ecx, [ebp - 0x4c]
push 0
push str.fraggrenade
call fcn.100d0d20
cmp eax, 0xffffffff
je 0x100cfd5c
mov edx, dword [ebp - 0x34]
vmovss xmm0, dword [edx + 0x190]
vmulss xmm0, xmm0, dword [0x100f54e0]
vcvttss2si eax, xmm0
movzx eax, al
vmovsd xmm0, qword [edx + 0x194]
vbroadcastss xmm1, dword [0x100f54e0]
vmulps xmm0, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vpshufb xmm0, xmm0, xmmword [0x101011b0]
vpsllvd xmm0, xmm0, xmmword [0x100f56b0]
vmovd ecx, xmm0
or ecx, eax
vpextrd eax, xmm0, 1
or eax, ecx
or eax, 0xb4000000
mov ecx, dword [edx + 0x210]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 8], ecx
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [esp + 4], xmm0
vmovd xmm0, dword [ebp - 0x20]
vmovd dword [esp], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], str.FRAG
call fcn.100cab40
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [ebp - 0x10], 0xffffffff
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x34], ebx
or ecx, 1
mov dword [0x10132ba8], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x2c], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100cfdbd
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
test esi, esi
je 0x100cfe38
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100cfe3f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100cfe88
mov dword [ebp - 0x34], ebx
or eax, 1
mov dword [0x10132d6c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseCSGrenadeProjectile__m_nExplodeEffectTickBegin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100cfe13
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100cff15
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100cff1c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100cff65
mov ecx, 0x811c9dc5
jmp 0x100cfea5
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x2c]
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 0x100cfe4e
cmp dword [ebp - 0x24], 0
je 0x100cfea5
add edx, dword [ebp - 0x2c]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100cfe93
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d0763
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100cfee4
cmp dword [edi + 0x1c], 0x10
jb 0x100cfed0
mov eax, dword [edi + 8]
jmp 0x100cfed3
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100cfef6
cmp edi, ebx
je 0x100d0763
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100cfec5
jmp 0x100cfee4
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x100cf82a
mov ecx, 0x811c9dc5
jmp 0x100cff82
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100cff2b
cmp dword [ebp - 0x2c], 0
je 0x100cff82
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x2c], edi
jne 0x100cff70
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 0x100d0777
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100cffc1
cmp dword [edi + 0x1c], 0x10
jb 0x100cffad
mov eax, dword [edi + 8]
jmp 0x100cffb0
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100cffd3
cmp edi, ebx
je 0x100d0777
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100cffa2
jmp 0x100cffc1
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132d68], edi
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp + 0xc]
jmp 0x100cf56b
or eax, 1
mov dword [0x10132cd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_flSimulationTime
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d0025
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d021e
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d025a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d02a3
vmovss dword [ebp - 0x50], xmm0
or eax, 1
mov dword [0x10132d74], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseCSGrenadeProjectile__m_vecExplodeEffectOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d0085
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d0228
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d032a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d0373
or eax, 1
mov dword [0x10132d74], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseCSGrenadeProjectile__m_vecExplodeEffectOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d00e0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d0232
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d0404
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d044d
mov dword [ebp - 0x54], ebx
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d013e
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d023c
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d04e3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d052c
mov dword [ebp - 0x54], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d019c
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100d0246
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x100d05b6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d05ff
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x54], ebx
or eax, 1
mov dword [0x10132d7c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push str.CBaseGrenade__m_hThrower
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100d01fd
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100d0250
mov eax, esi
and eax, 3
mov dword [ebp - 0x50], eax
cmp esi, 4
jae 0x100d0689
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d06d2
mov ecx, 0x811c9dc5
jmp 0x100d02c0
mov ecx, 0x811c9dc5
jmp 0x100d0390
mov ecx, 0x811c9dc5
jmp 0x100d046a
mov ecx, 0x811c9dc5
jmp 0x100d0549
mov ecx, 0x811c9dc5
jmp 0x100d061c
mov ecx, 0x811c9dc5
jmp 0x100d06ef
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d0269
cmp dword [ebp - 0x24], 0
je 0x100d02c0
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d02ae
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d078b
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d02ff
cmp dword [edi + 0x1c], 0x10
jb 0x100d02eb
mov eax, dword [edi + 8]
jmp 0x100d02ee
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d0311
cmp edi, ebx
je 0x100d078b
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d02e0
jmp 0x100d02ff
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ccc], edi
mov esi, dword [ebp + 0xc]
jmp 0x100cf622
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d0339
cmp dword [ebp - 0x24], 0
je 0x100d0390
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d037e
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d079f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d03cf
cmp dword [edi + 0x1c], 0x10
jb 0x100d03bb
mov eax, dword [edi + 8]
jmp 0x100d03be
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d03e1
cmp edi, ebx
je 0x100d079f
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d03b0
jmp 0x100d03cf
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132d70], edi
mov eax, dword [0x10132d74]
mov esi, dword [ebp + 0xc]
vmovss xmm0, dword [ebp - 0x50]
jmp 0x100cf640
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d0413
cmp dword [ebp - 0x24], 0
je 0x100d046a
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d0458
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d07b3
mov edx, dword [ebp + 8]
add edx, 0xc
mov dword [ebp - 0x54], edx
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d04b2
cmp dword [edi + 0x1c], 0x10
jb 0x100d049e
mov eax, dword [edi + 8]
jmp 0x100d04a1
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d04c4
cmp edi, ebx
je 0x100d07b3
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d0493
jmp 0x100d04b2
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132d70], esi
mov ebx, dword [ebp - 0x54]
add ebx, dword [edi + 0x24]
mov esi, dword [ebp + 0xc]
jmp 0x100cf674
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
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 0x100d04f2
cmp dword [ebp - 0x24], 0
je 0x100d0549
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d0537
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d07c7
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d0588
cmp dword [edi + 0x1c], 0x10
jb 0x100d0574
mov eax, dword [edi + 8]
jmp 0x100d0577
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d059a
cmp edi, ebx
je 0x100d07c7
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d0569
jmp 0x100d0588
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c14], edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x54]
jmp 0x100cf687
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x24]
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 0x100d05c5
cmp dword [ebp - 0x28], 0
je 0x100d061c
add edx, dword [ebp - 0x24]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x28], edi
jne 0x100d060a
mov edx, dword [ebp - 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d07db
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d065b
cmp dword [edi + 0x1c], 0x10
jb 0x100d0647
mov eax, dword [edi + 8]
jmp 0x100d064a
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d066d
cmp edi, ebx
je 0x100d07db
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d063c
jmp 0x100d065b
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x54]
jmp 0x100cf6a3
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x28]
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 0x100d0698
cmp dword [ebp - 0x50], 0
je 0x100d06ef
add edx, dword [ebp - 0x28]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x50], edi
jne 0x100d06dd
mov edx, dword [ebp - 0x60]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d07ef
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d072e
cmp dword [edi + 0x1c], 0x10
jb 0x100d071a
mov eax, dword [edi + 8]
jmp 0x100d071d
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d0740
cmp edi, ebx
je 0x100d07ef
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d070f
jmp 0x100d072e
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132d78], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
jmp 0x100cf6df
mov dword [ebp - 0x10], 0xf
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 7
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 9
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xb
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xd
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.100029d0
add esp, 0x1c
pop ebp
ret