Function at 0x10078100
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, 0x280
mov esi, esp
mov dword [esi + 0x258], ebp
mov edi, ecx
mov dword [esi + 0x25c], esp
mov dword [esi + 0x268], 0xffffffff
lea eax, [esi + 0x260]
mov dword [esi + 0x264], 0x1007d9b0
mov ecx, dword fs:[0]
mov dword [esi + 0x260], ecx
mov dword fs:[0], eax
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x128]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, eax
mov eax, 0x63
test ecx, ecx
jne 0x100787d2
mov dword [esi + 0x80], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1012d494]
test al, 1
je 0x100787ec
mov ebx, dword [0x1012d490]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx]
mov eax, dword [0x1012d320]
mov edx, dword [eax + 0x1c8]
mov eax, dword [0x1012d47c]
test al, 1
je 0x10078866
mov ebx, dword [0x1012d478]
mov eax, dword [ebx + 4]
movzx ebx, word [eax + edx]
mov eax, dword [0x1012d348]
mov edi, dword [eax + 0x1c]
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x100781ea
mov dword [esp], eax
mov dword [esi + 0x48], ecx
call dword [sym.imp.USER32.dll_GetKeyState]
sub esp, 4
mov ecx, dword [esi + 0x48]
test ax, ax
jns 0x100781ea
mov eax, dword [0x1012d348]
mov edi, dword [eax + 0x20]
add ecx, 5
cmp ecx, edi
cmovl edi, ecx
cmp bx, 0x1f
cmove edi, ecx
vcvtsi2ss xmm0, xmm0, edi
vmulss xmm0, xmm0, dword [0x100f55d4]
vcvttss2si eax, xmm0
cmp eax, 2
mov ecx, 1
cmovge ecx, eax
cmp ecx, 0x64
mov eax, 0x64
cmovl eax, ecx
mov dword [esi + 0x44], eax
vmovss xmm0, dword [0x100fe0c4]
mov edi, dword [ebp + 0xc]
vmulss xmm0, xmm0, dword [edi]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x80], xmm0
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp dword [esi + 0xdc]
vmovss xmm0, dword [esi + 0xdc]
vmovss dword [esi + 0x48], xmm0
vmovsd xmm0, qword [esi + 0x80]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp dword [esi + 0xd8]
vmovss xmm0, dword [esi + 0xd8]
vmovaps xmmword [esi + 0x210], xmm0
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [edi + 4]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x80], xmm0
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp qword [esi + 0x230]
vmovsd xmm0, qword [esi + 0x80]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp qword [esi + 0x228]
vmovss xmm0, dword [0x100fe0c4]
vmulss xmm0, xmm0, dword [edi + 8]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esi + 0x80], xmm0
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp dword [esi + 0xd4]
vmovsd xmm0, qword [esi + 0x80]
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp dword [esi + 0xd0]
vmovss xmm4, dword [esi + 0xd0]
vmovss xmm1, dword [esi + 0xd4]
vmovsd xmm0, qword [esi + 0x228]
vmovhpd xmm3, xmm0, qword [esi + 0x230]
mov eax, dword [0x1012d320]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [0x1012d47c]
test al, 1
vmovaps xmmword [esi + 0x80], xmm1
je 0x100788e6
mov ebx, dword [0x1012d478]
mov edx, ecx
mov eax, dword [ebx + 4]
movzx ecx, word [eax + ecx]
mov eax, dword [0x10132bd8]
test al, 1
je 0x10078970
mov ebx, dword [0x10132bd4]
vbroadcastss xmm0, dword [0x100f54d8]
vxorps xmm1, xmm1, xmm0
vmovss xmm7, dword [esi + 0x48]
vmulss xmm2, xmm7, xmm1
vxorps xmm0, xmm4, xmm0
vcvtpd2ps xmm3, xmm3
vshufps xmm6, xmm3, xmm3, 0xe1
vinsertps xmm0, xmm4, xmm0, 0x10
vmulps xmm0, xmm6, xmm0
vbroadcastss xmm2, xmm2
vfmadd213ps xmm2, xmm3, xmm0
vmovaps xmmword [esi + 0x50], xmm2
vmovaps xmm5, xmmword [esi + 0x210]
vmulss xmm0, xmm5, xmm1
vmovss dword [esi + 0x40], xmm0
vmovaps xmm0, xmmword [esi + 0x80]
vinsertps xmm0, xmm0, xmm1, 0x10
vmulss xmm1, xmm7, xmm4
vmulps xmm0, xmm6, xmm0
vbroadcastss xmm2, xmm5
vmulps xmm2, xmm2, xmm3
vmovaps xmmword [esi + 0x70], xmm2
vbroadcastss xmm1, xmm1
vfmadd213ps xmm1, xmm3, xmm0
vmovaps xmmword [esi + 0xb0], xmm1
vmulss xmm0, xmm5, xmm4
vmovss dword [esi + 0x210], xmm0
mov eax, dword [ebx + 4]
vmovss xmm0, dword [eax + edx]
vmovss dword [esi + 0xe0], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps ymmword [esi + 0x1e0], ymm0
vmovaps ymmword [esi + 0x1c0], ymm0
vmovaps ymmword [esi + 0x1a0], ymm0
vmovaps ymmword [esi + 0x180], ymm0
vmovaps ymmword [esi + 0x160], ymm0
vmovaps ymmword [esi + 0x140], ymm0
vmovaps ymmword [esi + 0x120], ymm0
vmovaps ymmword [esi + 0x100], ymm0
mov dword [esi + 0x268], 0xffffffff
xor edi, edi
movzx eax, cx
mov dword [esi + 0x4c], eax
nop dword [eax + eax]
xor ebx, ebx
mov ecx, dword [esi + 0x4c]
cmp cx, 0x1f
sete bl
mov eax, dword [0x1012d320]
mov eax, dword [eax + 0x1cc]
mov eax, dword [eax + 0xfc]
mov dword [esp + 0x10], edi
vmovss xmm0, dword [esi + 0xe0]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
lea eax, [esi + 0xf8]
mov dword [esp], eax
vzeroupper
call fcn.10077ec0
sub esp, 0x14
vbroadcastss xmm0, dword [esi + 0xfc]
vmulss xmm1, xmm0, dword [esi + 0x210]
vbroadcastss xmm2, dword [esi + 0xf8]
vmulss xmm3, xmm2, dword [esi + 0x40]
vsubss xmm3, xmm3, dword [esi + 0x48]
vaddss xmm1, xmm1, xmm3
mov ecx, dword [0x1012d320]
mov eax, dword [ecx + 0x1cc]
mov dword [esi + 0x80], eax
vmulps xmm0, xmm0, xmmword [esi + 0xb0]
vmulps xmm2, xmm2, xmmword [esi + 0x50]
vaddps xmm2, xmm2, xmmword [esi + 0x70]
vaddps xmm0, xmm0, xmm2
vmulps xmm2, xmm0, xmm0
vmovshdup xmm2, xmm2
vfmadd231ss xmm2, xmm0, xmm0
vfmadd231ss xmm2, xmm1, xmm1
vcvtss2sd xmm2, xmm2, xmm2
vsqrtsd xmm2, xmm2, xmm2
vcvtsd2ss xmm2, xmm2, xmm2
vcmpneqss xmm3, xmm2, dword [0x100f54d4]
vmovss xmm4, dword [0x100f54d0]
vblendvps xmm2, xmm4, xmm2, xmm3
vbroadcastss xmm3, xmm2
vdivps xmm3, xmm0, xmm3
vmovss xmm0, dword [ecx + 0x198]
vdivss xmm1, xmm1, xmm2
vbroadcastss xmm2, dword [eax + 0x10c]
vmulss xmm4, xmm2, xmm1
vmulps xmm2, xmm2, xmm3
vmovsd xmm1, qword [ecx + 0x190]
vaddps xmm2, xmm1, xmm2
vmovlps qword [esi + 0x238], xmm2
vaddss xmm2, xmm0, xmm4
vmovss dword [esi + 0x240], xmm2
mov ecx, dword [0x1012d33c]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [0x1012d35c]
mov eax, dword [eax]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x80]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [esi + 0x238]
mov dword [esp + 0x20], eax
vextractps dword [esp + 0x18], xmm1, 1
vmovss dword [esp + 0x1c], xmm0
vmovss dword [esp + 0x14], xmm1
lea eax, [esi + 0x244]
mov dword [esp], eax
call fcn.10091930
sub esp, 0x24
mov eax, dword [esi + 0x248]
test eax, eax
setg cl
cmp eax, dword [esi + 0x44]
setge al
and al, cl
mov byte [esi + edi + 0x100], al
inc edi
cmp edi, 0x100
jne 0x10078460
vpmovzxbd ymm0, qword [esi + 0x100]
vpmovzxbd ymm1, qword [esi + 0x108]
vpmovzxbd ymm2, qword [esi + 0x110]
vpmovzxbd ymm3, qword [esi + 0x118]
vpmovzxbd ymm4, qword [esi + 0x120]
vpmovzxbd ymm5, qword [esi + 0x128]
vpaddd ymm0, ymm0, ymm4
vpaddd ymm1, ymm1, ymm5
vpmovzxbd ymm4, qword [esi + 0x130]
vpaddd ymm2, ymm2, ymm4
vpmovzxbd ymm4, qword [esi + 0x138]
vpaddd ymm3, ymm3, ymm4
vpmovzxbd ymm4, qword [esi + 0x140]
vpmovzxbd ymm5, qword [esi + 0x148]
vpmovzxbd ymm6, qword [esi + 0x150]
vpmovzxbd ymm7, qword [esi + 0x160]
vpaddd ymm4, ymm4, ymm7
vpmovzxbd ymm7, qword [esi + 0x158]
vpaddd ymm0, ymm0, ymm4
vmovdqa ymmword [esi + 0x80], ymm0
vpmovzxbd ymm4, qword [esi + 0x168]
vpaddd ymm4, ymm5, ymm4
vpaddd ymm1, ymm1, ymm4
vpmovzxbd ymm4, qword [esi + 0x170]
vpaddd ymm4, ymm6, ymm4
vpaddd ymm2, ymm2, ymm4
vpmovzxbd ymm4, qword [esi + 0x178]
vpaddd ymm4, ymm7, ymm4
vpaddd ymm3, ymm3, ymm4
vpmovzxbd ymm4, qword [esi + 0x180]
vpmovzxbd ymm5, qword [esi + 0x188]
vpmovzxbd ymm6, qword [esi + 0x190]
vpmovzxbd ymm7, qword [esi + 0x1a0]
vpaddd ymm4, ymm4, ymm7
vpmovzxbd ymm7, qword [esi + 0x1a8]
vpaddd ymm5, ymm5, ymm7
vpmovzxbd ymm7, qword [esi + 0x198]
vpmovzxbd ymm0, qword [esi + 0x1b0]
vpaddd ymm0, ymm6, ymm0
vpmovzxbd ymm6, qword [esi + 0x1b8]
vpaddd ymm6, ymm7, ymm6
vpmovzxbd ymm7, qword [esi + 0x1c0]
vpaddd ymm4, ymm4, ymm7
vpaddd ymm4, ymm4, ymmword [esi + 0x80]
vpmovzxbd ymm7, qword [esi + 0x1c8]
vpaddd ymm5, ymm5, ymm7
vpaddd ymm1, ymm1, ymm5
vpmovzxbd ymm5, qword [esi + 0x1d0]
vpaddd ymm0, ymm0, ymm5
vpaddd ymm0, ymm2, ymm0
vpmovzxbd ymm2, qword [esi + 0x1d8]
vpaddd ymm2, ymm6, ymm2
vpaddd ymm2, ymm3, ymm2
vpmovzxbd ymm3, qword [esi + 0x1e0]
vpmovzxbd ymm5, qword [esi + 0x1e8]
vpaddd ymm3, ymm4, ymm3
vpaddd ymm1, ymm1, ymm5
vpmovzxbd ymm4, qword [esi + 0x1f0]
vpaddd ymm1, ymm1, ymm3
vpaddd ymm0, ymm0, ymm4
vpmovzxbd ymm3, qword [esi + 0x1f8]
vpaddd ymm0, ymm0, ymm1
vpaddd ymm1, ymm2, ymm3
vpaddd ymm0, ymm1, ymm0
vextracti128 xmm1, ymm0, 1
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0x55
vpaddd xmm0, xmm0, xmm1
vcvtdq2ps xmm0, xmm0
vmulss xmm0, xmm0, dword [0x100fe0d8]
vmulss xmm0, xmm0, dword [0x100f55f0]
vcvttss2si eax, xmm0
mov ecx, dword [esi + 0x260]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
vzeroupper
ret 0xc
mov dword [esi + 0x70], ecx
or eax, 1
mov dword [0x1012d494], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x40], eax
mov dword [esi + 0x268], 0
mov dword [esp], str.CBasePlayer__m_iHealth
lea ecx, [esi + 0x100]
mov dword [esi + 0x44], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x110]
mov dword [esi + 0x48], eax
cmp dword [esi + 0x114], 0x10
jb 0x1007883c
mov eax, dword [esi + 0x100]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x48], 0
je 0x100789fd
mov eax, dword [esi + 0x48]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x50], ecx
cmp eax, 4
jae 0x10078a25
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10078a6f
mov dword [esi + 0xb0], edx
mov dword [esi + 0x48], ecx
or eax, 1
mov dword [0x1012d47c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x70], eax
mov dword [esi + 0x268], 2
mov dword [esp], str.CBaseAttributableItem__m_iItemDefinitionIndex
lea ecx, [esi + 0x100]
mov dword [esi + 0x50], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x110]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x114], 0x10
jb 0x100788bc
mov eax, dword [esi + 0x100]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0
je 0x10078a07
mov eax, dword [esi + 0x44]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x40], ecx
cmp eax, 4
jae 0x10078b00
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10078b4a
mov dword [esi + 0x6c], ecx
vmovapd xmmword [esi + 0xe0], xmm3
vmovaps xmmword [esi + 0xb0], xmm4
or eax, 1
mov dword [0x1012d47c], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x268], 4
mov dword [esp], str.CBaseAttributableItem__m_iItemDefinitionIndex
lea ecx, [esi + 0x100]
mov dword [esi + 0x40], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x110]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x114], 0x10
jb 0x10078946
mov eax, dword [esi + 0x100]
mov dword [esi + 0x40], eax
cmp dword [esi + 0x50], 0
je 0x10078a11
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x70], ecx
cmp eax, 4
jae 0x10078be1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10078c2b
mov dword [esi + 0xcc], edx
mov word [esi + 0x6c], cx
vmovapd xmmword [esi + 0xe0], xmm3
vmovaps xmmword [esi + 0xb0], xmm4
or eax, 1
mov dword [0x10132bd8], eax
mov eax, dword [0x1012d324]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x268], 6
mov dword [esp], str.CWeaponCSBase__m_flRecoilIndex
lea ecx, [esi + 0x100]
mov dword [esi + 0x40], ecx
call fcn.100083b0
sub esp, 4
mov eax, dword [esi + 0x110]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x114], 0x10
jb 0x100789d7
mov eax, dword [esi + 0x100]
mov dword [esi + 0x40], eax
cmp dword [esi + 0x50], 0
je 0x10078a1b
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x70], ecx
cmp eax, 4
jae 0x10078cdf
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10078d29
mov ecx, 0x811c9dc5
jmp 0x10078a8c
mov ecx, 0x811c9dc5
jmp 0x10078b67
mov ecx, 0x811c9dc5
jmp 0x10078c48
mov ecx, 0x811c9dc5
jmp 0x10078d46
mov edi, dword [esi + 0x48]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x44]
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 0x10078a35
cmp dword [esi + 0x50], 0
je 0x10078a8c
add edx, dword [esi + 0x44]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x50], edi
jne 0x10078a7a
mov edx, dword [esi + 0x40]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10078dd9
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x48]
cmp eax, dword [ebx + 0x18]
jne 0x10078ad7
cmp dword [ebx + 0x1c], 0x10
jb 0x10078aba
mov eax, dword [ebx + 8]
jmp 0x10078abd
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x10078ae4
cmp ebx, edi
je 0x10078dd9
mov ebx, dword [ebx + 4]
jmp 0x10078aa7
add ebx, 0x20
lea ecx, [esi + 0x100]
call fcn.100029d0
mov dword [0x1012d490], ebx
mov ecx, dword [esi + 0x70]
jmp 0x1007818b
mov edi, dword [esi + 0x44]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x50]
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 0x10078b10
cmp dword [esi + 0x40], 0
je 0x10078b67
add edx, dword [esi + 0x50]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x40], edi
jne 0x10078b55
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10078def
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x44]
cmp eax, dword [ebx + 0x18]
jne 0x10078bb2
cmp dword [ebx + 0x1c], 0x10
jb 0x10078b95
mov eax, dword [ebx + 8]
jmp 0x10078b98
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x44]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x10078bbf
cmp ebx, edi
je 0x10078def
mov ebx, dword [ebx + 4]
jmp 0x10078b82
add ebx, 0x20
lea ecx, [esi + 0x100]
call fcn.100029d0
mov dword [0x1012d478], ebx
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0xb0]
jmp 0x100781af
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x40]
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 0x10078bf1
cmp dword [esi + 0x70], 0
je 0x10078c48
add edx, dword [esi + 0x40]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x70], edi
jne 0x10078c36
mov edx, dword [esi + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10078e05
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x10078c93
cmp dword [ebx + 0x1c], 0x10
jb 0x10078c76
mov eax, dword [ebx + 8]
jmp 0x10078c79
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x10078ca0
cmp ebx, edi
je 0x10078e05
mov ebx, dword [ebx + 4]
jmp 0x10078c63
add ebx, 0x20
lea ecx, [esi + 0x100]
call fcn.100029d0
mov dword [0x1012d478], ebx
mov eax, dword [0x1012d320]
mov edx, dword [eax + 0x1c8]
vmovaps xmm4, xmmword [esi + 0xb0]
vmovaps xmm1, xmmword [esi + 0x80]
vmovapd xmm3, xmmword [esi + 0xe0]
mov ecx, dword [esi + 0x6c]
jmp 0x1007834c
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x40]
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 0x10078cef
cmp dword [esi + 0x70], 0
je 0x10078d46
add edx, dword [esi + 0x40]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x70], edi
jne 0x10078d34
mov edx, dword [esi + 0x4c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x10078e1b
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x10078d91
cmp dword [ebx + 0x1c], 0x10
jb 0x10078d74
mov eax, dword [ebx + 8]
jmp 0x10078d77
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x10078d9e
cmp ebx, edi
je 0x10078e1b
mov ebx, dword [ebx + 4]
jmp 0x10078d61
add ebx, 0x20
lea ecx, [esi + 0x100]
call fcn.100029d0
mov dword [0x10132bd4], ebx
vmovaps xmm4, xmmword [esi + 0xb0]
vmovaps xmm1, xmmword [esi + 0x80]
vmovapd xmm3, xmmword [esi + 0xe0]
movzx ecx, word [esi + 0x6c]
mov edx, dword [esi + 0xcc]
jmp 0x10078366
mov dword [esi + 0x268], 1
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x268], 3
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x268], 5
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x268], 7
mov dword [esp], 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
nop word cs:[eax + eax]
push ebp
sub esp, 0x24
lea esi, [ebp - 0x26c]
mov ebp, dword [esi + 0x258]
lea ecx, [esi + 0x100]
call fcn.100029d0
add esp, 0x24
pop ebp
ret