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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1bfc
call fcn.100f1fd0
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100b1c90
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100aae31
mov eax, dword [0x1012d320]
cmp dword [eax + 0x1c8], 0
je 0x100aae31
mov eax, dword [0x10132c18]
test al, 1
je 0x100abada
mov edi, dword [0x10132c14]
mov eax, dword [edi + 4]
vmovss xmm0, dword [eax + ecx]
vmovss xmm1, dword [eax + ecx + 4]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vcvtss2sd xmm0, xmm1, xmm1
vsqrtsd xmm0, xmm0, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x100fe454]
vucomiss xmm1, xmm0
jbe 0x100aae4a
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1bfc
pop esi
pop edi
pop ebx
pop ebp
ret 4
vcvtsi2ss xmm0, xmm2, dword [ebp + 8]
vmovss dword [ebp - 0x58], xmm0
lea edi, [ebp - 0x90]
xor eax, eax
lea esi, [ebp - 0x1c08]
mov edx, 1
jmp 0x100aaec1
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.100f1e8b
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov ecx, edi
call fcn.1000cc20
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], 0
push 8
push eax
call fcn.100f1e8b
add esp, 8
test bl, 3
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
jne 0x100abace
nop
inc edx
mov ecx, dword [0x1012d364]
cmp edx, dword [ecx + 0x18]
jg 0x100abace
mov ecx, dword [0x1012d35c]
mov ebx, dword [ecx]
mov ecx, ebx
mov dword [ebp - 0x20], ebx
test ebx, ebx
je 0x100aaec0
mov ecx, dword [0x1012d494]
test cl, 1
je 0x100ab224
mov ebx, dword [0x1012d490]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp - 0x20]
cmp dword [ecx + ebx], 0
jle 0x100aaec0
mov ecx, dword [0x1012d49c]
test cl, 1
je 0x100ab284
mov ebx, dword [0x1012d498]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp - 0x20]
cmp byte [ecx + ebx], 0
jne 0x100aaec0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
lea eax, [edx - 1]
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0x40
jae 0x100abad5
imul eax, eax, 0x1b98
add eax, dword [0x1012d330]
mov ecx, esi
push eax
call fcn.100abf00
mov ecx, dword [ebp - 0x1c08]
mov ebx, 4
test ecx, ecx
je 0x100aaf9c
mov eax, dword [0x1012d494]
test al, 1
je 0x100ab4b2
mov ebx, dword [0x1012d490]
mov eax, dword [ebx + 4]
cmp dword [eax + ecx], 0
jle 0x100aaf97
mov eax, dword [0x1012d49c]
test al, 1
je 0x100ab503
mov ebx, dword [0x1012d498]
mov eax, dword [ebx + 4]
cmp byte [eax + ecx], 0
je 0x100aafcd
mov ebx, 4
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x100aae8d
mov eax, dword [ebp - 0x74]
sub eax, ecx
cmp eax, 0x1000
jb 0x100aae6e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x100aae69
jmp 0x100abb39
mov ecx, dword [ebp - 0x1c08]
mov eax, dword [0x1012d35c]
cmp ecx, dword [eax]
je 0x100aaf97
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x10], 6
call eax
test al, al
lea edi, [ebp - 0x90]
lea esi, [ebp - 0x1c08]
mov ebx, 4
jne 0x100aaf9c
mov edx, dword [ebp - 0x1c08]
mov eax, dword [0x10132bd0]
test al, 1
je 0x100ab71e
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 0x100ab76f
cmp ebx, dword [ecx + edx]
mov ebx, 4
je 0x100aaf9c
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x100aaf9c
mov ecx, dword [ebp - 0x84]
add eax, ecx
dec eax
mov ecx, eax
shr ecx, 1
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x88]
dec esi
and esi, ecx
and eax, 1
mov ecx, dword [edx + esi*4]
cmp dword [ecx + eax*8], 0
je 0x100ab219
lea edx, [ebp - 0x4c]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [edx + 0xc], xmm0
vmovups xmmword [edx], xmm0
lea edx, [ebp - 0x1c08]
mov dword [ebp - 0x50], edx
mov edx, dword [ecx + eax*8 + 4]
test edx, edx
je 0x100ab0c8
lock inc dword [edx + 4]
mov esi, dword [ebp - 0x48]
vmovsd xmm0, qword [ecx + eax*8]
vmovsd qword [ebp - 0x4c], xmm0
test esi, esi
je 0x100ab0d5
lock dec dword [esi + 4]
jne 0x100ab0d5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock dec dword [esi + 8]
jne 0x100ab0d5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x100ab0d5
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0
mov eax, dword [0x1012d364]
vmovss xmm2, dword [eax + 0x20]
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [0x10132c18]
test al, 1
je 0x100ab997
mov ebx, dword [0x10132c14]
mov dword [ebp - 0x10], 0xf
lea edx, [ebp - 0x50]
mov eax, dword [ebx + 4]
vmulss xmm0, xmm2, dword [eax + ecx + 8]
vmulss xmm1, xmm2, dword [eax + ecx + 4]
vmulss xmm2, xmm2, dword [eax + ecx]
vmovss xmm3, dword [ebp - 0x58]
vmulss xmm0, xmm0, xmm3
vmulss xmm1, xmm1, xmm3
mov eax, dword [0x1012d320]
vaddss xmm0, xmm0, dword [eax + 0x198]
vaddss xmm1, xmm1, dword [eax + 0x194]
vmulss xmm2, xmm2, xmm3
vaddss xmm2, xmm2, dword [eax + 0x190]
mov ecx, dword [0x1012d348]
sub esp, 0x1c
vmovss dword [esp + 0x18], xmm0
vmovss dword [esp + 0x14], xmm1
vmovss dword [esp + 0x10], xmm2
mov dword [esp], edx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 0x1a
call fcn.100706b0
mov ecx, dword [0x1012d348]
push 0
lea eax, [ebp - 0x50]
push eax
call fcn.10072870
mov ebx, eax
mov eax, dword [ebp - 0x2c]
movzx eax, al
test bl, bl
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x44]
test ecx, ecx
lea edi, [ebp - 0x90]
je 0x100ab1f4
mov eax, dword [ebp - 0x3c]
sub eax, ecx
cmp eax, 0x1000
jb 0x100ab1d5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100abb39
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.100f1e8b
add esp, 8
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x100ab214
lock dec dword [esi + 4]
jne 0x100ab214
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock dec dword [esi + 8]
jne 0x100ab214
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
movzx ebx, bl
add ebx, ebx
lea esi, [ebp - 0x1c08]
jmp 0x100aaf9c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 2
mov ecx, esi
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [ebp - 0x1bf4], 0x10
lea eax, [ebp - 0x1c08]
mov dword [ebp - 0x24], eax
jb 0x100ab269
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x1bf8]
test edi, edi
je 0x100ab2ec
cmp edi, 4
jae 0x100ab2f3
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab33c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
or ecx, 1
mov dword [0x1012d49c], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 4
mov ecx, esi
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [ebp - 0x1bf4], 0x10
lea eax, [ebp - 0x1c08]
mov dword [ebp - 0x24], eax
jb 0x100ab2c9
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x1bf8]
test edi, edi
je 0x100ab3cf
cmp edi, 4
jae 0x100ab3d6
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab41f
mov eax, 0x811c9dc5
jmp 0x100ab359
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x24]
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 0x100ab2ff
mov edx, edi
and edx, 3
je 0x100ab359
add ecx, dword [ebp - 0x24]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x100ab348
mov edx, dword [ebp - 0x28]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc8f
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab389
cmp ebx, esi
je 0x100abc8f
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab379
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab394
mov eax, dword [ebx + 8]
jmp 0x100ab397
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab379
add ebx, 0x20
lea esi, [ebp - 0x1c08]
mov ecx, esi
call fcn.100029d0
mov dword [0x1012d490], ebx
mov eax, dword [ebp - 0x2c]
lea edi, [ebp - 0x90]
mov edx, dword [ebp - 0x30]
jmp 0x100aaef6
mov eax, 0x811c9dc5
jmp 0x100ab43c
mov edx, edi
and edx, 0xfffffffc
mov eax, 0x811c9dc5
xor ecx, ecx
mov ebx, dword [ebp - 0x24]
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 0x100ab3e2
mov edx, edi
and edx, 3
je 0x100ab43c
add ecx, dword [ebp - 0x24]
xor esi, esi
movzx ebx, byte [ecx + esi]
xor ebx, eax
imul eax, ebx, 0x1000193
inc esi
cmp edx, esi
jne 0x100ab42b
mov edx, dword [ebp - 0x28]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc7b
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab46c
cmp ebx, esi
je 0x100abc7b
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab45c
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab477
mov eax, dword [ebx + 8]
jmp 0x100ab47a
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab45c
add ebx, 0x20
lea esi, [ebp - 0x1c08]
mov ecx, esi
call fcn.100029d0
mov dword [0x1012d498], ebx
mov eax, dword [ebp - 0x2c]
lea edi, [ebp - 0x90]
mov edx, dword [ebp - 0x30]
jmp 0x100aaf17
mov dword [ebp - 0x24], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xd
lea ecx, [ebp - 0x50]
push str.CBasePlayer__m_iHealth
call fcn.100083b0
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov dword [ebp - 0x20], eax
jb 0x100ab4eb
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x100ab55c
cmp edi, 4
jae 0x100ab563
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab5ac
mov dword [ebp - 0x24], ecx
or eax, 1
mov dword [0x1012d49c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xb
lea ecx, [ebp - 0x50]
push str.CBasePlayer__m_lifeState
call fcn.100083b0
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov dword [ebp - 0x20], eax
jb 0x100ab53c
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x100ab63d
cmp edi, 4
jae 0x100ab644
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab68d
mov eax, 0x811c9dc5
jmp 0x100ab5c9
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 0x100ab56f
mov edx, edi
and edx, 3
je 0x100ab5c9
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 0x100ab5b8
mov edx, dword [ebp - 0x28]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc67
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab5f9
cmp ebx, esi
je 0x100abc67
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab5e9
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab604
mov eax, dword [ebx + 8]
jmp 0x100ab607
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab5e9
add ebx, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x1012d490], ebx
lea edi, [ebp - 0x90]
lea esi, [ebp - 0x1c08]
mov ecx, dword [ebp - 0x24]
jmp 0x100aaf72
mov eax, 0x811c9dc5
jmp 0x100ab6aa
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 0x100ab650
mov edx, edi
and edx, 3
je 0x100ab6aa
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 0x100ab699
mov edx, dword [ebp - 0x28]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc53
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab6da
cmp ebx, esi
je 0x100abc53
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab6ca
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab6e5
mov eax, dword [ebx + 8]
jmp 0x100ab6e8
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab6ca
add ebx, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x1012d498], ebx
lea edi, [ebp - 0x90]
lea esi, [ebp - 0x1c08]
mov ecx, dword [ebp - 0x24]
jmp 0x100aaf8e
mov dword [ebp - 0x28], edx
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 9
lea ecx, [ebp - 0x50]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov dword [ebp - 0x20], eax
jb 0x100ab757
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x100ab7c7
cmp edi, 4
jae 0x100ab7d8
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab821
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132bd0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 7
lea ecx, [ebp - 0x50]
push str.CBaseEntity__m_iTeamNum
call fcn.100083b0
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov dword [ebp - 0x20], eax
jb 0x100ab7ab
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x100ab7ce
cmp edi, 4
jae 0x100ab8b7
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100ab900
mov eax, 0x811c9dc5
jmp 0x100ab83e
mov eax, 0x811c9dc5
jmp 0x100ab91d
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 0x100ab7e4
mov edx, edi
and edx, 3
je 0x100ab83e
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 0x100ab82d
mov edx, dword [ebp - 0x24]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc3f
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab86e
cmp ebx, esi
je 0x100abc3f
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab85e
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab879
mov eax, dword [ebx + 8]
jmp 0x100ab87c
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab85e
add ebx, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x10132bcc], ebx
mov eax, dword [0x10132bd0]
lea edi, [ebp - 0x90]
lea esi, [ebp - 0x1c08]
mov edx, dword [ebp - 0x28]
jmp 0x100ab01c
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 0x100ab8c3
mov edx, edi
and edx, 3
je 0x100ab91d
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 0x100ab90c
mov edx, dword [ebp - 0x24]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc2b
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100ab94d
cmp ebx, esi
je 0x100abc2b
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100ab93d
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab958
mov eax, dword [ebx + 8]
jmp 0x100ab95b
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100ab93d
lea esi, [ebx + 0x20]
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x10132bcc], esi
mov ecx, dword [ebx + 0x24]
lea edi, [ebp - 0x90]
lea esi, [ebp - 0x1c08]
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
jmp 0x100ab032
mov dword [ebp - 0x54], ecx
vmovss dword [ebp - 0x28], xmm2
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x10
lea ecx, [ebp - 0x70]
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
mov dword [ebp - 0x20], eax
jb 0x100ab9d5
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x100ab9ea
cmp edi, 4
jae 0x100ab9f1
mov eax, 0x811c9dc5
xor ecx, ecx
jmp 0x100aba3a
mov eax, 0x811c9dc5
jmp 0x100aba57
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 0x100ab9fd
mov edx, edi
and edx, 3
je 0x100aba57
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 0x100aba46
mov edx, dword [ebp - 0x24]
and eax, dword [edx + 0x18]
mov ecx, dword [edx + 0xc]
mov ebx, dword [ecx + eax*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abc17
add eax, eax
mov esi, dword [ecx + eax*4]
cmp edi, dword [ebx + 0x18]
je 0x100aba87
cmp ebx, esi
je 0x100abc17
mov ebx, dword [ebx + 4]
cmp edi, dword [ebx + 0x18]
jne 0x100aba77
cmp dword [ebx + 0x1c], 0x10
jb 0x100aba92
mov eax, dword [ebx + 8]
jmp 0x100aba95
lea eax, [ebx + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100aba77
add ebx, 0x20
lea ecx, [ebp - 0x70]
call fcn.100029d0
mov dword [0x10132c14], ebx
mov dword [ebp - 0x10], 0xf
lea edx, [ebp - 0x50]
vmovss xmm2, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x54]
jmp 0x100ab103
and al, 1
jmp 0x100aae33
call fcn.1007cfb0
mov dword [ebp - 0x58], ecx
or eax, 1
mov dword [0x10132c18], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x1c08]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov esi, dword [ebp - 0x1bf8]
cmp dword [ebp - 0x1bf4], 0x10
jb 0x100abb1f
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100abb3f
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x100abb46
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100abb8f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, 0x811c9dc5
jmp 0x100abbac
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 0x100abb55
cmp dword [ebp - 0x2c], 0
je 0x100abbac
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 0x100abb9a
mov edx, dword [ebp - 0x30]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100abca3
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100abbdc
cmp edi, ebx
je 0x100abca3
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x100abbcc
cmp dword [edi + 0x1c], 0x10
jb 0x100abbe7
mov eax, dword [edi + 8]
jmp 0x100abbea
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100abbcc
add edi, 0x20
lea ecx, [ebp - 0x1c08]
call fcn.100029d0
mov dword [0x10132c14], edi
mov ecx, dword [ebp - 0x58]
jmp 0x100aae00
mov dword [ebp - 0x10], 0x11
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 8
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xa
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xc
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0xe
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], 3
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
nop word [eax + eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
lea ecx, [ebp - 0x1c08]
call fcn.100029d0
add esp, 0x1c
pop ebp
ret