Function at 0x180033e30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov dword [rsp + 0x20], 0xb6e14f2a
mov rdi, rdx
mov dword [rsp + 0x24], 0x5c35d535
movabs r15, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0x28], 0xaaf16a46
mov word [rsp + 0x2c], 0xa0
mov qword [rbp + 0x190], 0
mov rax, qword [rbp + 0x190]
nop
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x190]
movzx r8d, byte [rsp + rax + 0x21]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x190]
shl dl, 3
sub cl, dl
mov edx, 0x462f0b08
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x21], dl
mov rax, qword [rbp + 0x190]
inc rax
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x190]
cmp rax, 0xc
jb 0x180033e90
mov byte [rsp + 0x2d], 0
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov rsi, rax
mov edx, dword [0x1802848b4]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x180286968], ecx
jle 0x180033f4e
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180033f4e
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x180033f87
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180033f87
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x21]
mov rcx, rax
call r8
movdqa xmm0, xmmword [0x18027ae30]
mov r14, rax
movdqu xmmword [rsp + 0x2e], xmm0
mov word [rsp + 0x3e], 0x53
mov qword [rbp + 0x190], 0
mov rcx, qword [rbp + 0x190]
nop
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x190]
movzx r8d, byte [rsp + rax + 0x2f]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x190]
shl dl, 3
sub cl, dl
mov edx, 0x32894bac
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x2f], dl
mov rax, qword [rbp + 0x190]
inc rax
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x190]
cmp rax, 0x10
jb 0x180033fd0
mov byte [rsp + 0x3f], 0
call fcn.1800015c0
mov edx, dword [rbx]
mov rsi, rax
cmp dword [0x180286968], edx
jle 0x180034073
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180034073
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x1800340ac
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x1800340ac
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x2f]
mov rcx, rax
call r8
mov qword [rbp + 0x198], 0x42
mov rbx, rax
mov qword [rbp + 0x190], 0xc2
mov rdx, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x198]
add rdx, rcx
mov qword [rbp + 0x190], rdx
lea rdx, [rsp + 0x40]
mov rcx, qword [rbp + 0x190]
call r14
lea r9, [rbp + 0x50]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call rbx
lea rcx, [rbp + 0x50]
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdi], al
lea rdi, [rdi + 1]
test al, al
jne 0x180034120
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x260
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret