Function at 0x140016f70
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1400ac2c0]
xor rax, rsp
mov qword [rbp + 0x30], rax
xorps xmm0, xmm0
xor eax, eax
xor ebx, ebx
mov qword [rbp + 0x20], rax
cmp qword [rcx + 0x18], 0xf
mov rsi, rcx
movups xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x30], 0x5c
mov dword [rbp - 0x2c], 0x40000000
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp + 0x28], eax
movups xmmword [rbp - 0x10], xmm0
mov qword [rsp + 0x60], rbx
movups xmmword [rbp], xmm0
mov qword [rsp + 0x70], rbx
movups xmmword [rbp + 0x10], xmm0
jbe 0x140016fe1
mov rcx, qword [rcx]
lea rax, [rsp + 0x70]
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x38], rax
mov edi, 4
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, edi
mov qword [rsp + 0x20], rbx
mov edx, 1
movaps xmmword [rsp + 0x140], xmm7
call qword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
test eax, eax
jne 0x1400179d0
movzx ecx, word [0x14009cd00]
lea rdx, [rsp + 0x68]
movzx eax, byte [0x14009cd02]
xorps xmm0, xmm0
mov word [rbp - 0x48], cx
xor al, 0x3e
xor byte [rbp - 0x47], 0x3d
xor cl, 0x3c
movdqu xmmword [rbp - 0x7c], xmm0
mov byte [rbp - 0x48], cl
lea rcx, [rbp - 0x50]
movsd xmm0, qword [0x14009ccf8]
movsd qword [rbp - 0x50], xmm0
xor byte [rbp - 0x4f], 0x35
xor byte [rbp - 0x4e], 0x36
xor byte [rbp - 0x4d], 0x37
xor byte [rbp - 0x4c], 0x38
xor byte [rbp - 0x4b], 0x39
xor byte [rbp - 0x4a], 0x3a
xor byte [rbp - 0x49], 0x3b
mov dword [rbp - 0x64], ebx
mov qword [rsp + 0x68], rbx
mov byte [rbp - 0x50], 0x53
mov byte [rbp - 0x46], al
call qword [sym.imp.ADVAPI32.dll_ConvertStringSidToSidA]
test eax, eax
je 0x140017838
mov rax, qword [rsp + 0x68]
lea r9, [rsp + 0x60]
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x78]
mov ecx, 1
mov qword [rbp - 0x60], rax
mov dword [rsp + 0x78], 0x1f01ff
mov dword [rsp + 0x7c], 2
mov dword [rbp - 0x80], 3
mov dword [rbp - 0x6c], ebx
mov dword [rbp - 0x68], 5
call qword [sym.imp.ADVAPI32.dll_SetEntriesInAclA]
test eax, eax
jne 0x140017608
cmp qword [rsi + 0x18], 0xf
jbe 0x1400170f8
mov rsi, qword [rsi]
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov r8d, edi
mov qword [rsp + 0x28], rax
mov edx, 1
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoA]
test eax, eax
jne 0x140017376
mov rcx, qword [0x1400afe18]
lea r9, [rbp - 0x30]
mov edx, 0x444
mov dword [rbp - 0x1c], 0xff00
mov r8d, 1
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [0x14009da0b], bl
movsd xmm0, qword [0x14009da00]
mov eax, dword [0x14009da08]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
je 0x1400172fa
cmp dword [0x1400ac318], 2
mov r8d, ebx
jl 0x1400172c4
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x14009e390]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm6, xmmword [str.3333]
movdqa xmm4, xmmword [0x14009e3f0]
movdqa xmm7, xmmword [0x14009e410]
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, dword [0x14009da00]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
xorps xmm2, xmm0
movd dword [rbp - 0x50], xmm2
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm3
pmulld xmm0, xmm6
psubd xmm2, xmm0
punpckldq xmm1, xmm3
movd xmm0, dword [rbp - 0x4c]
andps xmm2, xmm4
packuswb xmm2, xmm2
pmuldq xmm1, xmm5
packuswb xmm2, xmm2
paddb xmm2, xmm7
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
movd dword [rbp - 0x4c], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm7
xorps xmm3, xmm0
movd dword [rbp - 0x48], xmm3
jmp 0x1400172fa
lea r9, [rbp - 0x50]
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0xc
jl 0x1400172d0
mov rsi, 0xffffffffffffffff
mov dword [rsp + 0x28], ebx
mov r9d, esi
mov qword [rsp + 0x20], rbx
lea r8, [rbp - 0x50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov eax, 2
mul rbx
cmovb rax, rsi
mov rcx, rax
call fcn.140062a0c
mov r9d, esi
mov dword [rsp + 0x28], ebx
lea r8, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, qword [0x1400afe18]
mov r9, rdi
xor r8d, r8d
mov edx, 0xc2
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rdi
call fcn.1400626b0
mov al, 1
jmp 0x140017bfa
cmp dword [0x1400ac318], 2
movups xmm7, xmmword [0x14009c9b8]
movzx eax, byte [0x14009c9cc]
mov edx, dword [0x14009c9c8]
movups xmmword [rbp - 0x50], xmm7
mov dword [rbp - 0x40], edx
mov byte [rbp - 0x3c], al
jl 0x1400175bf
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm3, xmmword [0x14009e350]
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm3
movdqa xmm6, xmmword [str.3333]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
movdqa xmm4, xmmword [0x14009e3f0]
mov ecx, dword [0x14009e410]
punpckldq xmm1, xmm3
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
movd eax, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmm6
psubd xmm3, xmm0
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm0, eax
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
movd dword [rbp - 0x50], xmm3
movdqa xmm3, xmmword [0x14009e390]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x4c]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
pmuldq xmm0, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movd dword [rbp - 0x4c], xmm2
movdqa xmm2, xmmword [0x14009e3b0]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x48]
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm3, xmm1
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
movd dword [rbp - 0x48], xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
pmuldq xmm0, xmm5
movdqa xmm3, xmmword [0x14009e3c0]
mov ebx, 0x14
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x44]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
movdqa xmm1, xmm3
pmuldq xmm0, xmm5
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movd dword [rbp - 0x44], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, edx
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
xorps xmm3, xmm1
movd dword [rbp - 0x40], xmm3
mov eax, ebx
lea r8, [rbp - 0x50]
add r8, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x34
xor byte [r8 - 1], al
cmp ebx, 0x15
jl 0x1400175d0
lea rcx, [rbp - 0x50]
jmp 0x140017bf3
cmp dword [0x1400ac318], 2
movzx eax, word [0x14009bb80]
movups xmm7, xmmword [0x14009bb70]
mov word [rbp - 0x40], ax
movzx eax, byte [0x14009bb82]
mov byte [rbp - 0x3e], al
movups xmmword [rbp - 0x50], xmm7
jl 0x1400177ef
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm3, xmmword [0x14009e350]
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm3
movdqa xmm6, xmmword [str.3333]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
movdqa xmm4, xmmword [0x14009e3f0]
mov ecx, dword [0x14009e410]
punpckldq xmm1, xmm3
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
movd eax, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmm6
psubd xmm3, xmm0
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm0, eax
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
movd dword [rbp - 0x50], xmm3
movdqa xmm3, xmmword [0x14009e390]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x4c]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
pmuldq xmm0, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movd dword [rbp - 0x4c], xmm2
movdqa xmm2, xmmword [0x14009e3b0]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x48]
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm3, xmm1
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
movd dword [rbp - 0x48], xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
mov ebx, 0x10
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x44]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x44], xmm2
mov eax, ebx
lea r8, [rbp - 0x50]
add r8, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x34
xor byte [r8 - 1], al
cmp ebx, 0x13
jl 0x140017800
lea rcx, [rbp - 0x50]
jmp 0x140017bf3
cmp dword [0x1400ac318], 2
movups xmm0, xmmword [0x14009c6e8]
movups xmm1, xmmword [0x14009c6f8]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
jl 0x140017994
movdqa xmm0, xmmword [0x14009e410]
lea rcx, [rsp + 0x40]
movdqa xmm4, xmmword [0x14009e350]
movdqa xmm3, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e3f0]
movdqa xmmword [rbp - 0x50], xmm0
mov edx, dword [rbp - 0x50]
nop dword [rax]
nop word [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
lea edi, [rdi + 8]
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
add ebx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
cmp ebx, 0x20
jl 0x1400178a0
lea rcx, [rsp + 0x40]
jmp 0x140017bf3
lea r8, [rsp + 0x40]
nop dword [rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
mul ebx
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x34
xor byte [r8 - 1], al
cmp ebx, 0x20
jl 0x1400179a0
lea rcx, [rsp + 0x40]
jmp 0x140017bf3
cmp dword [0x1400ac318], 2
movups xmm7, xmmword [0x14009e0f8]
movzx eax, word [0x14009e108]
mov word [rbp - 0x40], ax
movups xmmword [rbp - 0x50], xmm7
jl 0x140017bad
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm3, xmmword [0x14009e350]
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm3
movdqa xmm6, xmmword [str.3333]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
movdqa xmm4, xmmword [0x14009e3f0]
mov ecx, dword [0x14009e410]
punpckldq xmm1, xmm3
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
movd eax, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmm6
psubd xmm3, xmm0
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm0, eax
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
movd dword [rbp - 0x50], xmm3
movdqa xmm3, xmmword [0x14009e390]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x4c]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
pmuldq xmm0, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movd dword [rbp - 0x4c], xmm2
movdqa xmm2, xmmword [0x14009e3b0]
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x48]
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm3, xmm1
punpckhdq xmm0, xmm2
movdqa xmm1, xmm2
movd dword [rbp - 0x48], xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
mov ebx, 0x10
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x44]
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x44], xmm2
mov eax, ebx
lea r8, [rbp - 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, bl
inc ebx
sub al, cl
add al, 0x34
xor byte [r8 - 1], al
cmp ebx, 0x12
jl 0x140017bc0
lea rcx, [rbp - 0x50]
call fcn.140014d50
xor al, al
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x150]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140062690
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret