Function at 0x1400bc840
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14018c010]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rdi, qword [0x14024b4a0]
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x14024f084], eax
jle 0x1400bcf21
lea rcx, [0x14024f084]
call fcn.1400fba20
cmp dword [0x14024f084], 0xffffffff
jne 0x1400bcf21
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x14024f0c8], xmm0
mov qword [0x14024f0d8], rax
mov eax, dword [0x14017d090]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14017d094]
mov word [rsp + 0x34], ax
mov byte [rsp + 0x30], 0x72
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor al, 0x34
mov byte [rsp + 0x34], al
xor byte [rsp + 0x35], 0x35
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400bc920
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.140079270
nop
mov eax, dword [str._XAG_Y6]
mov dword [rsp + 0x30], eax
movzx ecx, word [0x14017c9cc]
mov word [rsp + 0x34], cx
movzx eax, byte [0x14017c9ce]
mov byte [rsp + 0x30], 0x70
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
xor cl, 0x34
mov byte [rsp + 0x34], cl
xor byte [rsp + 0x35], 0x35
xor al, 0x36
mov byte [rsp + 0x36], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400bc9a0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140079270
nop
mov eax, dword [str.RE3sVV]
mov dword [rsp + 0x30], eax
mov esi, 5
lea r14d, [rsi + 0x1a]
mov ebx, dword [0x14018c018]
cmp byte [0x14017d12f], 0
je 0x1400bcab3
cmp ebx, 2
jl 0x1400bca72
movdqa xmm3, xmmword [0x140180110]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140180330]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140180330]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140180130]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401801d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
jmp 0x1400bcab3
lea r9, [rsp + 0x30]
xor r8d, r8d
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, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400bca80
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400bcad0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140079270
nop
mov eax, dword [str.U3vkuvuyk:]
mov dword [rsp + 0x30], eax
cmp byte [0x14017cedf], 0
je 0x1400bcbd3
cmp ebx, 2
jl 0x1400bcb92
movdqa xmm3, xmmword [0x140180110]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140180330]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140180330]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140180130]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401801d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
jmp 0x1400bcbd3
lea r9, [rsp + 0x30]
xor r8d, r8d
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, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400bcba0
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400bcbf0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140079270
nop
mov rax, qword [str.CY_GS_X7c_SCXXR]
mov qword [rsp + 0x30], rax
cmp byte [0x14017dccf], 0
je 0x1400bcd73
cmp ebx, 2
jl 0x1400bcd2e
movdqa xmm4, xmmword [0x140180330]
movd xmm6, esi
movd xmm5, r14d
movdqa xmm2, xmmword [0x140180110]
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, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140180130]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401801d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, dword [rsp + 0x30]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x140180120]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140180130]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401801d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, dword [rsp + 0x34]
xorps xmm2, xmm0
movd dword [rsp + 0x34], xmm2
jmp 0x1400bcd73
lea r9, [rsp + 0x30]
xor r8d, r8d
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, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1400bcd40
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400bcd90
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.140079270
nop
mov eax, dword [str.CU3]
mov dword [rsp + 0x30], eax
cmp byte [0x14017cd53], 0
je 0x1400bce93
cmp ebx, 2
jl 0x1400bce52
movdqa xmm3, xmmword [0x140180110]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140180330]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140180330]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140180130]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1401801d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
jmp 0x1400bce93
lea r9, [rsp + 0x30]
xor r8d, r8d
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, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400bce60
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400bceb0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x10]
call fcn.140079270
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x14024f0c8]
call fcn.1400e9780
nop
lea r9, [fcn.140078c50]
mov edx, 0x20
lea r8d, [rdx - 0x1a]
lea rcx, [rsp + 0x50]
call fcn.1400fba98
lea rcx, [0x1400ff7c0]
call fcn.1400fbda0
nop
lea rcx, [0x14024f084]
call fcn.1400fb9b4
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.1400ba810
nop
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x40]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x30]
cmovae rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.1400eb450
mov rbx, qword [0x14024f0c8]
mov r15, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x10]
mov r12, qword [0x14024f0d0]
cmp rbx, r12
je 0x1400bd05b
cmp r15, 0x10
setae byte [rsp + 0x40]
mov rsi, qword [rbp + 0x20]
movzx r13d, byte [0x14017cc7e]
movzx r14d, word [0x14017cc7c]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [str.BQXQA6]
mov dword [rsp + 0x30], eax
mov word [rsp + 0x34], r14w
movzx ecx, r13b
mov byte [rsp + 0x30], 0x72
xor byte [rsp + 0x31], 0x31
xor byte [rsp + 0x32], 0x32
xor byte [rsp + 0x33], 0x33
movzx eax, r14b
xor al, 0x34
mov byte [rsp + 0x34], al
xor byte [rsp + 0x35], 0x35
xor cl, 0x36
mov byte [rsp + 0x36], cl
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400bcff0
lea rcx, [rbp + 0x10]
cmp r15, 0x10
cmovae rcx, rdi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov rdx, rsi
call fcn.140079060
cmp rax, 0xffffffffffffffff
jne 0x1400bd05b
mov rax, qword [rbx + 0x10]
mov r9, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400bd02e
mov r9, qword [rbx]
lea rcx, [rbp + 0x10]
cmp byte [rsp + 0x40], 0
cmovne rcx, rdi
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.140079060
cmp rax, 0xffffffffffffffff
jne 0x1400bd08f
add rbx, 0x20
cmp rbx, r12
jne 0x1400bcfa0
xor bl, bl
cmp r15, 0x10
jb 0x1400bd09b
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400bd093
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd093
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov bl, 1
jmp 0x1400bd05d
mov rcx, rdi
call fcn.1400fb944
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x1400bd0f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bd0ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd0ed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400fb944
movzx eax, bl
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1400fb8e0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret