Function at 0x10094ba0
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
and esp, 0xffffffe0
sub esp, 0x160
mov eax, dword [0x1017f528]
xor eax, ebp
mov dword [esp + 0x148], eax
cmp byte [ecx + 0xd], 0
je 0x10094e3f
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_GetKeyState]
mov ebx, dword [0x1017f5c0]
test ax, ax
je 0x10094e22
mov edx, dword [ebp + 8]
vmovss xmm1, dword [ebx + 0x120]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jne 0x10094bf6
jnp 0x10094c5a
vmovss xmm1, dword [ebx + 0x124]
vucomiss xmm1, xmm0
jne 0x10094c06
jnp 0x10094c5a
vmovss xmm0, dword [ebx + 0x128]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x10094c1a
jnp 0x10094c5a
mov eax, dword [0x1017f608]
mov edi, dword [eax]
mov eax, dword [0x10184ecc]
test al, 1
je 0x10095172
mov ebx, dword [0x10184ec8]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edi]
cmp eax, 0xffffffff
je 0x10094e57
mov ecx, dword [0x1017f618]
mov esi, edx
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov edx, esi
mov esi, eax
jmp 0x10094e59
mov eax, dword [0x1017f608]
mov edi, dword [eax]
mov eax, dword [0x10184f24]
test al, 1
je 0x100950f9
mov esi, dword [0x10184f20]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi + 8]
mov dword [ebx + 0x128], ecx
vmovsd xmm0, qword [eax + edi]
vmovsd qword [ebx + 0x120], xmm0
mov ecx, 0x13b4
add ecx, dword [0x1017f5d8]
mov esi, dword [edx + 4]
mov edx, 0x1b4e81b5
mov eax, esi
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul eax, edx, 0x96
sub esi, eax
cmp esi, 0x96
jae 0x1009516d
imul eax, esi, 0x858
test byte [ecx + eax + 0x7a8], 1
jne 0x10094e3f
lea eax, [ebx + 0x120]
vmovss xmm0, dword [ebx + 0x128]
vaddss xmm1, xmm0, dword [0x1013243c]
vsubss xmm1, xmm1, xmm0
vmovsd xmm0, qword [ebx + 0x120]
mov ecx, dword [eax + 8]
mov dword [esp + 0xa0], ecx
vmovsd xmm2, qword [eax]
vmovsd qword [esp + 0x98], xmm2
mov dword [esp + 0xa4], 0
vsubps xmm2, xmm0, xmm0
vmovlps qword [esp + 0xa8], xmm2
vmovss dword [esp + 0xb0], xmm1
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esp + 0xb4], ymm0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 1
vmulps xmm3, xmm2, xmm2
vmovshdup xmm3, xmm3
vfmadd231ss xmm3, xmm2, xmm2
vfmadd231ss xmm3, xmm1, xmm1
vxorps xmm1, xmm1, xmm1
vucomiss xmm3, xmm1
setp al
setne cl
or cl, al
mov byte [esp + 0xdd], cl
mov dword [esp + 0x94], 0x10132028
vmovups ymmword [esp + 0x114], ymm0
vmovaps ymmword [esp + 0x100], ymm0
vmovaps ymmword [esp + 0xe0], ymm0
mov ecx, dword [0x1017f630]
mov eax, dword [ecx]
lea edx, [esp + 0xe0]
lea esi, [esp + 0x94]
lea edi, [esp + 0x98]
push edx
push esi
push 0x200400b
push edi
vzeroupper
call dword [eax + 0x14]
vmovss xmm0, dword [0x10129710]
vucomiss xmm0, dword [esp + 0x10c]
jbe 0x10094e3f
vmovss xmm0, dword [esp + 0xf4]
vaddss xmm0, xmm0, dword [0x1012984c]
mov eax, dword [0x1017f5c0]
vmovsd xmm1, qword [esp + 0xec]
vxorps xmm2, xmm2, xmm2
vaddps xmm1, xmm1, xmm2
vmovlps qword [eax + 0x120], xmm1
vmovss dword [eax + 0x128], xmm0
jmp 0x10094e3f
mov byte [ebx + 0x139], 0
mov dword [ebx + 0x128], 0
vxorps xmm0, xmm0, xmm0
vmovlps qword [ebx + 0x120], xmm0
mov ecx, dword [esp + 0x148]
xor ecx, ebp
call fcn.100d7fe0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
xor esi, esi
mov eax, dword [0x1017f704]
test al, 1
je 0x100951e6
mov ebx, dword [0x1017f700]
mov eax, dword [ebx + 4]
movzx edi, word [eax + esi]
mov eax, dword [edx + 0x30]
cmp di, 0x40
jne 0x10094e90
test al, 1
jne 0x10094e98
test eax, 0x800
jne 0x10094f33
jmp 0x10094f3f
test al, 1
je 0x10094f3f
mov eax, dword [0x1017f608]
mov esi, dword [eax]
mov eax, dword [0x10184ecc]
test al, 1
je 0x100953ba
mov ebx, dword [0x10184ec8]
mov eax, dword [ebx + 4]
mov eax, dword [eax + esi]
cmp eax, 0xffffffff
je 0x10094ed1
mov ecx, dword [0x1017f618]
mov esi, edx
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov edx, esi
mov esi, eax
jmp 0x10094ed3
xor esi, esi
mov eax, dword [0x1017f704]
test al, 1
je 0x1009542e
mov ebx, dword [0x1017f700]
mov eax, dword [ebx + 4]
cmp word [eax + esi], 0x40
je 0x10094f2d
mov eax, dword [0x1017f608]
mov esi, dword [eax]
mov eax, dword [0x10184ecc]
test al, 1
je 0x1009566f
mov ebx, dword [0x10184ec8]
mov eax, dword [ebx + 4]
mov ecx, dword [0x1017f618]
mov edx, dword [ecx]
push dword [eax + esi]
call dword [edx + 0x10]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x718]
cmp eax, 9
mov edx, dword [ebp + 8]
jne 0x10094f33
cmp di, 0x40
jne 0x10094f3f
mov eax, dword [0x1017f5c0]
mov byte [eax + 0x139], 1
mov eax, dword [0x1017f5c0]
cmp byte [eax + 0x139], 0
je 0x10094e3f
mov ecx, dword [0x1017f608]
mov edi, dword [ecx]
mov ecx, dword [0x10184f24]
test cl, 1
je 0x10095345
mov ebx, dword [0x10184f20]
mov ecx, dword [ebx + 4]
vmovsd xmm0, qword [ecx + edi]
vmovsd xmm1, qword [eax + 0x120]
vsubps xmm2, xmm0, xmm1
vmulps xmm0, xmm2, xmm2
vmovshdup xmm0, xmm0
vfmadd231ss xmm0, xmm2, xmm2
vcvtss2sd xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
vmovaps xmmword [esp + 0x20], xmm2
mov esi, edx
jb 0x10094fab
vsqrtsd xmm0, xmm0, xmm0
jmp 0x10094fd1
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
vmovaps xmm2, xmmword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x88]
vmovsd xmm0, qword [esp + 0x88]
vcvtsd2ss xmm0, xmm0, xmm0
vucomiss xmm0, dword [0x101298ac]
jbe 0x100950d2
vmovss xmm0, dword [ebp + 0xc]
vdivss xmm0, xmm0, dword [0x10131fc0]
vmulss xmm0, xmm0, dword [0x101307c4]
vcvtss2sd xmm1, xmm0, xmm0
vmovsd qword [esp + 0x18], xmm1
vbroadcastss xmm0, dword [0x10129734]
vxorps xmm0, xmm2, xmm0
vmovaps xmmword [esp + 0x30], xmm0
sub esp, 8
vmovsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp qword [esp + 0x80]
sub esp, 8
vmovsd xmm0, qword [esp + 0x20]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp qword [esp + 0x78]
sub esp, 8
vmovsd xmm0, qword [esp + 0x20]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
add esp, 8
fstp qword [esp + 0x70]
vmovsd xmm0, qword [esp + 0x70]
vmovhpd xmm0, xmm0, qword [esp + 0x80]
vcvtpd2ps xmm0, xmm0
vmovapd xmmword [esp + 0x50], xmm0
sub esp, 8
vmovsd xmm0, qword [esp + 0x20]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
add esp, 8
fstp qword [esp + 0x68]
vmovsd xmm0, qword [esp + 0x68]
vmovhpd xmm0, xmm0, qword [esp + 0x78]
vcvtpd2ps xmm0, xmm0
vmovaps xmm2, xmmword [esp + 0x20]
vmovshdup xmm1, xmm2
vinsertps xmm1, xmm1, dword [esp + 0x30], 0x10
vmulps xmm0, xmm1, xmm0
vfmadd231ps xmm0, xmm2, xmmword [esp + 0x50]
vmulps xmm0, xmm0, xmmword [0x10132440]
vmovlps qword [esi + 0x24], xmm0
jmp 0x10094e3f
mov eax, dword [0x1017f5c0]
mov byte [eax + 0x139], 0
mov dword [eax + 0x128], 0
vxorps xmm0, xmm0, xmm0
vmovlps qword [eax + 0x120], xmm0
jmp 0x10094e3f
or eax, 1
mov dword [0x10184f24], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.m_vecAbsOrigin
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x1009513f
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x1009525a
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x10095261
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100952ad
call fcn.1006b870
or eax, 1
mov dword [0x10184ecc], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CBaseCombatCharacter__m_hActiveWeapon
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100951b8
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100954a2
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100954b3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100954ff
or eax, 1
mov dword [0x1017f704], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x1009522c
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100954a9
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x10095591
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100955dd
mov ecx, 0x811c9dc5
jmp 0x100952cd
mov esi, dword [esp + 0x20]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 0x18]
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 0x10095273
cmp dword [esp + 0x30], 0
je 0x100952cd
add edx, dword [esp + 0x18]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 0x30], esi
jne 0x100952ba
mov edx, dword [esp + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
cmp eax, dword [esi + 0x18]
jne 0x10095315
cmp dword [esi + 0x1c], 0x10
jb 0x100952fd
mov eax, dword [esi + 8]
jmp 0x10095300
lea eax, [esi + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10095322
cmp esi, ebx
je 0x10095a98
mov esi, dword [esi + 4]
jmp 0x100952e9
add esi, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184f20], esi
mov ebx, dword [0x1017f5c0]
mov edx, dword [ebp + 8]
jmp 0x10094c74
or ecx, 1
mov dword [0x10184f24], ecx
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], ecx
push str.m_vecAbsOrigin
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x1009538c
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
je 0x100956e3
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x30], eax
cmp ecx, 3
jae 0x100956ea
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10095736
or eax, 1
mov dword [0x10184ecc], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.CBaseCombatCharacter__m_hActiveWeapon
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x10095400
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 0
je 0x100957cd
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x18], eax
cmp ecx, 3
jae 0x100957de
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10095830
or eax, 1
mov dword [0x1017f704], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.CBaseAttributableItem__m_iItemDefinitionIndex
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x10095474
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 0
je 0x100957d4
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x18], eax
cmp ecx, 3
jae 0x100958c8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1009591a
mov ecx, 0x811c9dc5
jmp 0x1009551f
mov ecx, 0x811c9dc5
jmp 0x100955fd
mov esi, dword [esp + 0x20]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 0x18]
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 0x100954c5
cmp dword [esp + 0x30], 0
je 0x1009551f
add edx, dword [esp + 0x18]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 0x30], esi
jne 0x1009550c
mov edx, dword [esp + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x10095567
cmp dword [ebx + 0x1c], 0x10
jb 0x1009554f
mov eax, dword [ebx + 8]
jmp 0x10095552
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10095574
cmp ebx, esi
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x1009553b
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184ec8], ebx
mov edx, dword [ebp + 8]
jmp 0x10094c34
mov edi, dword [esp + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 0x18]
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 0x100955a3
cmp dword [esp + 0x30], 0
je 0x100955fd
add edx, dword [esp + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esp + 0x30], edi
jne 0x100955ea
mov edx, dword [esp + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x10095645
cmp dword [ebx + 0x1c], 0x10
jb 0x1009562d
mov eax, dword [ebx + 8]
jmp 0x10095630
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10095652
cmp ebx, edi
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x10095619
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f700], ebx
mov edx, dword [ebp + 8]
jmp 0x10094e6c
or eax, 1
mov dword [0x10184ecc], eax
mov eax, dword [0x1017f5c4]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0xe0]
mov dword [esp + 0x30], ecx
push str.CBaseCombatCharacter__m_hActiveWeapon
call fcn.10005ce0
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xf4], 0x10
jb 0x100956b5
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 0
je 0x100959b2
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
and eax, 3
mov dword [esp + 0x18], eax
cmp ecx, 3
jae 0x100959b9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10095a0b
mov ecx, 0x811c9dc5
jmp 0x10095756
mov esi, dword [esp + 0x20]
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esp + 0x18]
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 0x100956fc
cmp dword [esp + 0x30], 0
je 0x10095756
add edx, dword [esp + 0x18]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [esp + 0x30], esi
jne 0x10095743
mov edx, dword [esp + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x1009579e
cmp dword [ebx + 0x1c], 0x10
jb 0x10095786
mov eax, dword [ebx + 8]
jmp 0x10095789
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100957ab
cmp ebx, esi
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x10095772
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184f20], ebx
mov eax, dword [0x1017f5c0]
mov edx, dword [ebp + 8]
jmp 0x10094f6e
mov ecx, 0x811c9dc5
jmp 0x10095850
mov ecx, 0x811c9dc5
jmp 0x1009593a
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x50], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x50], edx
jne 0x100957f4
cmp dword [esp + 0x18], 0
je 0x10095850
add edx, dword [esp + 0x30]
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x1009583d
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x1009589c
cmp dword [ebx + 0x1c], 0x10
jb 0x10095884
mov eax, dword [ebx + 8]
jmp 0x10095887
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100958ab
cmp ebx, dword [esp + 0x18]
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x10095870
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184ec8], ebx
mov edx, dword [ebp + 8]
jmp 0x10094eb2
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x50], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x50], edx
jne 0x100958de
cmp dword [esp + 0x18], 0
je 0x1009593a
add edx, dword [esp + 0x30]
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x10095927
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x10095986
cmp dword [ebx + 0x1c], 0x10
jb 0x1009596e
mov eax, dword [ebx + 8]
jmp 0x10095971
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10095995
cmp ebx, dword [esp + 0x18]
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x1009595a
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x1017f700], ebx
mov edx, dword [ebp + 8]
jmp 0x10094ee6
mov ecx, 0x811c9dc5
jmp 0x10095a2b
mov eax, dword [esp + 0x20]
and eax, 0xfffffffc
mov dword [esp + 0x50], eax
mov ecx, 0x811c9dc5
xor edx, edx
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx + edx]
xor eax, ecx
imul eax, eax, 0x1000193
movzx ecx, byte [ebx + edx + 1]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 2]
xor ecx, eax
imul eax, ecx, 0x1000193
movzx ecx, byte [ebx + edx + 3]
xor ecx, eax
imul ecx, ecx, 0x1000193
add edx, 4
cmp dword [esp + 0x50], edx
jne 0x100959cf
cmp dword [esp + 0x18], 0
je 0x10095a2b
add edx, dword [esp + 0x30]
xor ebx, ebx
movzx eax, byte [edx + ebx]
xor eax, ecx
imul ecx, eax, 0x1000193
inc ebx
cmp dword [esp + 0x18], ebx
jne 0x10095a18
mov edx, dword [esp + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10095a98
add ecx, ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x10095a73
cmp dword [ebx + 0x1c], 0x10
jb 0x10095a5b
mov eax, dword [ebx + 8]
jmp 0x10095a5e
lea eax, [ebx + 8]
push dword [esp + 0x20]
push eax
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10095a7e
cmp ebx, dword [esp + 0x18]
je 0x10095a98
mov ebx, dword [ebx + 4]
jmp 0x10095a47
add ebx, 0x20
lea ecx, [esp + 0xe0]
call fcn.100026e0
mov dword [0x10184ec8], ebx
jmp 0x10094f0a
push 0x1016ba76
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
int3