Function at 0x10075fa0
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
sub esp, 0x40
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1007d980
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10075fe7
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x100767f5
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x1007602a
mov edx, dword [eax + 0x10]
test edx, edx
jle 0x1007602a
mov esi, dword [0x1012d340]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x1007608d
mov edi, edx
mov edx, dword [esi + 0xc]
add ecx, edx
dec ecx
mov edx, dword [esi + 4]
mov dword [ebp - 0x24], esi
mov esi, dword [esi + 8]
dec esi
and esi, ecx
mov esi, dword [edx + esi*4]
cmp dword [esi + 0x2c], 0
je 0x10076032
mov esi, dword [ebp - 0x24]
mov edx, edi
jmp 0x1007608d
mov eax, dword [ebx + 0x18]
jmp 0x100767f8
mov ecx, dword [esi + 0xc]
cmp ecx, dword [ebx]
je 0x10076040
mov edx, edi
mov esi, dword [ebp - 0x24]
jmp 0x1007608d
mov dword [ebp - 0x20], esi
mov edx, dword [esi + 0x28]
sub edx, dword [ebp + 0xc]
mov esi, edx
neg esi
cmovs esi, edx
mov edx, edi
cmp esi, 0x96
mov esi, dword [ebp - 0x24]
ja 0x1007608d
mov edx, dword [ecx]
mov ecx, dword [0x1012d494]
test cl, 1
je 0x100764b9
mov edi, dword [0x1012d490]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx + edx]
mov edx, dword [eax + 0x10]
mov edi, dword [ebp - 0x20]
sub ecx, dword [edi + 0x1c]
jle 0x1007608d
cmp edx, ecx
jg 0x100767f8
mov eax, dword [ebx]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100761ec
mov edi, dword [0x1012d490]
mov eax, dword [edi + 4]
cmp edx, dword [eax + ecx]
jge 0x100767f5
mov eax, dword [0x1012d328]
mov ecx, dword [eax + 0x2c]
and ecx, 0xfffffffe
cmp ecx, 2
jne 0x100766a2
mov ecx, dword [0x1012d320]
mov ecx, dword [ecx + 0x1c8]
test ecx, ecx
je 0x10076601
mov eax, dword [0x1012d47c]
test al, 1
je 0x10076323
mov edi, dword [0x1012d478]
mov eax, dword [edi + 4]
cmp word [eax + ecx], 0x28
je 0x1007611b
mov ecx, dword [0x1012d320]
mov edx, dword [ecx + 0x1c8]
mov ecx, dword [0x1012d47c]
test cl, 1
je 0x1007637c
cmp word [eax + edx], 9
jne 0x100765fc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100766a2
mov ecx, dword [esi + 0xc]
add eax, ecx
dec eax
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
dec edx
and edx, eax
mov ecx, dword [ecx + edx*4]
cmp dword [ecx + 0x2c], 0
jne 0x100766a2
cmp dword [ecx + 0x24], 0
je 0x100766a2
mov edx, dword [ecx + 0xc]
cmp edx, dword [ebx]
jne 0x100766a2
mov eax, dword [ecx + 0x28]
sub eax, dword [ebp + 0xc]
mov esi, eax
neg esi
cmovs esi, eax
cmp esi, 0x96
ja 0x100766a2
mov eax, dword [ebx + 0x1c]
mov esi, dword [ecx + 0x1c]
add esi, dword [eax + 0x10]
mov edx, dword [edx]
mov ecx, dword [0x1012d494]
test cl, 1
jne 0x10076690
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], esi
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 8
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100761c7
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1007694c
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x10076953
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007699c
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], esi
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x1007622b
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10076245
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x1007624c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10076295
mov ecx, 0x811c9dc5
jmp 0x100762b2
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 0x1007625b
cmp dword [ebp - 0x28], 0
je 0x100762b2
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 0x100762a0
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 0x10076aeb
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100762e2
cmp edi, ebx
je 0x10076aeb
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x100762d2
cmp dword [edi + 0x1c], 0x10
jb 0x100762ed
mov eax, dword [edi + 8]
jmp 0x100762f0
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100762d2
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
jmp 0x100760a4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], esi
or eax, 1
mov dword [0x1012d47c], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x1007635f
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100763de
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x100763e5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007642e
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], esi
or ecx, 1
mov dword [0x1012d47c], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100763b9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10076518
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x1007651f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10076568
mov ecx, 0x811c9dc5
jmp 0x1007644b
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 0x100763f4
cmp dword [ebp - 0x28], 0
je 0x1007644b
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 0x10076439
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 0x10076aff
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x1007647b
cmp edi, ebx
je 0x10076aff
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x1007646b
cmp dword [edi + 0x1c], 0x10
jb 0x10076486
mov eax, dword [edi + 8]
jmp 0x10076489
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1007646b
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d478], edi
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
jmp 0x100760eb
mov dword [ebp - 0x4c], edx
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x28], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100764f3
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
test esi, esi
je 0x1007680c
mov eax, esi
and eax, 3
mov dword [ebp - 0x2c], eax
cmp esi, 4
jae 0x10076813
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1007685c
mov ecx, 0x811c9dc5
jmp 0x10076585
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 0x1007652e
cmp dword [ebp - 0x28], 0
je 0x10076585
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 0x10076573
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 0x10076b27
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100765b5
cmp edi, ebx
je 0x10076b27
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x100765a5
cmp dword [edi + 0x1c], 0x10
jb 0x100765c0
mov eax, dword [edi + 8]
jmp 0x100765c3
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100765a5
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d478], esi
mov eax, dword [edi + 0x24]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
cmp word [eax + edx], 9
je 0x1007611b
mov eax, dword [0x1012d328]
cmp dword [eax + 0x24], 0
je 0x10076635
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax + 0x10]
add edx, 2
mov edi, dword [ecx]
mov ecx, dword [0x1012d494]
test cl, 1
je 0x100766b6
mov ecx, dword [0x1012d490]
mov ecx, dword [ecx + 4]
cmp edx, dword [ecx + edi]
jge 0x100767f8
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100766a2
mov ecx, dword [esi + 0xc]
add eax, ecx
dec eax
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
dec edx
and edx, eax
mov ecx, dword [ecx + edx*4]
cmp dword [ecx + 0x2c], 0
jne 0x100766a2
cmp dword [ecx + 0x24], 0
je 0x100766a2
mov edx, dword [ecx + 0xc]
cmp edx, dword [ebx]
jne 0x100766a2
mov eax, dword [ecx + 0x28]
sub eax, dword [ebp + 0xc]
mov esi, eax
neg esi
cmovs esi, eax
cmp esi, 0x96
ja 0x100766a2
mov eax, dword [ebx + 0x1c]
mov esi, dword [ecx + 0x1c]
add esi, dword [eax + 0x10]
mov edx, dword [edx]
mov ecx, dword [0x1012d494]
test cl, 1
je 0x100768ea
mov edi, dword [0x1012d490]
mov ecx, dword [edi + 4]
cmp esi, dword [ecx + edx]
jge 0x100767f8
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [eax + 0x24]
cmp edx, dword [ecx + 0x24]
cmovl eax, ecx
jmp 0x100767f8
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], esi
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xa
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x20], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x100766f6
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10076710
mov eax, esi
and eax, 3
mov dword [ebp - 0x28], eax
cmp esi, 4
jae 0x10076717
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10076760
mov ecx, 0x811c9dc5
jmp 0x1007677d
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 0x10076726
cmp dword [ebp - 0x28], 0
je 0x1007677d
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 0x1007676b
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 0x10076b13
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100767ad
cmp edi, ebx
je 0x10076b13
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x1007679d
cmp dword [edi + 0x1c], 0x10
jb 0x100767b8
mov eax, dword [edi + 8]
jmp 0x100767bb
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1007679d
lea esi, [edi + 0x20]
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d490], esi
mov eax, dword [edi + 0x24]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x4c]
cmp ecx, dword [eax + edx]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
jl 0x10076635
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, 0x811c9dc5
jmp 0x10076879
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 0x10076822
cmp dword [ebp - 0x2c], 0
je 0x10076879
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 - 0x2c], edi
jne 0x10076867
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 0x10076b3b
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100768a9
cmp edi, ebx
je 0x10076b3b
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x10076899
cmp dword [edi + 0x1c], 0x10
jb 0x100768b4
mov eax, dword [edi + 8]
jmp 0x100768b7
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x28]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10076899
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x1c]
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
jmp 0x10076074
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], esi
or ecx, 1
mov dword [0x1012d494], ecx
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xc
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], ecx
push str.CBasePlayer__m_iHealth
call fcn.100083b0
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
jb 0x10076927
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x10076a0d
mov eax, esi
and eax, 3
mov dword [ebp - 0x20], eax
cmp esi, 4
jae 0x10076a14
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10076a5d
mov ecx, 0x811c9dc5
jmp 0x100769b9
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 0x10076962
cmp dword [ebp - 0x20], 0
je 0x100769b9
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 - 0x20], edi
jne 0x100769a7
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10076b4f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x100769e9
cmp edi, ebx
je 0x10076b4f
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x100769d9
cmp dword [edi + 0x1c], 0x10
jb 0x100769f4
mov eax, dword [edi + 8]
jmp 0x100769f7
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100769d9
jmp 0x10076ac9
mov ecx, 0x811c9dc5
jmp 0x10076a7a
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 0x10076a23
cmp dword [ebp - 0x20], 0
je 0x10076a7a
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 - 0x20], edi
jne 0x10076a68
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x10076b63
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
je 0x10076aaa
cmp edi, ebx
je 0x10076b63
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x10076a9a
cmp dword [edi + 0x1c], 0x10
jb 0x10076ab5
mov eax, dword [edi + 8]
jmp 0x10076ab8
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x24]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10076a9a
add edi, 0x20
lea ecx, [ebp - 0x48]
call fcn.100029d0
mov dword [0x1012d490], edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x1c]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
jmp 0x10076696
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], 0xb
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], 1
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
nop word [eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x48]
call fcn.100029d0
add esp, 0xc
pop ebp
ret