Function at 0x140002b10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140007040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
xor ebx, ebx
mov qword [rbp - 0x70], 0x19600
mov qword [rsp + 0x70], rbx
mov r13, r9
mov qword [rbp - 0x80], rbx
mov r12, rcx
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x68], rbx
test rcx, rcx
je 0x1400030d7
test r9, r9
je 0x1400030d7
lea rdx, [0x140020d10]
mov ecx, 0xf85c77ec
call fcn.140002380
test eax, eax
je 0x1400030d7
lea rdx, [0x140020d28]
mov ecx, 0xb347a7c1
call fcn.140002380
test eax, eax
je 0x1400030d7
lea rdx, [0x140020d40]
mov ecx, 0x6411d915
call fcn.140002380
test eax, eax
je 0x1400030d7
lea rdx, [0x140020d58]
mov ecx, 0x3d93eda4
call fcn.140002380
test eax, eax
je 0x1400030d7
lea rdx, [0x140020d70]
mov ecx, 0x830a04fc
call fcn.140002380
test eax, eax
je 0x1400030d7
lea rdx, [0x140020d88]
mov ecx, 0xedfc5cb
call fcn.140002380
test eax, eax
je 0x1400030d7
mov rdx, qword [0x140020d20]
mov ecx, dword [0x140020d10]
call fcn.140003190
mov qword [rsp + 0x30], rbx
lea r9, [rbp - 0x70]
mov dword [rsp + 0x28], 0x8000000
lea rcx, [rsp + 0x78]
xor r8d, r8d
mov dword [rsp + 0x20], 0x40
mov edx, 0xf001f
call fcn.1400031b3
test eax, eax
js 0x1400030d7
mov rdx, qword [0x140020d38]
mov ecx, dword [0x140020d28]
call fcn.140003190
mov rcx, qword [rsp + 0x78]
lea rax, [rbp - 0x68]
mov dword [rsp + 0x48], 4
lea r8, [rsp + 0x70]
mov qword [rsp + 0x40], rbx
mov edi, 1
mov dword [rsp + 0x38], edi
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1400031b3
test eax, eax
js 0x14000307c
cmp qword [rsp + 0x70], rbx
je 0x1400030ab
mov rdx, qword [0x140020d38]
mov ecx, dword [0x140020d28]
call fcn.140003190
mov rcx, qword [rsp + 0x78]
lea rax, [rbp - 0x68]
mov dword [rsp + 0x48], 0x40
lea r8, [rbp - 0x80]
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov dword [rsp + 0x38], edi
mov rdx, r12
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.1400031b3
test eax, eax
js 0x14000307c
cmp qword [rbp - 0x80], rbx
je 0x14000307c
movzx r8d, byte [0x1400070d1]
mov edi, ebx
nop dword [rax + rax]
mov ecx, r8d
mov eax, 0x80808081
xor ecx, edi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub ecx, eax
cmp ecx, 0xa0
je 0x140002d52
inc edi
cmp edi, 0xff
jle 0x140002d20
movdqa xmm3, xmmword [0x140005360]
lea rax, [0x1400070d4]
movd xmm0, edi
mov edx, ebx
pshufd xmm0, xmm0, 0
andps xmm0, xmm3
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov ecx, dword [rsp + 0x60]
nop dword [rax]
nop word [rax + rax]
movd xmm0, dword [rax - 4]
lea rax, [rax + 0x10]
movd xmm1, ecx
add edx, 0x10
movd xmm2, ecx
xorps xmm1, xmm0
movd dword [rax - 0x14], xmm1
movd xmm1, dword [rax - 0x10]
movd xmm0, ecx
xorps xmm1, xmm0
movd xmm0, ecx
movd dword [rax - 0x10], xmm1
movd xmm1, dword [rax - 0xc]
xorps xmm1, xmm0
movd dword [rax - 0xc], xmm1
movd xmm0, dword [rax - 8]
xorps xmm2, xmm0
movd dword [rax - 8], xmm2
cmp edx, 0x20
jb 0x140002d90
test dil, dil
je 0x14000307c
movzx r8d, byte [0x1400070c1]
mov edi, ebx
nop dword [rax]
nop word [rax + rax]
mov ecx, r8d
mov eax, 0x80808081
xor ecx, edi
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub ecx, eax
cmp ecx, 0xaf
je 0x140002e32
inc edi
cmp edi, 0xff
jle 0x140002e00
movd xmm0, edi
lea rax, [0x1400070c4]
pshufd xmm0, xmm0, 0
mov edx, ebx
andps xmm0, xmm3
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov ecx, dword [rsp + 0x60]
nop dword [rax]
movd xmm1, dword [rax - 4]
lea rax, [rax + 0x10]
movd xmm0, ecx
add edx, 0x10
movd xmm2, ecx
xorps xmm1, xmm0
movd dword [rax - 0x14], xmm1
movd xmm0, dword [rax - 0x10]
movd xmm1, ecx
xorps xmm2, xmm0
movd dword [rax - 0x10], xmm2
movd xmm0, dword [rax - 0xc]
xorps xmm1, xmm0
movd xmm0, ecx
movd dword [rax - 0xc], xmm1
movd xmm1, dword [rax - 8]
xorps xmm1, xmm0
movd dword [rax - 8], xmm1
cmp edx, 0x10
jb 0x140002e60
test dil, dil
je 0x14000307c
mov qword [rsp + 0x208], rsi
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x1c8], r14
xor edx, edx
mov qword [rsp + 0x1c0], r15
mov r8d, pe_nt_image_headers64
movaps xmmword [rsp + 0x1b0], xmm6
call sub.VCRUNTIME140.dll_memset
xor eax, eax
lea rdi, [rbp - 0x60]
mov ecx, pe_nt_image_headers64
rep stosb byte [rdi], al
lea rcx, [rbp - 0x60]
call fcn.140001c50
movups xmm2, xmmword [str.8bz]
mov rdi, qword [rsp + 0x70]
lea rsi, [rbp + 0x90]
lea r14, [0x1400070f0]
sub rsi, rdi
movups xmmword [rbp + 0x90], xmm2
mov r15d, 0x1960
nop word [rax + rax]
movups xmm6, xmmword [r14]
mov r9, r14
lea rcx, [rbp - 0x60]
mov r8, rdi
call fcn.140001fd0
lea rax, [rbp + 0x9f]
cmp rdi, rax
ja 0x140002f82
lea rax, [rdi + 0xf]
lea rcx, [rbp + 0x90]
cmp rax, rcx
jb 0x140002f82
mov rax, rdi
mov edx, 0x10
nop word [rax + rax]
movzx ecx, byte [rsi + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x140002f70
jmp 0x140002f91
movdqu xmm0, xmmword [rdi]
xorps xmm0, xmmword [rbp + 0x90]
movdqu xmmword [rdi], xmm0
add rdi, 0x10
movups xmmword [rbp + 0x90], xmm6
sub rsi, 0x10
add r14, 0x10
sub r15, 1
jne 0x140002f30
mov rdx, qword [0x140020d80]
mov ecx, dword [0x140020d70]
movaps xmm6, xmmword [rsp + 0x1b0]
mov r15, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1c8]
mov rsi, qword [rsp + 0x208]
call fcn.140003190
mov rdx, qword [rsp + 0x70]
mov rcx, 0xffffffffffffffff
call fcn.1400031b3
test eax, eax
js 0x1400030d7
mov rdx, qword [0x140020d50]
mov ecx, dword [0x140020d40]
mov qword [rsp + 0x70], rbx
call fcn.140003190
mov rax, qword [rbp - 0x80]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x50], rbx
mov r9, r12
mov qword [rsp + 0x48], rbx
xor r8d, r8d
mov qword [rsp + 0x40], rbx
mov edx, 0x1fffff
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.1400031b3
test eax, eax
js 0x14000307c
mov rax, qword [rbp - 0x80]
mov qword [r13], rax
mov rdx, qword [0x140020d68]
mov ecx, dword [0x140020d58]
call fcn.140003190
mov rcx, qword [rbp - 0x78]
xor r8d, r8d
xor edx, edx
call fcn.1400031b3
test eax, eax
mov eax, 1
cmovns ebx, eax
cmp qword [rsp + 0x70], 0
je 0x1400030ab
mov rdx, qword [0x140020d80]
mov ecx, dword [0x140020d70]
call fcn.140003190
mov rdx, qword [rsp + 0x70]
mov rcx, 0xffffffffffffffff
call fcn.1400031b3
test eax, eax
js 0x1400030d7
cmp qword [rsp + 0x78], 0
je 0x1400030d3
mov rdx, qword [0x140020d98]
mov ecx, dword [0x140020d88]
call fcn.140003190
mov rcx, qword [rsp + 0x78]
call fcn.1400031b3
test eax, eax
js 0x1400030d7
mov eax, ebx
jmp 0x1400030d9
xor eax, eax
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400031f0
add rsp, 0x1d0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret