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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [0x1017f528]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [0x1017f608]
mov ebp, dword [eax]
mov edi, dword [ebp + 0x3914]
test edi, edi
je 0x10070c63
mov dword [esp + 0x18], ecx
mov ecx, dword [0x1017f610]
vmovsd xmm0, qword [ecx + 0x10]
mov edx, dword [0x1017f72c]
test dl, 1
vmovups xmmword [esp + 0x20], xmm0
je 0x10070c78
mov ebx, dword [0x1017f728]
mov edx, dword [ebx + 4]
vcvtsi2ss xmm0, xmm1, dword [edx + ebp]
vmovss xmm1, dword [ecx + 0x20]
vmulss xmm0, xmm1, xmm0
vmovss dword [ecx + 0x10], xmm0
vmovss dword [ecx + 0x14], xmm1
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [esp + 0x6c]
call dword [eax + 0x5d0]
mov eax, dword [0x1017f610]
mov eax, dword [eax + 4]
dec eax
mov dword [edi + 0x70], eax
mov eax, dword [0x1017f608]
mov ebp, dword [eax]
mov ecx, dword [0x10184e7c]
test cl, 1
je 0x10070cdf
mov esi, dword [0x10184e78]
mov ebx, ebp
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebp + 8]
mov dword [esp + 0x38], edx
vmovsd xmm0, qword [ecx + ebp]
vmovsd qword [esp + 0x30], xmm0
mov ecx, dword [0x10184e84]
test cl, 1
je 0x10070d46
mov esi, dword [0x10184e80]
mov ebp, ebx
add ebx, dword [esi + 4]
mov ecx, dword [0x10184e7c]
test cl, 1
je 0x10070dad
mov esi, dword [0x10184e78]
mov ecx, dword [esi + 4]
mov edx, dword [ebx + 8]
mov dword [ecx + ebp + 8], edx
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx + ebp], xmm0
mov ebp, dword [eax]
mov eax, dword [0x10184e8c]
test al, 1
je 0x10070e15
mov esi, dword [0x10184e88]
mov ebx, ebp
mov ecx, dword [esi + 4]
mov edx, dword [ecx + ebp]
mov dword [esp + 8], edx
test al, 1
je 0x10070e7b
and byte [ecx + ebx + 1], 0xef
mov ecx, dword [0x1017f608]
mov ebx, dword [ecx]
mov eax, dword [0x10184e94]
test al, 1
je 0x10070ee0
mov ebp, dword [0x10184e90]
mov edx, dword [ebp + 4]
movzx ebx, byte [edx + ebx]
mov edx, dword [0x1017f5c0]
mov byte [edx + 0x135], 1
mov esi, dword [ecx]
test al, 1
je 0x10070f45
movzx eax, byte [esp + 0x70]
mov ecx, dword [ebp + 4]
mov byte [ecx + esi], 1
test al, al
je 0x10070ae4
mov eax, dword [esp + 0x6c]
vmovss xmm2, dword [eax]
vmovss xmm1, dword [eax + 4]
mov eax, dword [0x1017f5c0]
vxorps xmm0, xmm0, xmm0
mov ecx, edi
xor edx, edx
push 0
call dword [eax + 0x10]
jmp 0x10070af3
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x37c]
mov eax, dword [0x1017f608]
mov esi, dword [eax]
mov eax, dword [0x10184e94]
test al, 1
je 0x10070faa
mov ebp, dword [0x10184e90]
mov eax, dword [ebp + 4]
mov byte [eax + esi], bl
mov eax, dword [0x1017f5c0]
mov byte [eax + 0x135], 0
mov eax, dword [0x1017f608]
mov esi, dword [eax]
mov eax, dword [0x10184e8c]
test al, 1
je 0x1007100f
mov ebp, dword [0x10184e88]
mov ecx, dword [esp + 8]
mov eax, dword [ebp + 4]
mov dword [eax + esi], ecx
mov eax, dword [0x1017f608]
mov ebp, dword [eax]
mov eax, dword [0x10184e7c]
test al, 1
je 0x10071074
mov ebx, dword [0x10184e78]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + ebp + 8], ecx
vmovsd xmm0, qword [esp + 0x30]
vmovsd qword [eax + ebp], xmm0
mov eax, dword [0x1017f610]
vmovups xmm0, xmmword [esp + 0x20]
vmovlps qword [eax + 0x10], xmm0
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x1c], 0
lea edx, [edi + 0xf8]
vmovss xmm0, dword [edi + 0xf8]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
lea eax, [esp + 0x1c]
cmova edx, eax
vmovss xmm3, dword [0x10129710]
vucomiss xmm0, xmm3
lea ecx, [esp + 0x3c]
cmova edx, ecx
vmovss xmm0, dword [edi + 0x11c]
vmovss xmm2, dword [0x101320bc]
vfmadd213ss xmm2, xmm0, dword [0x10129884]
vaddss xmm0, xmm2, dword [0x101296d4]
vmulss xmm0, xmm0, dword [edx]
vmovss xmm2, dword [edi + 0xa4]
vaddss xmm0, xmm0, xmm3
vucomiss xmm2, xmm1
jbe 0x10070c3f
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x1c], 0
vmovss xmm3, dword [edi + 0xfc]
vucomiss xmm1, xmm3
lea edx, [edi + 0xfc]
cmova edx, eax
vucomiss xmm3, dword [0x10129710]
cmova edx, ecx
vmulss xmm1, xmm2, dword [edx]
vmovss xmm2, dword [0x10129738]
vsubss xmm2, xmm2, xmm0
vfmadd231ss xmm0, xmm1, xmm2
mov eax, dword [esp + 0x18]
vmulss xmm1, xmm0, dword [edi + 0x338]
vmovss dword [eax + 0x3010], xmm1
vmulss xmm0, xmm0, dword [edi + 0x334]
vmovss dword [eax + 0x300c], xmm0
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.100d7fe0
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret 8
or edx, 1
mov dword [0x1017f72c], edx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
push str.CBasePlayer__m_nTickBase
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070cb1
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp dword [esp + 8], 0
je 0x100710da
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10071148
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071193
or ecx, 1
mov dword [0x10184e7c], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
push 0x1016ba44
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070d18
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp dword [esp + 8], 0
je 0x100710e4
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10071229
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071274
or ecx, 1
mov dword [0x10184e84], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070d7f
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp dword [esp + 8], 0
je 0x100710ee
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10071306
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071351
or ecx, 1
mov dword [0x10184e7c], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 4], ecx
push 0x1016ba44
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070de8
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
cmp dword [esp + 8], 0
je 0x100710f8
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp], eax
cmp ecx, 3
jae 0x100713e3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071435
or eax, 1
mov dword [0x10184e8c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
push str.m_iEFlags
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070e4d
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp dword [esp + 8], 0
je 0x10071102
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x100714c8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071513
or eax, 1
mov dword [0x10184e8c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 4], ecx
push str.m_iEFlags
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070eb4
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x1007110c
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 3
jae 0x100715aa
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100715f5
or eax, 1
mov dword [0x10184e94], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 4], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070f19
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10071116
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 3
jae 0x10071682
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100716cd
or eax, 1
mov dword [0x10184e94], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070f7e
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
cmp dword [esp], 0
je 0x10071120
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10071762
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100717b4
or eax, 1
mov dword [0x10184e94], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], ecx
push str.CBaseAnimating__m_bClientSideAnimation
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
cmp dword [esp + 0x50], 0x10
jb 0x10070fe3
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
cmp dword [esp], 0
je 0x1007112a
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x10071844
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071896
or eax, 1
mov dword [0x10184e8c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 4], ecx
push str.m_iEFlags
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
cmp dword [esp + 0x50], 0x10
jb 0x10071048
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10071134
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0xc], eax
cmp ecx, 3
jae 0x10071926
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071971
or eax, 1
mov dword [0x10184e7c], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
push 0x1016ba44
call fcn.10005ce0
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
cmp dword [esp + 0x50], 0x10
jb 0x100710ac
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp dword [esp + 8], 0
je 0x1007113e
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x100719fb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10071a46
mov ecx, 0x811c9dc5
jmp 0x100711b2
mov ecx, 0x811c9dc5
jmp 0x10071293
mov ecx, 0x811c9dc5
jmp 0x10071370
mov ecx, 0x811c9dc5
jmp 0x10071453
mov ecx, 0x811c9dc5
jmp 0x10071532
mov ecx, 0x811c9dc5
jmp 0x10071615
mov ecx, 0x811c9dc5
jmp 0x100716ed
mov ecx, 0x811c9dc5
jmp 0x100717d4
mov ecx, 0x811c9dc5
jmp 0x100718b6
mov ecx, 0x811c9dc5
jmp 0x10071991
mov ecx, 0x811c9dc5
jmp 0x10071a65
mov esi, dword [esp + 8]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 0x10071159
cmp dword [esp + 4], 0
je 0x100711b2
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x1007119f
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 8]
cmp eax, dword [ebx + 0x18]
jne 0x100711fa
cmp dword [ebx + 0x1c], 0x10
jb 0x100711e2
mov eax, dword [ebx + 8]
jmp 0x100711e5
lea eax, [ebx + 8]
push dword [esp + 8]
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071207
cmp ebx, esi
je 0x10071ac9
mov ebx, dword [ebx + 4]
jmp 0x100711ce
add ebx, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x1017f728], ebx
mov ecx, dword [0x1017f610]
mov eax, dword [0x1017f608]
jmp 0x100709a1
mov esi, dword [esp + 8]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 0x1007123a
cmp dword [esp + 4], 0
je 0x10071293
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x10071280
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0x18]
jne 0x100712db
cmp dword [esi + 0x1c], 0x10
jb 0x100712c3
mov eax, dword [esi + 8]
jmp 0x100712c6
lea eax, [esi + 8]
push dword [esp + 8]
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100712e8
cmp esi, ebx
je 0x10071ac9
mov esi, dword [esi + 4]
jmp 0x100712af
add esi, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e78], esi
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
jmp 0x100709f4
mov esi, dword [esp + 8]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x10071317
cmp dword [esp + 4], 0
je 0x10071370
add edx, dword [esp]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x1007135d
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0x18]
jne 0x100713b8
cmp dword [esi + 0x1c], 0x10
jb 0x100713a0
mov eax, dword [esi + 8]
jmp 0x100713a3
lea eax, [esi + 8]
push dword [esp + 8]
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100713c5
cmp esi, ebp
je 0x10071ac9
mov esi, dword [esi + 4]
jmp 0x1007138c
add esi, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e80], esi
mov eax, dword [0x1017f608]
mov ebp, dword [eax]
jmp 0x10070a21
mov eax, dword [esp + 8]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov esi, dword [esp + 4]
movzx eax, byte [esi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [esi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [esi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0xc], edx
jne 0x100713f9
cmp dword [esp], 0
je 0x10071453
add edx, dword [esp + 4]
xor esi, esi
movzx eax, byte [edx + esi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc esi
cmp dword [esp], esi
jne 0x10071441
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp], eax
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0x18]
jne 0x1007149e
cmp dword [esi + 0x1c], 0x10
jb 0x10071486
mov eax, dword [esi + 8]
jmp 0x10071489
lea eax, [esi + 8]
push dword [esp + 8]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100714ac
cmp esi, dword [esp]
je 0x10071ac9
mov esi, dword [esi + 4]
jmp 0x10071472
add esi, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e78], esi
mov eax, dword [0x1017f608]
jmp 0x10070a39
mov esi, dword [esp + 8]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 0x100714d9
cmp dword [esp + 4], 0
je 0x10071532
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x1007151f
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0x18]
jne 0x1007157a
cmp dword [esi + 0x1c], 0x10
jb 0x10071562
mov eax, dword [esi + 8]
jmp 0x10071565
lea eax, [esi + 8]
push dword [esp + 8]
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071587
cmp esi, ebx
je 0x10071ac9
mov esi, dword [esi + 4]
jmp 0x1007154e
add esi, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e88], esi
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x10184e8c]
jmp 0x10070a63
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100715bb
cmp dword [esp + 0xc], 0
je 0x10071615
add edx, dword [esp + 4]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0xc], esi
jne 0x10071602
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x1007165b
cmp dword [ebp + 0x1c], 0x10
jb 0x10071644
mov eax, dword [ebp + 8]
jmp 0x10071647
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071668
cmp ebp, esi
je 0x10071ac9
mov ebp, dword [ebp + 4]
jmp 0x10071631
lea esi, [ebp + 0x20]
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e88], esi
mov ecx, dword [ebp + 0x24]
jmp 0x10070a75
mov esi, dword [esp]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp esi, edx
jne 0x10071693
cmp dword [esp + 0xc], 0
je 0x100716ed
add edx, dword [esp + 4]
xor esi, esi
movzx ebp, byte [edx + esi]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc esi
cmp dword [esp + 0xc], esi
jne 0x100716da
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x10071733
cmp dword [ebp + 0x1c], 0x10
jb 0x1007171c
mov eax, dword [ebp + 8]
jmp 0x1007171f
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071740
cmp ebp, esi
je 0x10071ac9
mov ebp, dword [ebp + 4]
jmp 0x10071709
add ebp, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e90], ebp
mov ecx, dword [0x1017f608]
mov eax, dword [0x10184e94]
jmp 0x10070a95
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0x10], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 0xc]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x10], edx
jne 0x10071777
cmp dword [esp + 4], 0
je 0x100717d4
add edx, dword [esp + 0xc]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp + 4], ebp
jne 0x100717c1
mov edx, dword [esp + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x1007181e
cmp dword [ebp + 0x1c], 0x10
jb 0x10071807
mov eax, dword [ebp + 8]
jmp 0x1007180a
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007182d
cmp ebp, dword [esp + 4]
je 0x10071ac9
mov ebp, dword [ebp + 4]
jmp 0x100717f4
add ebp, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e90], ebp
jmp 0x10070ab3
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0x10], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebp, dword [esp + 0xc]
movzx eax, byte [ebp + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebp + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebp + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x10], edx
jne 0x10071859
cmp dword [esp + 4], 0
je 0x100718b6
add edx, dword [esp + 0xc]
xor ebp, ebp
movzx eax, byte [edx + ebp]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebp
cmp dword [esp + 4], ebp
jne 0x100718a3
mov edx, dword [esp + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x10071900
cmp dword [ebp + 0x1c], 0x10
jb 0x100718e9
mov eax, dword [ebp + 8]
jmp 0x100718ec
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007190f
cmp ebp, dword [esp + 4]
je 0x10071ac9
mov ebp, dword [ebp + 4]
jmp 0x100718d6
add ebp, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e90], ebp
jmp 0x10070b0d
mov ebx, dword [esp]
and ebx, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 4]
movzx ebp, byte [eax + edx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 1]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 2]
xor ebp, ecx
imul ecx, ebp, 0x1000193
movzx ebp, byte [eax + edx + 3]
xor ebp, ecx
imul ecx, ebp, 0x1000193
add edx, 4
cmp ebx, edx
jne 0x10071937
cmp dword [esp + 0xc], 0
je 0x10071991
add edx, dword [esp + 4]
xor ebx, ebx
movzx ebp, byte [edx + ebx]
xor ebp, ecx
imul ecx, ebp, 0x1000193
inc ebx
cmp dword [esp + 0xc], ebx
jne 0x1007197e
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebp, dword [eax + ecx*8 + 4]
cmp ebp, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [ebp + 0x18]
jne 0x100719d7
cmp dword [ebp + 0x1c], 0x10
jb 0x100719c0
mov eax, dword [ebp + 8]
jmp 0x100719c3
lea eax, [ebp + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100719e4
cmp ebp, ebx
je 0x10071ac9
mov ebp, dword [ebp + 4]
jmp 0x100719ad
add ebp, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e88], ebp
jmp 0x10070b39
mov esi, dword [esp + 8]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp]
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 0x10071a0c
cmp dword [esp + 4], 0
je 0x10071a65
add edx, dword [esp]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 4], esi
jne 0x10071a52
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10071ac9
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 8]
cmp eax, dword [ebx + 0x18]
jne 0x10071aa9
cmp dword [ebx + 0x1c], 0x10
jb 0x10071a91
mov eax, dword [ebx + 8]
jmp 0x10071a94
lea eax, [ebx + 8]
push dword [esp + 8]
push eax
push dword [esp + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10071ab2
cmp ebx, esi
je 0x10071ac9
mov ebx, dword [ebx + 4]
jmp 0x10071a7d
add ebx, 0x20
lea ecx, [esp + 0x3c]
call fcn.100026e0
mov dword [0x10184e78], ebx
jmp 0x10070b5d
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3