Function at 0x140080c40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x50
mov rsi, rdx
mov rdi, rcx
mov edx, dword [rcx + 0x44]
test edx, edx
je 0x140080fae
sub edx, 1
je 0x140080f2e
sub edx, 1
je 0x140080e9e
cmp edx, 1
je 0x140080e0d
mov eax, dword [str.MWQ_LV_PX_]
mov dword [rbp - 0x30], eax
cmp byte [0x140125c57], 0
je 0x140080d52
xor r8d, r8d
cmp dword [0x14013e098], 2
jl 0x140080d13
movdqa xmm3, xmmword [0x1401265a0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140126aa0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140126aa0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x140126660]
psubd xmm3, xmm0
andps xmm3, xmmword [0x1401266c0]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x140126720]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rbp - 0x30], xmm3
jmp 0x140080d52
lea r9, [rbp - 0x30]
nop word [rax + rax]
mov eax, 0x1f7047dd
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140080d20
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140080d70
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140001460
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
add rdi, 0x20
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140080da0
mov r8, rbx
mov rcx, rdi
call fcn.140002b10
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140080def
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080dea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140081122
call fcn.1400fb3b4
mov rdx, rdi
mov rcx, rsi
call fcn.140002850
mov rax, rsi
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [0x140125c6c]
mov dword [rbp - 0x30], eax
movzx ecx, word [0x140125c70]
mov word [rbp - 0x2c], cx
movzx eax, byte [0x140125c72]
mov byte [rbp - 0x30], 0x61
xor byte [rbp - 0x2f], 0x39
xor byte [rbp - 0x2e], 0x3a
xor byte [rbp - 0x2d], 0x3b
xor cl, 0x3c
mov byte [rbp - 0x2c], cl
xor byte [rbp - 0x2b], 0x3d
xor al, 0x3e
mov byte [rbp - 0x2a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140080e64
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140001460
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
add rdi, 0x20
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140080e90
jmp 0x140080da9
mov eax, dword [0x140125c58]
mov dword [rbp - 0x30], eax
movzx ecx, word [0x140125c5c]
mov word [rbp - 0x2c], cx
movzx eax, byte [0x140125c5e]
mov byte [rbp - 0x30], 0x74
xor byte [rbp - 0x2f], 0x39
xor byte [rbp - 0x2e], 0x3a
xor byte [rbp - 0x2d], 0x3b
xor cl, 0x3c
mov byte [rbp - 0x2c], cl
xor byte [rbp - 0x2b], 0x3d
xor al, 0x3e
mov byte [rbp - 0x2a], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140080ef5
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140001460
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
add rdi, 0x20
nop
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140080f20
jmp 0x140080da9
mov eax, dword [str.PVV__]
mov dword [rbp - 0x30], eax
movzx eax, byte [0x140125c64]
mov byte [rbp - 0x30], 0x68
xor byte [rbp - 0x2f], 0x39
xor byte [rbp - 0x2e], 0x3a
xor byte [rbp - 0x2d], 0x3b
xor al, 0x3c
mov byte [rbp - 0x2c], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140080f70
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140001460
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
add rdi, 0x20
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140080fa0
jmp 0x140080da9
mov eax, dword [str.W__YUMZEN_]
mov dword [rbp - 0x30], eax
cmp byte [0x140125c6b], 0
je 0x140081082
xor r8d, r8d
cmp dword [0x14013e098], 2
jl 0x140081046
movdqa xmm3, xmmword [0x1401265a0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140126aa0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140126aa0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x140126660]
psubd xmm3, xmm0
andps xmm3, xmmword [0x1401266c0]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x140126720]
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rbp - 0x30], xmm3
jmp 0x140081082
lea r9, [rbp - 0x30]
nop word [rax + rax]
mov eax, 0x1f7047dd
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140081050
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400810a0
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140001460
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
add rdi, 0x20
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400810d0
mov r8, rbx
mov rcx, rdi
call fcn.140002b10
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140080def
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080dea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140080dea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3