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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x70
mov edi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1007d9d0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132c18]
test al, 1
je 0x1007ca1a
mov esi, dword [0x10132c14]
mov eax, dword [esi + 4]
vmovss xmm0, dword [eax + ecx]
vmovss xmm1, dword [eax + ecx + 4]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vmovss xmm0, dword [eax + ecx + 8]
vfmadd213ss xmm0, xmm0, xmm1
vcvtss2sd xmm0, xmm0, xmm0
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x100fe100]
vucomiss xmm1, xmm0
jbe 0x1007c06c
xor eax, eax
jmp 0x1007c9fc
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x198]
mov dword [ebp - 0x74], ecx
vmovsd xmm0, qword [eax + 0x190]
vmovsd qword [ebp - 0x7c], xmm0
mov ecx, dword [0x1012d364]
vmovss xmm2, dword [ecx + 0x20]
mov ecx, dword [0x1012d35c]
mov edx, dword [ecx]
mov ecx, dword [0x10132c18]
test cl, 1
je 0x1007ca77
mov ecx, dword [esi + 4]
vmulss xmm0, xmm2, dword [ecx + edx + 8]
vmulss xmm0, xmm0, dword [0x100f5508]
vmovsd xmm1, qword [ecx + edx]
vbroadcastss xmm2, xmm2
vmulps xmm1, xmm2, xmm1
vbroadcastss xmm2, dword [0x100f5508]
vmulps xmm1, xmm1, xmm2
vmovsd xmm2, qword [eax + 0x190]
vaddps xmm1, xmm1, xmm2
vmovlps qword [eax + 0x190], xmm1
vaddss xmm0, xmm0, dword [eax + 0x198]
vmovss dword [eax + 0x198], xmm0
xor esi, esi
jmp 0x1007c111
test bl, bl
mov esi, dword [ebp - 0x28]
jne 0x1007c9de
nop dword [eax + eax]
inc esi
mov eax, dword [0x1012d364]
cmp esi, dword [eax + 0x18]
setl al
mov dword [ebp - 0x5c], eax
jge 0x1007c9de
cmp esi, 0x40
jae 0x1007ca0e
mov eax, dword [0x1012d330]
imul ecx, esi, 0x1b98
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + ecx]
test ecx, ecx
je 0x1007c110
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x10], 0xffffffff
call eax
test al, al
jne 0x1007c110
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
add ecx, eax
mov edx, dword [ecx]
mov eax, dword [0x1012d494]
test al, 1
je 0x1007c397
mov ebx, dword [0x1012d490]
mov eax, dword [ebx + 4]
cmp dword [eax + edx], 0
jle 0x1007c110
mov eax, dword [0x1012d49c]
test al, 1
je 0x1007c3f1
mov ebx, dword [0x1012d498]
mov eax, dword [ebx + 4]
cmp byte [eax + edx], 0
jne 0x1007c110
mov edx, dword [ecx]
mov eax, dword [0x10132bc8]
test al, 1
je 0x1007c533
mov ebx, dword [0x10132bc4]
mov eax, dword [ebx + 4]
cmp byte [eax + edx], 0
jne 0x1007c110
mov edx, dword [ecx]
mov eax, dword [0x10132bd0]
test al, 1
mov dword [ebp - 0x6c], ecx
je 0x1007c675
mov ebx, dword [0x10132bcc]
mov ecx, dword [ebx + 4]
mov ebx, dword [ecx + edx]
mov edx, dword [0x1012d35c]
mov edx, dword [edx]
test al, 1
je 0x1007c6d4
cmp ebx, dword [ecx + edx]
mov ebx, dword [ebp - 0x6c]
je 0x1007c110
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
mov eax, dword [eax + ecx + 0x1b88]
test eax, eax
je 0x1007c110
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
add ecx, edx
add ecx, 0x1b78
mov edx, dword [ecx + 0xc]
add eax, edx
dec eax
mov edx, eax
shr edx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edx
and eax, 1
mov ecx, dword [esi + ecx*4]
mov esi, dword [ebp - 0x28]
cmp dword [ecx + eax*8], 0
je 0x1007c110
lea edx, [ebp - 0x54]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [edx + 0xc], xmm0
vmovups xmmword [edx], xmm0
mov dword [ebp - 0x58], ebx
mov edx, dword [ecx + eax*8 + 4]
test edx, edx
je 0x1007c295
lock inc dword [edx + 4]
mov esi, dword [ebp - 0x50]
vmovsd xmm0, qword [ecx + eax*8]
vmovsd qword [ebp - 0x54], xmm0
test esi, esi
je 0x1007c2a9
lock dec dword [esi + 4]
jne 0x1007c2a9
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock dec dword [esi + 8]
jne 0x1007c2a9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x1007c2a2
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x10], 0xe
mov eax, dword [0x1012d320]
vmovss xmm0, dword [eax + 0x190]
vmovss xmm1, dword [eax + 0x194]
vmovss xmm2, dword [eax + 0x198]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov dword [ebp - 0x10], 0xe
sub esp, 0x1c
vmovss dword [esp + 0x18], xmm2
vmovss dword [esp + 0x14], xmm1
vmovss dword [esp + 0x10], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [ebp - 0x24], edi
mov ecx, edi
call fcn.100706b0
mov ecx, dword [0x1012d348]
push 1
lea eax, [ebp - 0x58]
push eax
call fcn.10072870
mov ebx, eax
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
mov edi, dword [ebp - 0x24]
je 0x1007c366
mov eax, dword [ebp - 0x44]
sub eax, ecx
cmp eax, 0x1000
jb 0x1007c347
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007cc9c
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.100f1e8b
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x1007c0fd
lock dec dword [esi + 4]
jne 0x1007c0fd
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock dec dword [esi + 8]
jne 0x1007c0fd
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x1007c0fd
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x58]
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], eax
jb 0x1007c3d9
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x1007c453
cmp edi, 4
jae 0x1007c45a
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1007c4a3
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x1012d49c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x58]
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], eax
jb 0x1007c433
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x1007c595
cmp edi, 4
jae 0x1007c59c
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1007c5e5
mov eax, 0x811c9dc5
jmp 0x1007c4c0
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1007c466
mov edx, edi
and edx, 3
je 0x1007c4c0
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x1007c4af
mov edx, dword [ebp - 0x30]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1007ccca
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x1007c4ff
cmp dword [ebx + 0x1c], 0x10
jb 0x1007c4eb
mov eax, dword [ebx + 8]
jmp 0x1007c4ee
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007c511
cmp ebx, esi
je 0x1007ccca
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x1007c4e0
jmp 0x1007c4ff
add ebx, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x1012d490], ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x34]
jmp 0x1007c179
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x10132bc8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x58]
push 0x1011ed3e
call fcn.100083b0
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], eax
jb 0x1007c575
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x1007c736
cmp edi, 4
jae 0x1007c73d
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1007c786
mov eax, 0x811c9dc5
jmp 0x1007c602
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1007c5a8
mov edx, edi
and edx, 3
je 0x1007c602
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x1007c5f1
mov edx, dword [ebp - 0x30]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1007cca2
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x1007c641
cmp dword [ebx + 0x1c], 0x10
jb 0x1007c62d
mov eax, dword [ebx + 8]
jmp 0x1007c630
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007c653
cmp ebx, esi
je 0x1007cca2
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x1007c622
jmp 0x1007c641
add ebx, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x1012d498], ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x34]
jmp 0x1007c195
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x58]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], eax
jb 0x1007c6b4
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x1007c816
cmp edi, 4
jae 0x1007c827
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1007c870
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x58]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x20], eax
jb 0x1007c716
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x1007c81d
cmp edi, 4
jae 0x1007c902
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x1007c94b
mov eax, 0x811c9dc5
jmp 0x1007c7a3
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1007c749
mov edx, edi
and edx, 3
je 0x1007c7a3
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x1007c792
mov edx, dword [ebp - 0x34]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1007ccf2
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x1007c7e2
cmp dword [ebx + 0x1c], 0x10
jb 0x1007c7ce
mov eax, dword [ebx + 8]
jmp 0x1007c7d1
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007c7f4
cmp ebx, esi
je 0x1007ccf2
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x1007c7c3
jmp 0x1007c7e2
add ebx, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x10132bc4], ebx
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x30]
jmp 0x1007c1b7
mov eax, 0x811c9dc5
jmp 0x1007c88d
mov eax, 0x811c9dc5
jmp 0x1007c968
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1007c833
mov edx, edi
and edx, 3
je 0x1007c88d
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x1007c87c
mov edx, dword [ebp - 0x34]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1007ccde
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x1007c8cc
cmp dword [ebx + 0x1c], 0x10
jb 0x1007c8b8
mov eax, dword [ebx + 8]
jmp 0x1007c8bb
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007c8de
cmp ebx, esi
je 0x1007ccde
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x1007c8ad
jmp 0x1007c8cc
add ebx, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x10132bcc], ebx
mov eax, dword [0x10132bd0]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
jmp 0x1007c1dc
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x20]
movzx esi, byte [ebx + ecx]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 1]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 2]
xor esi, eax
imul eax, esi, 0x1000193
movzx esi, byte [ebx + ecx + 3]
xor esi, eax
imul eax, esi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x1007c90e
mov edx, edi
and edx, 3
je 0x1007c968
add ecx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x1007c957
mov edx, dword [ebp - 0x34]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1007ccb6
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
jne 0x1007c9a7
cmp dword [ebx + 0x1c], 0x10
jb 0x1007c993
mov eax, dword [ebx + 8]
jmp 0x1007c996
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007c9b9
cmp ebx, esi
je 0x1007ccb6
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
je 0x1007c988
jmp 0x1007c9a7
lea esi, [ebx + 0x20]
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x10132bcc], esi
mov ecx, dword [ebx + 0x24]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x70]
jmp 0x1007c1f2
mov eax, dword [0x1012d320]
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x198], ecx
vmovsd xmm0, qword [ebp - 0x7c]
vmovsd qword [eax + 0x190], xmm0
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x70
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], 0xffffffff
call fcn.1007cfb0
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x24], edi
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x2c], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov edi, dword [ebp - 0x48]
cmp dword [ebp - 0x44], 0x10
jb 0x1007ca56
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x1007cade
mov eax, edi
and eax, 3
mov dword [ebp - 0x38], eax
cmp edi, 4
jae 0x1007cae5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007cb2e
mov dword [ebp - 0x28], edx
vmovups xmmword [ebp - 0x6c], xmm2
mov dword [ebp - 0x24], edi
or ecx, 1
mov dword [0x10132c18], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x2c], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov edi, dword [ebp - 0x48]
cmp dword [ebp - 0x44], 0x10
jb 0x1007cab9
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x1007cbb8
mov eax, edi
and eax, 3
mov dword [ebp - 0x38], eax
cmp edi, 4
jae 0x1007cbbf
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007cc08
mov ecx, 0x811c9dc5
jmp 0x1007cb4b
mov esi, edi
and esi, 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 esi, edx
jne 0x1007caf4
cmp dword [ebp - 0x38], 0
je 0x1007cb4b
add edx, dword [ebp - 0x2c]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [ebp - 0x38], esi
jne 0x1007cb39
mov edx, dword [ebp - 0x5c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x1007cd06
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edi, dword [esi + 0x18]
jne 0x1007cb8a
cmp dword [esi + 0x1c], 0x10
jb 0x1007cb76
mov eax, dword [esi + 8]
jmp 0x1007cb79
lea eax, [esi + 8]
push edi
push eax
push dword [ebp - 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007cb9c
cmp esi, ebx
je 0x1007cd06
mov esi, dword [esi + 4]
cmp edi, dword [esi + 0x18]
je 0x1007cb6b
jmp 0x1007cb8a
add esi, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x10132c14], esi
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x6c]
jmp 0x1007c029
mov ecx, 0x811c9dc5
jmp 0x1007cc25
mov esi, edi
and esi, 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 esi, edx
jne 0x1007cbce
cmp dword [ebp - 0x38], 0
je 0x1007cc25
add edx, dword [ebp - 0x2c]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [ebp - 0x38], esi
jne 0x1007cc13
mov edx, dword [ebp - 0x5c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x1007cd1a
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edi, dword [esi + 0x18]
jne 0x1007cc64
cmp dword [esi + 0x1c], 0x10
jb 0x1007cc50
mov eax, dword [esi + 8]
jmp 0x1007cc53
lea eax, [esi + 8]
push edi
push eax
push dword [ebp - 0x2c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007cc76
cmp esi, ebx
je 0x1007cd1a
mov esi, dword [esi + 4]
cmp edi, dword [esi + 0x18]
je 0x1007cc45
jmp 0x1007cc64
add esi, 0x20
lea ecx, [ebp - 0x58]
call fcn.100029d0
mov dword [0x10132c14], esi
mov eax, dword [0x1012d320]
mov edi, dword [ebp - 0x24]
vmovups xmm2, xmmword [ebp - 0x6c]
mov edx, dword [ebp - 0x28]
jmp 0x1007c0a9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
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], 0xd
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], 0xb
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], 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
nop
push ebp
sub esp, 0x1c
add ebp, 0xc
lea ecx, [ebp - 0x58]
call fcn.100029d0
add esp, 0x1c
pop ebp
ret