Function at 0x140011080
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x58]
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x140036040]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov r14, r8
mov qword [rbp - 0x30], r8
mov rsi, rdx
mov qword [rbp - 0x28], rdx
mov rdi, rcx
lea rdx, str.PeekMessage
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
xor ebx, ebx
mov r8d, 0xb
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
call fcn.140003400
lea r8, [rsp + 0x20]
mov rdx, rsi
mov rcx, rdi
call fcn.14000dd10
mov r12, rax
test rax, rax
jne 0x14001129e
cmp dword [0x140036010], 2
movups xmm0, xmmword [0x1400290a8]
mov eax, dword [0x1400290c8]
movups xmm1, xmmword [0x1400290b8]
mov dword [rsp + 0x40], eax
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm1
jl 0x140011254
movdqa xmm0, xmmword [0x140030d90]
lea rcx, [rsp + 0x24]
movdqa xmm4, xmmword [0x140030cd0]
movdqa xmm3, xmmword [0x140030dc0]
movdqa xmm5, xmmword [str.111133335555::::]
movdqa xmm6, xmmword [0x140030d70]
movdqa xmmword [rbp - 0x60], xmm0
mov edx, dword [rbp - 0x60]
nop word [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], 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
psrad xmm1, 4
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
cmp ebx, 0x20
jl 0x140011170
cmp ebx, 0x24
jge 0x14001128d
movsxd rax, ebx
lea r8, [rsp + 0x20]
add r8, rax
nop
mov eax, 0x5397829d
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, bl
inc ebx
sub al, cl
add al, 0x39
xor byte [r8 - 1], al
cmp ebx, 0x24
jl 0x140011260
lea rcx, [rsp + 0x20]
call fcn.1400021c0
xor al, al
jmp 0x140012925
mov qword [rbp - 0x20], rbx
xor eax, eax
mov qword [rbp - 0x70], rax
xorps xmm2, xmm2
movups xmmword [rsp + 0x20], xmm2
mov qword [rsp + 0x1a8], r13
lea rax, [rbp - 0x20]
mov qword [rsp + 0x150], r15
movups xmmword [rsp + 0x40], xmm2
mov qword [rsp + 0x48], rax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
movaps xmmword [rsp + 0x130], xmm7
movups xmmword [rsp + 0x50], xmm2
mov qword [rsp + 0x50], 8
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x120], xmm8
mov word [rsp + 0x20], 1
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x22], bl
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm2
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movaps xmmword [rsp + 0x110], xmm9
movaps xmmword [rsp + 0x100], xmm10
movaps xmmword [rsp + 0xf0], xmm11
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x140011406
mov qword [rbp - 0x60], 1
nop dword [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x1400113b0
mov eax, dword [0x140029408]
mov r8d, ebx
movups xmm0, xmmword [0x1400293e8]
mov esi, dword [0x140036010]
movdqa xmm8, xmmword [0x140030d70]
movdqa xmm11, xmmword [0x140030d90]
movdqa xmm9, xmmword [str.111133335555::::]
movdqa xmm7, xmmword [0x140030dc0]
movdqa xmm10, xmmword [0x140030cd0]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x14002940c]
mov byte [rsp + 0x44], al
movups xmm1, xmmword [0x1400293f8]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm1
cmp esi, 2
jl 0x14001156f
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x140011480
cmp r8d, 0x25
jge 0x1400115b1
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x25
jl 0x140011580
mov rdx, qword [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.1400021c0
mov r9d, 4
mov rdx, r12
mov rcx, rdi
call fcn.1400043e0
mov ecx, dword [0x1400294c0]
mov r10, rax
mov dword [rsp + 0x40], ecx
mov r8d, ebx
movzx ecx, word [0x1400294c4]
mov word [rsp + 0x44], cx
movzx ecx, byte [0x1400294c6]
mov byte [rsp + 0x46], cl
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [0x1400294a0]
movups xmm1, xmmword [0x1400294b0]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm1
cmp esi, 2
jl 0x14001171f
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x140011630
cmp r8d, 0x27
jge 0x140011761
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x27
jl 0x140011730
mov rdx, r10
lea rcx, [rsp + 0x20]
call fcn.1400021c0
mov ecx, 0xfa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rdi + 0x318]
xor eax, eax
mov qword [rbp - 0x70], rax
xorps xmm2, xmm2
mov rax, qword [rdi + 0x2e0]
movups xmmword [rsp + 0x50], xmm2
mov r13d, dword [rcx + 0x28]
mov qword [rsp + 0x58], rax
add r13, r14
mov eax, dword [rcx + 0x50]
add rax, 0x8f
mov qword [rsp + 0x50], rax
mov eax, dword [rdi + 0x10]
movups xmmword [rsp + 0x20], xmm2
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
movups xmmword [rsp + 0x30], xmm2
mov qword [rsp + 0x38], 0x3000
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x40], xmm2
mov qword [rsp + 0x40], 0x40
mov word [rsp + 0x20], 1
mov byte [rsp + 0x22], 4
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmm2, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
movq rax, xmm2
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x1400118db
mov qword [rbp - 0x60], 1
nop dword [rax]
lea rcx, [rbp - 0x60]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmm2, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
movq rax, xmm2
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x140011880
cmp byte [0x14002912f], bl
movsd xmm0, qword [0x140029128]
psrldq xmm2, 8
movq r14, xmm2
movsd qword [rbp - 0x50], xmm0
movups xmm2, xmmword [0x140029118]
mov qword [0x1400360b6], r14
movups xmmword [rbp - 0x60], xmm2
je 0x140011baa
mov r8d, ebx
cmp esi, 2
jl 0x140011b79
movdqa xmm3, xmmword [0x140030cf0]
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
movd eax, xmm2
movdqa xmm2, xmmword [0x140030ce0]
movd ecx, xmm11
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm10
pmulld xmm0, xmm9
psubd xmm1, xmm0
movd xmm0, ecx
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, eax
xorps xmm1, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
movd dword [rbp - 0x60], xmm1
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x5c]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
xorps xmm2, xmm1
pmuldq xmm0, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm7
movd dword [rbp - 0x5c], xmm2
movdqa xmm2, xmmword [0x140030d00]
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x58]
pmulld xmm0, xmm9
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
xorps xmm3, xmm1
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movd dword [rbp - 0x58], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm3, xmmword [0x140030d10]
psubd xmm2, xmm0
movd xmm1, dword [rbp - 0x54]
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm7
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm7
movd dword [rbp - 0x54], xmm2
movdqa xmm2, xmmword [0x140030d20]
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x50]
pmulld xmm0, xmm9
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
xorps xmm3, xmm1
movdqa xmm1, xmm2
pmuldq xmm0, xmm7
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movd dword [rbp - 0x50], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x4c]
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x4c], xmm2
jmp 0x140011baa
lea r9, [rbp - 0x60]
nop dword [rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x140011b80
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.1400021c0
mov rax, qword [rdi + 0x318]
xorps xmm2, xmm2
movups xmmword [rsp + 0x20], xmm2
mov word [rsp + 0x20], 1
movups xmmword [rsp + 0x40], xmm2
mov r15d, dword [rax + 0x50]
lea rax, [0x1400360b0]
add r15, qword [rbp - 0x30]
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
movups xmmword [rsp + 0x50], xmm2
mov qword [rsp + 0x50], 8
movups xmm1, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x22], 1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm2
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x140011cf6
mov qword [rbp - 0x60], 1
nop
lea rcx, [rbp - 0x60]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x140011ca0
mov eax, dword [0x140029340]
mov r8d, ebx
mov dword [rsp + 0x38], eax
movzx eax, byte [0x140029344]
mov byte [rsp + 0x3c], al
movups xmm0, xmmword [0x140029328]
movups xmmword [rsp + 0x20], xmm0
movsd xmm0, qword [0x140029338]
movsd qword [rsp + 0x30], xmm0
cmp esi, 2
jl 0x140011e2f
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x140011d40
cmp r8d, 0x1d
jge 0x140011e71
movsxd rax, r8d
lea r10, [rsp + 0x20]
add r10, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r10 - 1], al
cmp r8d, 0x1d
jl 0x140011e40
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.1400021c0
mov r9d, 0x40
mov rdx, r15
mov rcx, rdi
call fcn.1400043e0
movups xmm1, xmmword [0x1400295a8]
mov r10, rax
movups xmm0, xmmword [0x140029598]
movups xmmword [rsp + 0x30], xmm1
psrldq xmm1, 0xf
movd ecx, xmm1
movups xmmword [rsp + 0x20], xmm0
test cl, cl
je 0x140011ffa
mov r8d, ebx
cmp esi, 2
jl 0x140011fc9
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov r8d, dword [rbp - 0x60]
mov edx, ebx
nop dword [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x20
jl 0x140011ee0
jmp 0x140011ffa
lea r9, [rsp + 0x20]
nop
mov eax, 0x5397829d
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x20
jl 0x140011fd0
mov rdx, r10
lea rcx, [rsp + 0x20]
call fcn.1400021c0
mov rax, qword [rbp - 0x28]
xorps xmm2, xmm2
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x60]
movups xmmword [rsp + 0x50], xmm2
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], r13
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x38], 1
movups xmm1, xmmword [rsp + 0x30]
mov qword [rsp + 0x50], 0x28
movaps xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm1
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x20], xmm2
mov word [rsp + 0x20], 1
movups xmmword [rsp + 0x40], xmm2
mov qword [rsp + 0x48], rax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
mov qword [rsp + 0x28], r14
mov byte [rsp + 0x22], 1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm2
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x140012169
mov qword [rbp - 0x28], 1
lea rcx, [rbp - 0x28]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x140012113
movzx eax, word [0x140029378]
mov r8d, ebx
mov word [rsp + 0x50], ax
movups xmm0, xmmword [str.IHLLZ_a6_d_i._m.9_t39__271]
movups xmm1, xmmword [0x140029358]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x140029368]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
cmp esi, 2
jl 0x1400122af
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x30
jl 0x1400121c0
cmp r8d, 0x32
jge 0x1400122f1
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x32
jl 0x1400122c0
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.1400021c0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_getchar]
mov r13, qword [rsp + 0x1a8]
xor eax, eax
mov qword [rbp - 0x28], r15
xorps xmm2, xmm2
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x28]
movups xmmword [rsp + 0x20], xmm2
mov word [rsp + 0x20], 1
movups xmmword [rsp + 0x40], xmm2
mov qword [rsp + 0x48], rax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
movups xmmword [rsp + 0x50], xmm2
mov qword [rsp + 0x50], 8
movups xmm1, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x22], 1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + 0x10], xmm2
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x140012440
mov qword [rbp - 0x30], 1
nop
lea rcx, [rbp - 0x30]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x1400123e0
nop word [rax + rax]
xorps xmm0, xmm0
lea r8, [rbp - 0x60]
xor eax, eax
mov r9d, 0x28
mov rdx, r14
mov qword [rbp - 0x40], rax
mov rcx, rdi
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
call fcn.140004320
movups xmm0, xmmword [rbp - 0x50]
mov ecx, 0xfa
movsd xmm1, qword [rbp - 0x40]
movups xmm6, xmmword [rbp - 0x60]
movups xmmword [rsp + 0x30], xmm0
movsd qword [rsp + 0x40], xmm1
call qword [sym.imp.KERNEL32.dll_Sleep]
movd eax, xmm6
cmp eax, 2
jne 0x140012440
mov r9d, dword [rbp - 0x20]
mov rdx, r12
mov rcx, rdi
call fcn.1400043e0
xor eax, eax
xorps xmm2, xmm2
mov qword [rbp - 0x70], rax
mov rax, qword [rdi + 0x2e0]
movups xmmword [rsp + 0x20], xmm2
mov qword [rsp + 0x28], r15
mov r15, qword [rsp + 0x150]
movups xmmword [rsp + 0x50], xmm2
mov qword [rsp + 0x58], rax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
movups xmmword [rsp + 0x30], xmm2
mov qword [rsp + 0x38], 0x8000
movups xmm1, xmmword [rsp + 0x30]
mov word [rsp + 0x20], 1
mov byte [rsp + 0x22], 6
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm0
movsd xmm0, qword [rbp - 0x70]
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm2
movsd qword [rax + 0x70], xmm0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
jne 0x1400125d6
mov qword [rbp - 0x28], 1
nop word [rax + rax]
lea rcx, [rbp - 0x28]
call fcn.140003ff0
mov rax, qword [rdi]
movups xmm0, xmmword [rax + 0x10]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rax + 0x70]
mov rax, qword [rax]
shr rax, 8
movups xmmword [rbp - 0x80], xmm1
movsd qword [rbp - 0x70], xmm0
test al, al
je 0x140012580
mov eax, dword [0x140029110]
mov r8d, ebx
mov dword [rsp + 0x40], eax
movzx eax, word [0x140029114]
mov word [rsp + 0x44], ax
movups xmm0, xmmword [0x1400290f0]
movups xmm1, xmmword [0x140029100]
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm1
cmp esi, 2
jl 0x14001270f
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x140012620
cmp r8d, 0x26
jge 0x140012751
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x26
jl 0x140012720
lea rcx, [rsp + 0x20]
call fcn.1400021c0
movups xmm0, xmmword [0x1400295d0]
movups xmm1, xmmword [0x1400295e0]
mov eax, dword [0x140029610]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1400295f0]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x140029600]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x140029614]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
mov byte [rsp + 0x64], al
cmp esi, 2
jl 0x1400128aa
movdqa xmmword [rbp - 0x60], xmm11
lea rcx, [rsp + 0x24]
mov edx, dword [rbp - 0x60]
nop word [rax + rax]
movd xmm2, ebx
lea eax, [rbx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm10
add ebx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm10
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp ebx, 0x40
jl 0x1400127c0
cmp ebx, 0x45
jge 0x1400128ed
movsxd rax, ebx
lea r8, [rsp + 0x20]
add r8, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r8, [r8 + 1]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, bl
inc ebx
sub al, cl
add al, 0x39
xor byte [r8 - 1], al
cmp ebx, 0x45
jl 0x1400128c0
lea rcx, [rsp + 0x20]
call fcn.1400021c0
movaps xmm11, xmmword [rsp + 0xf0]
mov al, 1
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.140025c30
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret