Function at 0x1800173c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x140
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x180050040]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov r13, r8
mov r15, rcx
mov edx, dword [0x18008a250]
mov rax, qword gs:[0x58]
mov ecx, 4
mov r12, qword [rax + rdx*8]
add r12, rcx
xor ebx, ebx
mov r14d, dword [0x180050090]
movdqa xmm12, xmmword [0x18004b210]
movdqa xmm9, xmmword [0x18004b1d0]
movdqa xmm6, xmmword [0x18004b1c0]
movdqa xmm10, xmmword [0x18004b1f0]
movdqa xmm7, xmmword [0x18004b240]
movdqa xmm11, xmmword [0x18004b250]
mov eax, dword [r12]
cmp dword [0x18008a3f0], eax
jle 0x180017a9d
lea rcx, [0x18008a3f0]
call fcn.180027290
cmp dword [0x18008a3f0], 0xffffffff
jne 0x180017a9d
mov rdi, qword [r15]
movsd xmm0, qword [0x18004b0d8]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [0x18004b0e0]
mov dword [rbp - 0x70], eax
cmp byte [0x18004b0e3], bl
je 0x1800175cf
mov r8d, ebx
cmp r14d, 2
jl 0x180017594
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
movd xmm0, dword [0x18004b0d8]
xorps xmm1, xmm0
movd dword [rbp - 0x78], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm9
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm11
movd xmm0, dword [rbp - 0x74]
xorps xmm1, xmm0
movd dword [rbp - 0x74], xmm1
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x1800175a0
movsd xmm0, qword [0x18004b030]
movsd qword [rsp + 0x78], xmm0
mov eax, dword [0x18004b038]
mov dword [rbp - 0x80], eax
cmp byte [0x18004b03b], 0
je 0x18001770f
mov r8d, ebx
cmp r14d, 2
jl 0x1800176d4
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x18004b030]
xorps xmm1, xmm0
movd dword [rsp + 0x78], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm9
psubd xmm2, xmm0
andps xmm2, xmm12
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x7c]
xorps xmm2, xmm1
movd dword [rsp + 0x7c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x1800176e0
mov eax, dword [0x18004aec4]
mov dword [rsp + 0x70], eax
movzx eax, word [0x18004aec8]
mov word [rsp + 0x74], ax
mov byte [rsp + 0x70], 0x2e
xor byte [rsp + 0x71], 0x31
xor byte [rsp + 0x72], 0x32
xor byte [rsp + 0x73], 0x33
xor byte [rsp + 0x74], 0x34
xor byte [rsp + 0x75], 0x35
movsd xmm0, qword [0x18004b048]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x18004b050]
mov dword [rbp - 0x58], eax
movzx eax, word [0x18004b054]
mov word [rbp - 0x54], ax
movzx eax, byte [0x18004b056]
mov byte [rbp - 0x52], al
mov r8d, ebx
cmp r14d, 2
jl 0x18001784c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x18004b048]
xorps xmm1, xmm0
movd dword [rbp - 0x60], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm9
psubd xmm2, xmm0
andps xmm2, xmm12
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x180017860
lea rcx, [rbp - 0x60]
call fcn.180001d70
test rax, rax
jne 0x180017a56
movups xmm0, xmmword [str.QWLZPTZ]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [str._.6__f__j__9:__r_748WLQ_eODMK__b7e3___8k]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x18004aba0]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [0x18004abb0]
movups xmmword [rsp + 0x60], xmm1
cmp r14d, 2
jl 0x180017a01
mov edx, ebx
movdqa xmm4, xmmword [0x18004b280]
movdqa xmm5, xmmword [0x18004b200]
movdqa xmm8, xmmword [0x18004b230]
lea rcx, [rsp + 0x30]
nop dword [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
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
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
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
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add edx, 8
lea rcx, [rcx + 0x10]
cmp edx, 0x20
jl 0x180017900
lea rcx, [rsp + 0x30]
call fcn.1800158e0
movzx eax, al
jmp 0x180017a8a
lea r9, [rsp + 0x30]
mov r8d, ebx
nop dword [rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x38
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x20
jl 0x180017a10
lea rcx, [rsp + 0x30]
call fcn.1800158e0
movzx eax, al
jmp 0x180017a8a
mov dword [rbp - 0x68], ebx
lea r9, [rbp - 0x68]
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.180016dc0
mov r8d, dword [rbp - 0x68]
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x78]
mov rdx, rax
mov rcx, rdi
call fcn.180016820
mov qword [0x18008a3c8], rax
lea rcx, [0x18008a3f0]
call fcn.180027224
mov rsi, qword [0x18008a3c8]
test rsi, rsi
jne 0x180018270
mov rdi, qword [r15]
movsd xmm0, qword [0x18004b010]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [0x18004b018]
mov dword [rbp - 0x70], eax
movzx eax, word [0x18004b01c]
mov word [rbp - 0x6c], ax
cmp byte [0x18004b01d], sil
je 0x180017bff
mov r8d, ebx
cmp r14d, 2
jl 0x180017bbc
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x18004b010]
xorps xmm1, xmm0
movd dword [rbp - 0x78], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm9
psubd xmm2, xmm0
andps xmm2, xmm12
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm2, xmm1
movd dword [rbp - 0x74], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x180017bd0
movsd xmm0, qword [0x18004b020]
movsd qword [rsp + 0x78], xmm0
mov eax, dword [0x18004b028]
mov dword [rbp - 0x80], eax
movzx eax, word [0x18004b02c]
mov word [rbp - 0x7c], ax
cmp byte [0x18004b02d], 0
je 0x180017d4f
mov r8d, ebx
cmp r14d, 2
jl 0x180017d0f
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x18004b020]
xorps xmm1, xmm0
movd dword [rsp + 0x78], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm9
psubd xmm2, xmm0
andps xmm2, xmm12
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x7c]
xorps xmm2, xmm1
movd dword [rsp + 0x7c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x180017d20
mov eax, dword [0x18004aec4]
mov dword [rsp + 0x70], eax
movzx eax, word [0x18004aec8]
mov word [rsp + 0x74], ax
mov byte [rsp + 0x70], 0x2e
xor byte [rsp + 0x71], 0x31
xor byte [rsp + 0x72], 0x32
xor byte [rsp + 0x73], 0x33
xor byte [rsp + 0x74], 0x34
xor byte [rsp + 0x75], 0x35
movsd xmm0, qword [0x18004b048]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x18004b050]
mov dword [rbp - 0x58], eax
movzx eax, word [0x18004b054]
mov word [rbp - 0x54], ax
movzx eax, byte [0x18004b056]
mov byte [rbp - 0x52], al
mov r8d, ebx
cmp r14d, 2
jl 0x180017e8c
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm11
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x18004b048]
xorps xmm1, xmm0
movd dword [rbp - 0x60], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm7
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm2, xmm9
psubd xmm2, xmm0
andps xmm2, xmm12
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x180017ea0
lea rcx, [rbp - 0x60]
call fcn.180001d70
test rax, rax
jne 0x180018096
movups xmm0, xmmword [str.QWLZPTZ]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [str._.6__f__j__9:__r_748WLQ_eODMK__b7e3___8k]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x18004aba0]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [0x18004abb0]
movups xmmword [rsp + 0x60], xmm1
cmp r14d, 2
jl 0x180018041
mov edx, ebx
movdqa xmm4, xmmword [0x18004b280]
movdqa xmm5, xmmword [0x18004b200]
movdqa xmm8, xmmword [0x18004b230]
lea rcx, [rsp + 0x30]
nop dword [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
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
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
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
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm8
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add edx, 8
lea rcx, [rcx + 0x10]
cmp edx, 0x20
jl 0x180017f40
lea rcx, [rsp + 0x30]
call fcn.1800158e0
movzx esi, al
jmp 0x1800180cd
lea r9, [rsp + 0x30]
mov r8d, ebx
nop dword [rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x38
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x20
jl 0x180018050
lea rcx, [rsp + 0x30]
call fcn.1800158e0
movzx esi, al
jmp 0x1800180cd
mov dword [rbp - 0x68], ebx
lea r9, [rbp - 0x68]
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.180016dc0
mov r8d, dword [rbp - 0x68]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x78]
mov rdx, rax
mov rcx, rdi
call fcn.180016820
mov rsi, rax
mov qword [0x18008a3c8], rsi
test rsi, rsi
jne 0x180018270
movups xmm0, xmmword [0x18004af20]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x18004af30]
movups xmmword [rsp + 0x40], xmm1
movsd xmm0, qword [0x18004af40]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x18004af48]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004af4c]
mov word [rsp + 0x5c], ax
cmp r14d, 2
jl 0x18001821e
movdqa xmm4, xmmword [0x18004b220]
lea rcx, [rsp + 0x30]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm4
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm4
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 0x10]
cmp ebx, 0x10
jl 0x180018130
cmp eax, 0x17
jge 0x18001825f
movsxd rax, ebx
lea r8, [rsp + 0x30]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, bx
sub ax, cx
add ax, 0x30
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x17
jl 0x180018230
lea rcx, [rsp + 0x30]
call fcn.1800158e0
xor eax, eax
jmp 0x180018821
mov rdi, qword [r15]
test rsi, rsi
je 0x1800186bc
mov dword [rbp - 0x68], ebx
mov eax, dword [r12]
cmp dword [0x18008a298], eax
jle 0x180018554
lea rcx, [0x18008a298]
call fcn.180027290
cmp dword [0x18008a298], 0xffffffff
jne 0x180018554
mov rax, qword [str.UWVSK__]
mov qword [rsp + 0x70], rax
movdqa xmm4, xmmword [0x18004b260]
movdqa xmm3, xmmword [0x18004b200]
movdqa xmm2, xmmword [0x18004b280]
cmp byte [0x18002ac27], 0
je 0x1800183f3
cmp r14d, 2
jl 0x1800183ab
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm2
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm3
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm4
movd xmm0, dword [rsp + 0x70]
xorps xmm1, xmm0
movd dword [rsp + 0x70], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm2
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm9
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm3
movdqa xmm1, xmm9
psubd xmm1, xmm0
andps xmm1, xmm12
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm4
movd xmm0, dword [rsp + 0x74]
xorps xmm1, xmm0
movd dword [rsp + 0x74], xmm1
jmp 0x1800183f3
lea r9, [rsp + 0x70]
mov r8d, ebx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1800183c0
mov eax, dword [0x18002abd8]
mov dword [rbp - 0x70], eax
movsd xmm0, qword [str.VMUHWOPSn_:D]
movzx eax, byte [0x18002abdc]
movsd qword [rbp - 0x78], xmm0
mov byte [rbp - 0x6c], al
mov r8d, ebx
cmp r14d, 2
jl 0x1800184f4
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm2
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm3
psubd xmm6, xmm0
andps xmm6, xmm12
packuswb xmm6, xmm6
packuswb xmm6, xmm6
movd eax, xmm4
movd xmm0, eax
paddb xmm6, xmm0
movd xmm0, dword [str.VMUHWOPSn_:D]
xorps xmm6, xmm0
movd dword [rbp - 0x78], xmm6
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm2
movdqa xmm0, xmm9
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm9
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm3
psubd xmm9, xmm0
andps xmm9, xmm12
packuswb xmm9, xmm9
packuswb xmm9, xmm9
movd xmm0, eax
paddb xmm9, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm9, xmm1
movd dword [rbp - 0x74], xmm9
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180018500
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x78]
call fcn.180001f60
mov qword [0x18008a300], rax
lea rcx, [0x18008a298]
call fcn.180027224
mov r14, qword [0x18008a300]
mov eax, dword [r12]
cmp dword [0x18008a2f8], eax
jle 0x1800185ac
lea rcx, [0x18008a2f8]
call fcn.180027290
cmp dword [0x18008a2f8], 0xffffffff
jne 0x1800185ac
lea rcx, [0x18002a978]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18008a2b8], rax
lea rcx, [0x18008a2f8]
call fcn.180027224
mov dword [rbp - 0x50], 0x25ff
mov word [rbp - 0x4c], 0
mov qword [rbp - 0x4a], r14
mov rax, qword [0x18008a2a8]
mov qword [rsp + 0x70], 0xe
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x78], rax
mov rcx, qword [rdi + 0x38]
test rcx, rcx
jne 0x1800185ea
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x78]
call qword [rax + 0x10]
test al, al
je 0x1800186bc
mov rax, qword [0x18008a2a8]
mov qword [rbp - 0x78], 0xe
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rdi + 0x78]
test rcx, rcx
jne 0x180018633
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
test al, al
je 0x1800186bc
mov rax, qword [0x18008a2b8]
lea rdx, [rsi + 1]
mov r8d, 4
lea rcx, [rbp - 0x68]
call rax
mov r14, rax
mov rcx, qword [0x18008a2a8]
mov qword [rbp - 0x78], 0xe
lea rax, [rbp - 0x60]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdi + 0x78]
test rcx, rcx
jne 0x180018692
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
test al, al
je 0x1800186bc
test r14, r14
je 0x1800186bc
movsxd rax, dword [rbp - 0x68]
add rax, 5
add rsi, rax
jmp 0x1800186bf
mov rsi, rbx
mov rcx, rdi
mov eax, 0x38
lea r14, [rax + rcx]
mov eax, dword [r12]
cmp dword [0x18008a3d0], eax
jle 0x18001871c
lea rcx, [0x18008a3d0]
call fcn.180027290
cmp dword [0x18008a3d0], 0xffffffff
jne 0x18001871c
lea rcx, [0x18002a978]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18008a468], rax
lea rcx, [0x18008a3d0]
call fcn.180027224
mov dword [rbp - 0x50], 0x25ff
mov word [rbp - 0x4c], 0
mov qword [rbp - 0x4a], rsi
mov rax, qword [0x18008a2a8]
mov qword [rbp - 0x78], 0xe
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [r14]
test rcx, rcx
jne 0x180018759
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
test al, al
je 0x18001881e
mov rax, qword [0x18008a2a8]
mov qword [rbp - 0x78], 0xe
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rdi + 0x78]
test rcx, rcx
jne 0x1800187a2
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
test al, al
je 0x18001881e
mov rax, qword [0x18008a468]
mov r9b, 0x11
mov r8d, 1
mov rdx, r13
xor ecx, ecx
call rax
mov rsi, rax
mov rcx, qword [0x18008a2a8]
mov qword [rbp - 0x78], 0xe
lea rax, [rbp - 0x60]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdi + 0x78]
test rcx, rcx
jne 0x180018801
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
test al, al
cmove rsi, rbx
mov rbx, rsi
mov rax, rbx
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.1800271c0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret