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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1008a9f0
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 [0x10132be8]
test al, 1
je 0x10083262
mov edi, dword [0x10132be4]
mov eax, dword [edi + 4]
mov ebx, dword [ecx + eax - 0x14]
test ebx, ebx
je 0x1008324f
mov eax, dword [0x1012d364]
vmovsd xmm0, qword [eax + 0x10]
vmovups xmmword [ebp - 0x70], xmm0
mov ecx, dword [0x1012d35c]
mov esi, dword [ecx]
mov edx, dword [0x1012d4a4]
test dl, 1
je 0x100832c0
mov edi, dword [0x1012d4a0]
mov dword [ebp - 0x10], 0xffffffff
mov edx, dword [edi + 4]
vcvtsi2ss xmm0, xmm1, dword [edx + esi]
vmovss xmm1, dword [eax + 0x20]
vmulss xmm0, xmm1, xmm0
vmovss dword [eax + 0x10], xmm0
vmovss dword [eax + 0x14], xmm1
mov ecx, dword [ecx]
mov eax, dword [ecx]
push dword [ebp + 8]
call dword [eax + 0x5d4]
mov eax, dword [0x1012d364]
mov eax, dword [eax + 4]
dec eax
mov dword [ebx + 0x70], eax
mov eax, dword [0x1012d35c]
mov esi, dword [eax]
mov ecx, dword [0x10132c30]
test cl, 1
je 0x10083322
mov edi, dword [0x10132c2c]
mov dword [ebp - 0x28], esi
mov ecx, dword [edi + 4]
mov edx, dword [ecx + esi + 8]
mov dword [ebp - 0x58], edx
vmovsd xmm0, qword [ecx + esi]
vmovsd qword [ebp - 0x60], xmm0
mov ecx, dword [0x10132c18]
test cl, 1
je 0x10083384
mov edi, dword [0x10132c14]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
add ecx, dword [edi + 4]
mov dword [ebp - 0x28], ecx
mov ecx, dword [0x10132c30]
test cl, 1
je 0x100833e3
mov edi, dword [0x10132c2c]
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0x28]
mov edx, dword [edi + 8]
mov esi, dword [ebp - 0x20]
mov dword [ecx + esi + 8], edx
vmovsd xmm0, qword [edi]
vmovsd qword [ecx + esi], xmm0
mov edx, dword [eax]
mov eax, dword [0x10132c38]
test al, 1
je 0x10083442
mov edi, dword [0x10132c34]
mov esi, edx
mov ecx, dword [edi + 4]
mov edx, dword [ecx + edx]
mov dword [ebp - 0x28], edx
test al, 1
je 0x100834a3
and byte [ecx + esi + 1], 0xef
mov ecx, dword [0x1012d35c]
mov esi, dword [ecx]
mov eax, dword [0x10132c40]
test al, 1
je 0x10083504
mov edi, dword [0x10132c3c]
mov edx, dword [edi + 4]
movzx edx, byte [edx + esi]
mov byte [ebp - 0x20], dl
mov edx, dword [0x1012d320]
mov byte [edx + 0x1b1], 1
mov edx, dword [ecx]
test al, 1
je 0x10083565
movzx eax, byte [ebp + 0xc]
mov ecx, dword [edi + 4]
mov byte [ecx + edx], 1
mov dword [ebp - 0x10], 0xffffffff
test al, al
je 0x100830f1
mov eax, dword [ebp + 8]
vmovss xmm2, dword [eax]
vmovss xmm1, dword [eax + 4]
mov eax, dword [0x1012d320]
vxorps xmm0, xmm0, xmm0
mov ecx, ebx
xor edx, edx
push 0
call dword [eax + 0x10]
jmp 0x10083100
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x380]
mov eax, dword [0x1012d35c]
mov edx, dword [eax]
mov eax, dword [0x10132c40]
test al, 1
je 0x100835c6
mov edi, dword [0x10132c3c]
mov eax, dword [edi + 4]
movzx ecx, byte [ebp - 0x20]
mov byte [eax + edx], cl
mov eax, dword [0x1012d320]
mov byte [eax + 0x1b1], 0
mov eax, dword [0x1012d35c]
mov edx, dword [eax]
mov eax, dword [0x10132c38]
test al, 1
je 0x10083627
mov edi, dword [0x10132c34]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x28]
mov dword [eax + edx], ecx
mov eax, dword [0x1012d35c]
mov edx, dword [eax]
mov eax, dword [0x10132c30]
test al, 1
je 0x10083688
mov edi, dword [0x10132c2c]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x58]
mov dword [eax + edx + 8], ecx
vmovsd xmm0, qword [ebp - 0x60]
vmovsd qword [eax + edx], xmm0
mov eax, dword [0x1012d364]
vmovups xmm0, xmmword [ebp - 0x70]
vmovlps qword [eax + 0x10], xmm0
vmovss xmm1, dword [ebx + 0xf8]
vmovss xmm0, dword [0x100f54d0]
vucomiss xmm1, xmm0
ja 0x100831b4
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm1
ja 0x100831b4
vmovaps xmm0, xmm1
vmovss xmm1, dword [ebx + 0x11c]
vmovss xmm2, dword [0x100fe148]
vfmadd213ss xmm2, xmm1, dword [0x100f55d4]
vaddss xmm1, xmm2, dword [0x100f54b0]
vmulss xmm0, xmm0, xmm1
vaddss xmm0, xmm0, dword [0x100f54d0]
vmovss xmm1, dword [ebx + 0xa4]
vxorps xmm2, xmm2, xmm2
vucomiss xmm1, xmm2
jbe 0x1008322c
vmovss xmm2, dword [ebx + 0xfc]
vmovss xmm3, dword [0x100f54d0]
vucomiss xmm2, xmm3
ja 0x10083217
vxorps xmm3, xmm3, xmm3
vucomiss xmm3, xmm2
ja 0x10083217
vmovaps xmm3, xmm2
vmulss xmm1, xmm1, xmm3
vmovss xmm2, dword [0x100f54dc]
vsubss xmm2, xmm2, xmm0
vfmadd231ss xmm0, xmm1, xmm2
vmulss xmm1, xmm0, dword [ebx + 0x338]
mov eax, dword [ebp - 0x54]
vmovss dword [eax + 0x1810], xmm1
vmulss xmm0, xmm0, dword [ebx + 0x334]
vmovss dword [eax + 0x180c], xmm0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [ebp - 0x24], ecx
or eax, 1
mov dword [0x10132be8], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push str.CCSPlayer__m_bIsScoped
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x1008329b
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100836e9
mov eax, esi
and eax, 3
mov dword [ebp - 0x70], eax
cmp esi, 4
jae 0x100836f0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083739
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], ebx
or edx, 1
mov dword [0x1012d4a4], edx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push str.CBasePlayer__m_nTickBase
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100832fd
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100837c0
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x1008382e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083877
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], ebx
or ecx, 1
mov dword [0x10132c30], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push 0x1011ed6b
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x1008335f
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100837ca
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x10083913
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008395c
mov dword [ebp - 0x30], ebx
or ecx, 1
mov dword [0x10132c18], ecx
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.CBasePlayer__m_vecVelocity_0_
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100833be
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100837d4
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100839f0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083a39
mov dword [ebp - 0x30], ebx
or ecx, 1
mov dword [0x10132c30], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], ecx
push 0x1011ed6b
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x1008341d
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x100837de
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x10083acd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083b16
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c38], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push str.m_iEFlags
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x1008347e
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x100837e8
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x10083ba2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083beb
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c38], 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.m_iEFlags
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100834df
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100837f2
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10083c81
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083cca
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c40], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x10083540
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100837fc
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10083d57
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083da0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c40], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100835a1
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10083806
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x10083e35
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083e7e
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c40], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x12
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x10083602
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10083810
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x10083f08
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10083f51
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c38], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x14
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x20], ecx
push str.m_iEFlags
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x10083663
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x1008381a
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x10083fdb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10084024
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ebx
or eax, 1
mov dword [0x10132c30], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x16
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
push 0x1011ed6b
call fcn.100083b0
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0x10
jb 0x100836c4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x10083824
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x100840ae
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100840f7
mov ecx, 0x811c9dc5
jmp 0x10083756
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 0x100836ff
cmp dword [ebp - 0x70], 0
je 0x10083756
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 - 0x70], edi
jne 0x10083744
mov edx, dword [ebp - 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10084181
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083795
cmp dword [edi + 0x1c], 0x10
jb 0x10083781
mov eax, dword [edi + 8]
jmp 0x10083784
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100837a7
cmp edi, ebx
je 0x10084181
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083776
jmp 0x10083795
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132be4], edi
mov ecx, dword [ebp - 0x24]
jmp 0x10082f5a
mov ecx, 0x811c9dc5
jmp 0x10083894
mov ecx, 0x811c9dc5
jmp 0x10083979
mov ecx, 0x811c9dc5
jmp 0x10083a56
mov ecx, 0x811c9dc5
jmp 0x10083b33
mov ecx, 0x811c9dc5
jmp 0x10083c08
mov ecx, 0x811c9dc5
jmp 0x10083ce7
mov ecx, 0x811c9dc5
jmp 0x10083dbd
mov ecx, 0x811c9dc5
jmp 0x10083e9b
mov ecx, 0x811c9dc5
jmp 0x10083f6e
mov ecx, 0x811c9dc5
jmp 0x10084041
mov ecx, 0x811c9dc5
jmp 0x10084114
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 0x1008383d
cmp dword [ebp - 0x20], 0
je 0x10083894
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 - 0x20], edi
jne 0x10083882
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 0x10084195
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100838d3
cmp dword [edi + 0x1c], 0x10
jb 0x100838bf
mov eax, dword [edi + 8]
jmp 0x100838c2
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100838e5
cmp edi, ebx
je 0x10084195
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100838b4
jmp 0x100838d3
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x1012d4a0], edi
mov eax, dword [0x1012d364]
mov ecx, dword [0x1012d35c]
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
jmp 0x10082f9c
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 0x10083922
cmp dword [ebp - 0x20], 0
je 0x10083979
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 - 0x20], edi
jne 0x10083967
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 0x100841a9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100839b8
cmp dword [edi + 0x1c], 0x10
jb 0x100839a4
mov eax, dword [edi + 8]
jmp 0x100839a7
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100839ca
cmp edi, ebx
je 0x100841a9
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083999
jmp 0x100839b8
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c2c], edi
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
jmp 0x10082fef
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 0x100839ff
cmp dword [ebp - 0x24], 0
je 0x10083a56
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 0x10083a44
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 0x100841bd
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083a95
cmp dword [edi + 0x1c], 0x10
jb 0x10083a81
mov eax, dword [edi + 8]
jmp 0x10083a84
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083aa7
cmp edi, ebx
je 0x100841bd
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083a76
jmp 0x10083a95
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c14], edi
mov eax, dword [0x1012d35c]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
jmp 0x1008301e
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 0x10083adc
cmp dword [ebp - 0x2c], 0
je 0x10083b33
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 - 0x2c], edi
jne 0x10083b21
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 0x100841d1
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083b72
cmp dword [edi + 0x1c], 0x10
jb 0x10083b5e
mov eax, dword [edi + 8]
jmp 0x10083b61
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083b84
cmp edi, ebx
je 0x100841d1
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083b53
jmp 0x10083b72
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c2c], edi
mov eax, dword [0x1012d35c]
mov ebx, dword [ebp - 0x30]
jmp 0x10083039
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 0x10083bb1
cmp dword [ebp - 0x20], 0
je 0x10083c08
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 - 0x20], edi
jne 0x10083bf6
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 0x100841e5
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083c47
cmp dword [edi + 0x1c], 0x10
jb 0x10083c33
mov eax, dword [edi + 8]
jmp 0x10083c36
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083c59
cmp edi, ebx
je 0x100841e5
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083c28
jmp 0x10083c47
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c34], edi
mov eax, dword [0x1012d35c]
mov esi, dword [eax]
mov eax, dword [0x10132c38]
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
jmp 0x10083069
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 0x10083c90
cmp dword [ebp - 0x24], 0
je 0x10083ce7
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 0x10083cd5
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 0x100841f9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083d26
cmp dword [edi + 0x1c], 0x10
jb 0x10083d12
mov eax, dword [edi + 8]
jmp 0x10083d15
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083d38
cmp edi, ebx
je 0x100841f9
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083d07
jmp 0x10083d26
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c34], esi
mov ecx, dword [edi + 0x24]
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
jmp 0x1008307a
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 0x10083d66
cmp dword [ebp - 0x24], 0
je 0x10083dbd
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 0x10083dab
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 0x1008420d
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083dfc
cmp dword [edi + 0x1c], 0x10
jb 0x10083de8
mov eax, dword [edi + 8]
jmp 0x10083deb
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083e0e
cmp edi, ebx
je 0x1008420d
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083ddd
jmp 0x10083dfc
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c3c], edi
mov ecx, dword [0x1012d35c]
mov eax, dword [0x10132c40]
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
jmp 0x1008309a
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 0x10083e44
cmp dword [ebp - 0x2c], 0
je 0x10083e9b
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 - 0x2c], edi
jne 0x10083e89
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 0x10084221
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083eda
cmp dword [edi + 0x1c], 0x10
jb 0x10083ec6
mov eax, dword [edi + 8]
jmp 0x10083ec9
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083eec
cmp edi, ebx
je 0x10084221
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083ebb
jmp 0x10083eda
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c3c], edi
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
jmp 0x100830bb
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 0x10083f17
cmp dword [ebp - 0x2c], 0
je 0x10083f6e
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 - 0x2c], edi
jne 0x10083f5c
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 0x10084235
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10083fad
cmp dword [edi + 0x1c], 0x10
jb 0x10083f99
mov eax, dword [edi + 8]
jmp 0x10083f9c
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10083fbf
cmp edi, ebx
je 0x10084235
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10083f8e
jmp 0x10083fad
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c3c], edi
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
jmp 0x1008311a
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 0x10083fea
cmp dword [ebp - 0x24], 0
je 0x10084041
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 0x1008402f
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 0x10084249
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10084080
cmp dword [edi + 0x1c], 0x10
jb 0x1008406c
mov eax, dword [edi + 8]
jmp 0x1008406f
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10084092
cmp edi, ebx
je 0x10084249
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x10084061
jmp 0x10084080
add edi, 0x20
lea ecx, [ebp - 0x4c]
call fcn.100029d0
mov dword [0x10132c34], edi
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
jmp 0x1008314a
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 0x100840bd
cmp dword [ebp - 0x20], 0
je 0x10084114
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 0x1008425d
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x10084153
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
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], 0x11
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0x13
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0x15
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 0x17
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, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.100029d0
add esp, 0xc
pop ebp
ret