Function at 0x10072870
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x18b8
call fcn.100f1fd0
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1007d940
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [ebp - 0x74], ymm0
vmovups ymmword [ebp - 0x80], ymm0
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100730e6
mov edi, dword [0x1012d490]
mov ebx, ecx
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x18c4]
push 0x1844
push 0
push eax
vzeroupper
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [0x10132be8]
test al, 1
je 0x10073153
mov edi, dword [0x10132be4]
mov eax, dword [edi + 4]
mov eax, dword [ebx + eax - 0x14]
test eax, eax
je 0x10072921
vmovss xmm0, dword [eax + 0x80]
vmovss dword [ebp - 0x18c4], xmm0
mov eax, dword [0x10132ba8]
test al, 1
je 0x100731b1
mov edi, dword [0x10132ba4]
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x18c0]
lea esi, [ebp - 0x18b4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [edx + 8], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [edx], xmm0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [esi], xmm0
mov eax, dword [0x10132bb0]
test al, 1
je 0x1007320f
mov edi, dword [0x10132bac]
lea edx, [ebp - 0x18a8]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [edx + 8], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [edx], xmm0
mov eax, dword [0x10132bb8]
test al, 1
je 0x1007326d
mov edi, dword [0x10132bb4]
lea edx, [ebp - 0x1890]
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx + 8]
mov dword [ebp - 0x1894], ecx
vmovsd xmm0, qword [eax + ebx]
vmovsd qword [ebp - 0x189c], xmm0
mov eax, dword [ebx + 0x26ac]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0x26b0]
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0x2920]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [ebx + 0x2914]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x2920]
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 0x2690]
mov dword [ebp - 0x84], eax
cmp byte [ebp + 0xc], 0
je 0x10072b40
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x10073329
mov edi, dword [0x10132ba4]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [esi + 0x60]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 8]
mov dword [ecx + ebx + 8], edx
vmovsd xmm0, qword [eax]
vmovsd qword [ecx + ebx], xmm0
mov edx, dword [0x1012d320]
mov ecx, ebx
push eax
call dword [edx + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x10072ac7
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x2c], ecx
lea edx, [esi + 0x78]
vmovss xmm0, dword [ebx + 0x9920]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [ebx + 0x9924]
vmovss dword [ebp - 0x28], xmm0
mov edi, dword [0x1012d320]
mov ecx, eax
push edx
push dword [ebp - 0x2c]
call dword [edi + 0x28]
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [ebx + 0x9920], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [ebx + 0x9924], xmm0
mov eax, dword [ebp - 0x20]
cmp eax, 3
jae 0x1007338a
imul edi, eax, 0x1b50
lea eax, [esi + edi]
add eax, 0x35c
mov dword [ebp - 0x20], eax
vmovss xmm0, dword [esi + edi + 0x1b60]
mov dword [ebp - 0x4c], 0
vmovss dword [ebp - 0x48], xmm0
mov dword [ebp - 0x44], 0
mov eax, dword [0x1012d320]
lea edx, [ebp - 0x4c]
mov ecx, ebx
push edx
call dword [eax + 0x14]
mov eax, dword [esi + edi + 0x1b5c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [ebp - 0x20]
push dword [ebx + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1012d320]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [ebx + 0x2690], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x10072b66
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10072b66
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0xa], 0
je 0x10072b9d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100732cb
mov edi, dword [0x1012d490]
mov eax, dword [edi + 4]
mov eax, dword [eax + ecx]
add eax, 5
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], eax
cmp esi, eax
jne 0x10072de0
cmp byte [ebp + 0xc], 0
je 0x10072ccd
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax]
mov eax, dword [0x10132ba8]
test al, 1
je 0x1007338f
mov edi, dword [0x10132ba4]
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x18c0]
mov eax, dword [edi + 4]
mov ecx, dword [edx + 8]
mov dword [eax + ebx + 8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [eax + ebx], xmm0
mov eax, dword [0x1012d320]
mov ecx, ebx
lea edx, [ebp - 0x18b4]
push edx
call dword [eax + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x10072c5e
lea edx, [ebp - 0x189c]
vmovss xmm0, dword [ebx + 0x9920]
vmovss dword [ebp - 0x20], xmm0
vmovss xmm0, dword [ebx + 0x9924]
vmovss dword [ebp - 0x24], xmm0
mov esi, dword [0x1012d320]
mov ecx, eax
push edx
lea eax, [ebp - 0x18a8]
push eax
call dword [esi + 0x28]
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [ebx + 0x9920], xmm0
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [ebx + 0x9924], xmm0
vmovss xmm0, dword [ebp - 0x18c4]
mov dword [ebp - 0x4c], 0
vmovss dword [ebp - 0x48], xmm0
mov dword [ebp - 0x44], 0
mov eax, dword [0x1012d320]
lea edx, [ebp - 0x4c]
mov ecx, ebx
push edx
call dword [eax + 0x14]
mov eax, dword [ebp - 0x8c]
mov dword [ebx + 0x26ac], eax
mov eax, dword [ebp - 0x88]
mov dword [ebx + 0x26b0], eax
mov eax, dword [ebp - 0x90]
shl eax, 4
lea eax, [eax + eax*2]
push eax
lea eax, [ebp - 0x1890]
push eax
push dword [ebx + 0x2914]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x84]
mov dword [ebx + 0x2690], eax
mov eax, dword [ebp + 8]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
xor ecx, ecx
cmp ecx, 0xb
jne 0x10072d20
jmp 0x10072d4e
mov dword [ebp - 0x10], 0x10
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x4c]
push edx
push eax
vzeroupper
call fcn.1007d240
mov ecx, dword [ebp - 0x20]
inc ecx
cmp ecx, 0xb
je 0x10072d4e
mov edx, dword [ebp + ecx*4 - 0x80]
test edx, edx
je 0x10072d1a
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x44]
je 0x10072d00
vmovups ymm0, ymmword [edx]
vmovups ymm1, ymmword [edx + 0x14]
vmovups ymmword [eax + 0x14], ymm1
vmovups ymmword [eax], ymm0
add eax, 0x34
mov dword [ebp - 0x48], eax
inc ecx
cmp ecx, 0xb
jne 0x10072d20
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x24], eax
je 0x10072fb1
mov eax, dword [ebp - 0x48]
sub eax, edx
mov dword [ebp - 0x20], eax
sar eax, 2
imul esi, eax, 0xc4ec4ec5
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x14]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xc4ec4ec5
cmp ecx, esi
jae 0x10072f49
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], esi
push esi
vzeroupper
call fcn.1007d3a0
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
imul esi, dword [ebp - 0x28], 0x34
add esi, edi
jmp 0x10072fa8
mov dword [ebp + eax*4 - 0x80], esi
add esi, 0x34
cmp esi, dword [ebp - 0x20]
je 0x10072bb1
cmp byte [ebp + 0xc], 0
je 0x10072e39
mov eax, dword [0x1012d320]
vmovss xmm0, dword [eax + 0x190]
vmovss xmm1, dword [eax + 0x194]
vmovss xmm2, dword [eax + 0x198]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x18
vmovss dword [esp + 0x14], xmm2
vmovss dword [esp + 0x10], xmm1
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x30]
call fcn.1006dab0
cmp byte [esi + 0x21], 0
je 0x10072dd4
mov ecx, dword [esi + 0x10]
cmp ecx, dword [ebp - 0x24]
jl 0x10072dd4
mov eax, dword [esi + 0x2c]
cmp eax, 0xb
jae 0x100730da
mov edx, dword [ebp + eax*4 - 0x80]
test edx, edx
je 0x10072dd0
cmp byte [esi + 0x20], 0
je 0x10072ea4
mov edi, dword [edx + 0x18]
mov dword [ebp - 0x28], edi
mov edi, dword [edx + 0x1c]
mov dword [ebp - 0x2c], edi
mov edi, dword [esi + 0x1c]
mov ebx, edx
mov edx, dword [ebp - 0x28]
cmp edx, dword [esi + 0x18]
mov edx, ebx
mov ebx, dword [ebp - 0x2c]
jne 0x10072e8b
cmp ebx, edi
je 0x10072dd0
cmp ebx, edi
jne 0x10072ea4
mov edi, dword [edx + 0x10]
sub edi, ecx
mov ebx, edi
neg ebx
cmovs ebx, edi
cmp ebx, 2
jb 0x10072dd0
mov edi, dword [edx + 0x10]
mov ebx, edi
sub ebx, ecx
je 0x10072dd4
cmp ecx, dword [ebp - 0x34]
jl 0x10072ebf
cmp edi, dword [ebp - 0x34]
jl 0x100730d1
mov dword [ebp - 0x28], edi
mov edi, dword [edx + 0x18]
mov dword [ebp - 0x54], edi
mov edi, dword [edx + 0x1c]
mov dword [ebp - 0x2c], edi
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x54]
cmp edi, dword [esi + 0x18]
jne 0x10072ee4
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x2c], edi
je 0x10072f0d
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x2c], edi
jne 0x10072ef8
mov edi, ebx
neg edi
cmovs edi, ebx
cmp edi, 2
jb 0x10072f0d
cmp ecx, dword [ebp - 0x34]
jle 0x100730c8
mov edi, dword [ebp - 0x28]
cmp edi, dword [ebp - 0x34]
jle 0x100730c8
cmp ecx, dword [ebp - 0x34]
jge 0x10072f38
mov edi, dword [ebp - 0x28]
cmp edi, dword [ebp - 0x34]
jge 0x10072f38
mov edi, ebx
neg edi
cmovs edi, ebx
cmp edi, 2
mov edi, dword [ebp - 0x28]
jb 0x10072dd4
add edi, 5
cmp ecx, edi
jg 0x100730d1
mov ecx, dword [esi + 0x24]
cmp ecx, dword [edx + 0x24]
jg 0x10072dd0
jmp 0x10072dd4
mov edi, dword [edi + 0x10]
sub edi, eax
mov ecx, edi
sar ecx, 2
imul ebx, ecx, 0xc4ec4ec5
mov ecx, esi
sub esi, ebx
jbe 0x10072f93
push edi
push edx
push eax
mov dword [ebp - 0x30], edx
vzeroupper
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
imul eax, ebx, 0x34
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x20]
sub ecx, edi
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
imul esi, esi, 0x34
add esi, ebx
jmp 0x10072fa8
imul esi, ecx, 0x34
add esi, eax
push dword [ebp - 0x20]
push edx
push eax
vzeroupper
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], esi
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x10072fe4
mov eax, dword [ebp - 0x44]
sub eax, edx
cmp eax, 0x1000
jb 0x10072fd7
mov ecx, dword [edx - 4]
add edx, 0xfffffffc
sub edx, ecx
cmp edx, 0x20
jae 0x10073840
add eax, 0x23
mov edx, ecx
push eax
push edx
vzeroupper
call fcn.100f1e8b
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
cmp ecx, eax
je 0x100730a5
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x30]
jmp 0x10073025
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], edi
mov dword [ebp - 0x20], edi
add edi, 0x34
cmp edi, dword [ebp - 0x24]
je 0x100730a5
test edx, edx
je 0x10073057
mov esi, dword [edx + 0x10]
mov eax, dword [edi + 0x10]
mov ecx, esi
sub ecx, eax
mov ebx, ecx
neg ebx
cmovs ebx, ecx
cmp ebx, 2
jb 0x1007305f
mov ebx, dword [ebp - 0x34]
cmp eax, ebx
setle cl
cmp esi, ebx
setle ch
or ch, cl
cmp ch, 1
jne 0x1007305f
cmp esi, eax
jge 0x1007305f
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], edi
mov edx, edi
cmp dword [edi + 0x2c], 3
jne 0x10073019
cmp dword [ebp - 0x20], 0
je 0x10073010
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
mov ecx, ebx
sub ecx, eax
mov esi, ecx
neg esi
cmovs esi, ecx
cmp esi, 2
jb 0x10073019
mov esi, dword [ebp - 0x34]
cmp eax, esi
setle cl
cmp ebx, esi
setle ch
or ch, cl
cmp ch, 1
jne 0x10073019
cmp ebx, eax
jl 0x10073010
jmp 0x10073019
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x30], eax
setne al
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x18b8
pop esi
pop edi
pop ebx
pop ebp
vzeroupper
ret 8
cmp dword [ebp - 0x28], ecx
jge 0x10072bb1
mov dword [ebp + eax*4 - 0x80], esi
jmp 0x10072bb1
mov dword [ebp - 0x10], 0xffffffff
call fcn.1007cfb0
mov dword [ebp - 0x28], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x18c4]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_iHealth
vzeroupper
call fcn.100083b0
mov esi, dword [ebp - 0x18b4]
cmp dword [ebp - 0x18b0], 0x10
jb 0x1007312e
mov eax, dword [ebp - 0x18c4]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100733ed
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x1007341f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10073468
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132be8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CCSPlayer__m_bIsScoped
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x1007318c
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100733f7
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100734f9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10073542
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100731ea
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10073401
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100735c9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10073612
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132bb0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecMins
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x10073248
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x1007340b
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100736a0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100736e9
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132bb8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecMaxs
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100732a6
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10073415
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10073770
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100737b9
mov dword [ebp - 0x50], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x10073304
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10073849
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x10073850
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10073899
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], 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 0x10073365
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10073920
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x10073931
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007397a
call fcn.1007cfb0
mov dword [ebp - 0x28], ebx
or eax, 1
mov dword [0x10132ba8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseEntity__m_vecOrigin
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100733c8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10073927
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10073a0b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10073a54
mov ecx, 0x811c9dc5
jmp 0x10073485
mov ecx, 0x811c9dc5
jmp 0x1007355f
mov ecx, 0x811c9dc5
jmp 0x1007362f
mov ecx, 0x811c9dc5
jmp 0x10073706
mov ecx, 0x811c9dc5
jmp 0x100737d6
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 0x1007342e
cmp dword [ebp - 0x24], 0
je 0x10073485
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 0x10073473
mov edx, dword [ebp - 0x34]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073ae8
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100734c4
cmp dword [edi + 0x1c], 0x10
jb 0x100734b0
mov eax, dword [edi + 8]
jmp 0x100734b3
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100734d6
cmp edi, ebx
je 0x10073ae8
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100734a5
jmp 0x100734c4
add edi, 0x20
lea ecx, [ebp - 0x18c4]
call fcn.100029d0
mov dword [0x1012d490], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [eax]
mov ecx, dword [ebp - 0x28]
jmp 0x100728d1
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 0x10073508
cmp dword [ebp - 0x24], 0
je 0x1007355f
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 0x1007354d
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073afc
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x1007359e
cmp dword [edi + 0x1c], 0x10
jb 0x1007358a
mov eax, dword [edi + 8]
jmp 0x1007358d
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100735b0
cmp edi, ebx
je 0x10073afc
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x1007357f
jmp 0x1007359e
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132be4], edi
mov ebx, dword [ebp - 0x28]
jmp 0x10072906
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 0x100735d8
cmp dword [ebp - 0x24], 0
je 0x1007362f
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 0x1007361d
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073b10
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x1007366e
cmp dword [edi + 0x1c], 0x10
jb 0x1007365a
mov eax, dword [edi + 8]
jmp 0x1007365d
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10073680
cmp edi, ebx
je 0x10073b10
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x1007364f
jmp 0x1007366e
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x28]
jmp 0x1007293b
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 0x100736af
cmp dword [ebp - 0x24], 0
je 0x10073706
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 0x100736f4
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073b24
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10073745
cmp dword [edi + 0x1c], 0x10
jb 0x10073731
mov eax, dword [edi + 8]
jmp 0x10073734
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10073757
cmp edi, ebx
je 0x10073b24
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10073726
jmp 0x10073745
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132bac], edi
mov ebx, dword [ebp - 0x28]
jmp 0x10072982
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 0x1007377f
cmp dword [ebp - 0x24], 0
je 0x100737d6
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 0x100737c4
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073b38
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10073815
cmp dword [edi + 0x1c], 0x10
jb 0x10073801
mov eax, dword [edi + 8]
jmp 0x10073804
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10073827
cmp edi, ebx
je 0x10073b38
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100737f6
jmp 0x10073815
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132bb4], edi
mov ebx, dword [ebp - 0x28]
jmp 0x100729ae
vzeroupper
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, 0x811c9dc5
jmp 0x100738b6
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 0x1007385f
cmp dword [ebp - 0x28], 0
je 0x100738b6
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 - 0x28], edi
jne 0x100738a4
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073b4c
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100738f5
cmp dword [edi + 0x1c], 0x10
jb 0x100738e1
mov eax, dword [edi + 8]
jmp 0x100738e4
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10073907
cmp edi, ebx
je 0x10073b4c
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100738d6
jmp 0x100738f5
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ecx, dword [ebp - 0x50]
jmp 0x10072b89
mov ecx, 0x811c9dc5
jmp 0x10073997
mov ecx, 0x811c9dc5
jmp 0x10073a71
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 0x10073940
cmp dword [ebp - 0x28], 0
je 0x10073997
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 0x10073985
mov edx, dword [ebp - 0x2c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10073b60
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100739d6
cmp dword [edi + 0x1c], 0x10
jb 0x100739c2
mov eax, dword [edi + 8]
jmp 0x100739c5
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100739e8
cmp edi, ebx
je 0x10073b60
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100739b7
jmp 0x100739d6
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x54]
jmp 0x10072a4e
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 0x10073a1a
cmp dword [ebp - 0x24], 0
je 0x10073a71
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 0x10073a5f
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 0x10073b74
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10073ab0
cmp dword [edi + 0x1c], 0x10
jb 0x10073a9c
mov eax, dword [edi + 8]
jmp 0x10073a9f
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10073ac2
cmp edi, ebx
je 0x10073b74
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10073a91
jmp 0x10073ab0
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132ba4], edi
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0x18c0]
mov ebx, dword [ebp - 0x28]
jmp 0x10072be2
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], 0xd
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], 0xf
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop dword [eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
lea ecx, [ebp - 0x18c4]
call fcn.100029d0
add esp, 0x18
pop ebp
ret