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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov eax, dword [0x1017f528]
xor eax, ebp
mov dword [esp + 0x40], eax
mov eax, dword [0x1017f5c8]
cmp byte [eax + 0x18], 0
jne 0x100792fa
cmp byte [eax + 0x19], 0
jne 0x100792fa
mov eax, dword [0x1017f5c0]
cmp byte [eax + 0x134], 0
jne 0x100792fa
mov esi, ecx
mov ecx, dword [0x1017f5cc]
cmp byte [ecx + 0x38], 0
jne 0x100792fa
mov ecx, dword [0x1017f61c]
cmp dword [ecx + 0x4d28], 0xe
jg 0x100792fa
test byte [eax + 0x148], 1
je 0x100792fa
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x1017f714]
test al, 1
je 0x1007930f
mov edi, dword [0x1017f710]
mov eax, dword [edi + 4]
test byte [eax + ebx], 0x40
jne 0x100792fa
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [0x10184e34]
test al, 1
je 0x10079374
mov edi, dword [0x10184e30]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 4]
movzx ebx, byte [eax + ecx]
test edx, edx
je 0x10079069
mov ecx, 0x13b4
add ecx, dword [0x1017f5d8]
mov edi, dword [edx + 4]
mov edx, 0x1b4e81b5
mov eax, edi
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul eax, edx, 0x96
sub edi, eax
cmp edi, 0x96
jae 0x100793e4
cmp byte [esi + 0x14], 0
je 0x100790ce
cmp bl, 8
je 0x100790ce
cmp bl, 9
je 0x100790ce
imul eax, edi, 0x858
cmp byte [ecx + eax + 0x7ac], 9
je 0x100790ce
cmp byte [ecx + eax + 0x854], 9
je 0x100790ce
mov eax, dword [ebp + 8]
test byte [eax + 0x30], 0x20
je 0x10079079
jmp 0x100790ce
cmp byte [esi + 0x14], 0
je 0x100790ce
cmp bl, 8
je 0x100790ce
cmp bl, 9
je 0x100790ce
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x1017f714]
test al, 1
je 0x100795aa
mov edi, dword [0x1017f710]
mov eax, dword [edi + 4]
test byte [eax + ebx], 0x40
jne 0x100790ce
mov eax, dword [0x1017f5c0]
movzx ecx, byte [eax + 0x148]
test cl, 0x10
jne 0x100790ce
cmp byte [eax + 0x134], 0
jne 0x100790ce
mov edx, dword [0x1017f61c]
cmp dword [edx + 0x4d28], 0
jg 0x100790ce
or cl, 2
mov byte [eax + 0x148], cl
cmp byte [esi + 8], 0
je 0x100792fa
mov ecx, dword [esi + 0xc]
mov ebx, ecx
and bl, 1
jne 0x100791ad
test cl, 2
jne 0x10079122
mov cl, 1
test byte [esi + 0xc], 4
je 0x100791c2
mov eax, dword [0x1017f608]
mov ebx, dword [eax]
mov eax, dword [0x1017f714]
test al, 1
je 0x100796fe
mov edi, dword [0x1017f710]
mov eax, dword [edi + 4]
movzx ebx, byte [eax + ebx]
not bl
and bl, 1
jmp 0x100791a7
mov eax, dword [0x1017f608]
mov edx, dword [eax]
mov eax, dword [0x10184e84]
test al, 1
je 0x1007960f
mov edi, dword [0x10184e80]
mov eax, dword [edi + 4]
vmovss xmm0, dword [eax + edx]
vmovss xmm1, dword [eax + edx + 4]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vmovss xmm0, dword [eax + edx + 8]
vfmadd213ss xmm0, xmm0, xmm1
vcvtss2sd xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
jb 0x10079172
vsqrtsd xmm0, xmm0, xmm0
jmp 0x10079190
sub esp, 8
vmovsd qword [esp], xmm0
mov edi, ecx
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov ecx, edi
add esp, 8
fstp qword [esp + 0x20]
vmovsd xmm0, qword [esp + 0x20]
vcvtsd2ss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x1012984c]
ja 0x100791ad
test cl, 1
je 0x100790eb
mov cl, 1
test bl, bl
je 0x100791c2
mov eax, dword [0x1017f61c]
mov eax, dword [eax + 0x4d24]
cmp dword [esi + 0x60], eax
je 0x100791c0
mov dword [esi + 0x60], eax
xor ecx, ecx
mov eax, dword [0x1017f5c0]
test byte [eax + 0x148], 2
jne 0x100792fa
test cl, cl
je 0x100791ed
mov ecx, dword [esi + 0x60]
mov edx, dword [0x1017f61c]
cmp ecx, dword [edx + 0x4d24]
jne 0x100792fa
cmp byte [esi + 9], 0
je 0x100792b8
mov esi, 0x13b4
add esi, dword [0x1017f5d8]
mov eax, dword [0x1017f61c]
mov ecx, dword [eax + 0x4d24]
mov edx, 0x1b4e81b5
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul eax, edx, 0x96
sub ecx, eax
cmp ecx, 0x96
jae 0x1007967c
imul ebx, ecx, 0x858
vmovss xmm0, dword [esi + ebx]
mov eax, dword [0x1017f608]
mov edi, dword [eax]
mov eax, dword [0x10184ea4]
test al, 1
je 0x10079683
vucomiss xmm0, dword [edi + 0xa370]
jne 0x100792fa
jp 0x100792fa
mov eax, dword [0x1017f608]
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x28]
vmovss xmm0, dword [esi + ebx + 0x7e4]
vsubss xmm0, xmm0, dword [eax + 4]
vmovss xmm1, dword [esi + ebx + 0x7e0]
vsubss xmm1, xmm1, dword [eax]
vmulss xmm0, xmm0, xmm0
vfmadd231ss xmm0, xmm1, xmm1
vucomiss xmm0, dword [0x101320f8]
mov eax, dword [0x1017f5c0]
movzx ecx, byte [eax + 0x148]
jae 0x100792e6
or cl, 2
mov byte [eax + 0x148], cl
jmp 0x100792fa
mov ecx, dword [esi + 0x10]
cmp ecx, 0xf
jl 0x100792cc
mov dword [esi + 0x10], 0xe
mov ecx, 0xe
mov esi, dword [0x1017f61c]
movzx edx, byte [eax + 0x148]
cmp dword [esi + 0x4d28], ecx
jge 0x100792f1
or dl, 2
jmp 0x100792f4
and cl, 0xfd
mov byte [eax + 0x148], cl
jmp 0x100792fa
and dl, 0xfd
mov byte [eax + 0x148], dl
mov ecx, dword [esp + 0x40]
xor ecx, ebp
call fcn.100d7fe0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
or eax, 1
mov dword [0x1017f714], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_fFlags
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
cmp dword [esp + 0x3c], 0x10
jb 0x10079348
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x100793dd
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x100793e9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007943a
mov dword [esp + 0x10], ecx
or eax, 1
mov dword [0x10184e34], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x28]
mov dword [esp + 8], ecx
push str.m_MoveType
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
cmp dword [esp + 0x3c], 0x10
jb 0x100793b1
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
cmp dword [esp], 0
je 0x100794ca
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 4], eax
cmp ecx, 3
jae 0x100794d1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007951c
mov ecx, 0x811c9dc5
jmp 0x1007945a
call fcn.1006b870
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 4]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0xc], edx
jne 0x100793fe
cmp dword [esp + 8], 0
je 0x1007945a
add edx, dword [esp + 4]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 8], edi
jne 0x10079447
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10079b53
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 8], eax
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x100794a4
cmp dword [edi + 0x1c], 0x10
jb 0x1007948d
mov eax, dword [edi + 8]
jmp 0x10079490
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100794b3
cmp edi, dword [esp + 8]
je 0x10079b53
mov edi, dword [edi + 4]
jmp 0x1007947a
add edi, 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov dword [0x1017f710], edi
jmp 0x10078fbe
mov ecx, 0x811c9dc5
jmp 0x1007953c
mov edi, dword [esp]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 8]
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 0x100794e2
cmp dword [esp + 4], 0
je 0x1007953c
add edx, dword [esp + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esp + 4], edi
jne 0x10079529
mov edx, dword [esp + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10079b53
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x10079582
cmp dword [edi + 0x1c], 0x10
jb 0x1007956b
mov eax, dword [edi + 8]
jmp 0x1007956e
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007958f
cmp edi, ebx
je 0x10079b53
mov edi, dword [edi + 4]
jmp 0x10079558
add edi, 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov dword [0x10184e30], edi
mov ecx, dword [esp + 0x10]
jmp 0x10078fe5
or eax, 1
mov dword [0x1017f714], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_fFlags
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
cmp dword [esp + 0x3c], 0x10
jb 0x100795e3
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x100796f4
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10079763
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100797b4
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
or eax, 1
mov dword [0x10184e84], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_vecVelocity_0_
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
cmp dword [esp + 0x3c], 0x10
jb 0x10079650
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10079844
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10079858
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100798a9
mov ecx, esi
call fcn.1006b870
vmovss dword [esp + 0x1c], xmm0
or eax, 1
mov dword [0x10184ea4], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x28]
mov dword [esp + 0xc], ecx
push str.CCSPlayer__m_flFlashDuration
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
cmp dword [esp + 0x3c], 0x10
jb 0x100796c3
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
cmp dword [esp + 8], 0
je 0x1007984b
mov ecx, dword [esp + 8]
lea eax, [ecx - 1]
and ecx, 3
mov dword [esp + 0x10], ecx
cmp eax, 3
jae 0x10079941
mov dword [esp + 4], 0x811c9dc5
xor edx, edx
jmp 0x100799ae
mov ecx, 0x811c9dc5
jmp 0x100797d4
or eax, 1
mov dword [0x1017f714], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
push str.CBasePlayer__m_fFlags
call fcn.10005ce0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
cmp dword [esp + 0x3c], 0x10
jb 0x10079737
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
cmp dword [esp], 0
je 0x10079a73
mov eax, dword [esp]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 8], eax
cmp ecx, 3
jae 0x10079a7a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10079acb
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 4]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0xc], edx
jne 0x10079778
cmp dword [esp + 8], 0
je 0x100797d4
add edx, dword [esp + 4]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 8], edi
jne 0x100797c1
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10079b53
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 8], eax
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x1007981e
cmp dword [edi + 0x1c], 0x10
jb 0x10079807
mov eax, dword [edi + 8]
jmp 0x1007980a
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1007982d
cmp edi, dword [esp + 8]
je 0x10079b53
mov edi, dword [edi + 4]
jmp 0x100797f4
add edi, 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov dword [0x1017f710], edi
jmp 0x10079093
mov ecx, 0x811c9dc5
jmp 0x100798c9
mov dword [esp + 4], 0x811c9dc5
jmp 0x100799d4
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 4]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0xc], edx
jne 0x1007986d
cmp dword [esp + 8], 0
je 0x100798c9
add edx, dword [esp + 4]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 8], edi
jne 0x100798b6
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10079b53
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 8], eax
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x10079913
cmp dword [edi + 0x1c], 0x10
jb 0x100798fc
mov eax, dword [edi + 8]
jmp 0x100798ff
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10079922
cmp edi, dword [esp + 8]
je 0x10079b53
mov edi, dword [edi + 4]
jmp 0x100798e9
add edi, 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov dword [0x10184e80], edi
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x1007913c
mov eax, dword [esp + 8]
and eax, 0xfffffffc
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x811c9dc5
xor edx, edx
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + edx]
xor eax, dword [esp + 4]
imul eax, eax, 0x1000193
mov dword [esp], eax
mov eax, ecx
mov dword [esp + 0xc], ecx
movzx ecx, byte [ecx + edx + 1]
xor ecx, dword [esp]
imul ecx, ecx, 0x1000193
mov dword [esp], ecx
movzx ecx, byte [eax + edx + 2]
xor ecx, dword [esp]
imul eax, ecx, 0x1000193
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + edx + 3]
xor ecx, eax
imul eax, ecx, 0x1000193
mov dword [esp + 4], eax
add edx, 4
cmp dword [esp + 0x18], edx
jne 0x10079956
cmp dword [esp + 0x10], 0
je 0x100799d4
add edx, dword [esp + 0xc]
xor eax, eax
movzx ecx, byte [edx + eax]
xor ecx, dword [esp + 4]
imul ecx, ecx, 0x1000193
mov dword [esp + 4], ecx
inc eax
cmp dword [esp + 0x10], eax
jne 0x100799bb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
and edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0xc]
mov dword [esp + 4], edx
mov edx, dword [eax + edx*8 + 4]
mov dword [esp], edx
cmp edx, dword [ecx + 4]
je 0x10079b53
mov ecx, dword [esp + 4]
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp]
cmp eax, dword [ecx + 0x18]
jne 0x10079a3b
mov eax, dword [esp]
cmp dword [eax + 0x1c], 0x10
jb 0x10079a20
mov eax, dword [esp]
mov eax, dword [eax + 8]
jmp 0x10079a26
mov eax, dword [esp]
add eax, 8
push dword [esp + 8]
push eax
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10079a53
mov eax, dword [esp + 4]
cmp dword [esp], eax
je 0x10079b53
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp], eax
jmp 0x10079a03
add dword [esp], 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov eax, dword [esp]
mov dword [0x10184ea0], eax
vmovss xmm0, dword [esp + 0x1c]
jmp 0x10079253
mov ecx, 0x811c9dc5
jmp 0x10079aeb
mov eax, dword [esp]
and eax, 0xfffffffc
mov dword [esp + 0xc], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov edi, dword [esp + 4]
movzx eax, byte [edi + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [edi + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [edi + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0xc], edx
jne 0x10079a8f
cmp dword [esp + 8], 0
je 0x10079aeb
add edx, dword [esp + 4]
xor edi, edi
movzx eax, byte [edx + edi]
xor eax, ecx
imul ecx, eax, 0x1000193
inc edi
cmp dword [esp + 8], edi
jne 0x10079ad8
mov edx, dword [esp + 0x10]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10079b53
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 8], eax
mov eax, dword [esp]
cmp eax, dword [edi + 0x18]
jne 0x10079b31
cmp dword [edi + 0x1c], 0x10
jb 0x10079b1a
mov eax, dword [edi + 8]
jmp 0x10079b1d
lea eax, [edi + 8]
push dword [esp]
push eax
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10079b3c
cmp edi, dword [esp + 8]
je 0x10079b53
mov edi, dword [edi + 4]
jmp 0x10079b07
add edi, 0x20
lea ecx, [esp + 0x28]
call fcn.100026e0
mov dword [0x1017f710], edi
jmp 0x10079111
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3