Function at 0x180006010
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
movdqa xmm0, xmmword [0x18027ab80]
xor r12b, r12b
xor r14d, r14d
mov r13d, edx
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp + 0x180], r14
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rbp + rax - 0x57]
mov rax, rsi
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x286a265
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x57], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0xe
jb 0x180006062
mov byte [rbp - 0x49], r12b
call fcn.180001880
mov ecx, dword [0x1802848b4]
mov rdi, rax
mov rax, qword gs:[0x58]
mov edx, 4
mov rbx, qword [rax + rcx*8]
add rbx, rdx
mov eax, dword [rbx]
cmp dword [0x180286968], eax
jle 0x18000611f
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18000611f
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 0x180006158
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180006158
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x57]
mov rcx, rax
call r8
mov r15, rax
test rax, rax
je 0x180006944
xor eax, eax
mov dword [rsp + 0x4b], 0x20de1c4d
mov byte [rsp + 0x59], al
mov dword [rsp + 0x4f], 0x108fa6ef
mov dword [rsp + 0x53], 0xbedc29e9
mov word [rsp + 0x57], 0xd205
mov qword [rbp + 0x180], r14
mov rax, qword [rbp + 0x180]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rsp + rax + 0x4c]
mov rax, rsi
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x48b5d4f
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x4c], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0xd
jb 0x1800061c0
mov byte [rsp + 0x59], r12b
call fcn.180001880
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x180286968], eax
jle 0x180006263
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180006263
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 0x18000629c
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18000629c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x4c]
mov rcx, rax
call r8
mov r14, rax
test rax, rax
je 0x180006944
movdqa xmm0, xmmword [0x18027b340]
movdqu xmmword [rbp - 0x73], xmm0
mov word [rbp - 0x63], 0xae
mov qword [rbp + 0x180], 0
mov rax, qword [rbp + 0x180]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rbp + rax - 0x72]
mov rax, rsi
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x5ee5bdbd
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x72], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0x10
jb 0x1800062f0
mov byte [rbp - 0x62], r12b
call fcn.180001970
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x180286968], eax
jle 0x180006392
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180006392
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 0x1800063cb
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x1800063cb
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x72]
mov rcx, rax
call r8
mov rsi, rax
test rax, rax
je 0x180006944
movdqa xmm0, xmmword [0x18027b2d0]
xor eax, eax
mov byte [rbp - 0x74], al
movabs r9, 0xaaaaaaaaaaaaaaab
movdqu xmmword [rsp + 0x78], xmm0
mov dword [rbp - 0x78], 0xe956069e
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
nop word [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rsp + rax + 0x79]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x1e6efbca
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x79], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 0x13
jb 0x180006430
mov byte [rbp - 0x74], r12b
call fcn.1800015c0
mov rdi, rax
mov eax, dword [rbx]
cmp dword [0x180286968], eax
jle 0x1800064d2
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x1800064d2
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 0x18000650b
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18000650b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x79]
mov rcx, rax
call r8
mov rbx, rax
test rax, rax
je 0x180006944
mov qword [rsp + 0x68], 0x43
xor r8d, r8d
mov qword [rbp + 0x180], 0x3d
xor edx, edx
mov rcx, qword [rbp + 0x180]
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r8
mov qword [rbp + 0x180], 2
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x68]
add rcx, rax
mov qword [rbp + 0x180], rcx
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x60]
div rcx
mov dword [rbp + 0x198], 0x7305d989
mov r9, rax
xor eax, eax
mov byte [rbp + 0x19c], al
mov qword [rbp + 0x180], r8
mov rax, qword [rbp + 0x180]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rbp + rax + 0x199]
mov rax, rdi
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x417bc88d
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x199], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 3
jb 0x1800065d0
mov dword [rsp + 0x28], r9d
lea rax, [rbp - 0x40]
mov r9d, 0xffffffff
mov byte [rbp + 0x19c], r12b
lea r8, [rbp + 0x199]
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r9 + 2]
call rbx
test eax, eax
je 0x180006944
mov qword [rsp + 0x60], 0x1f
xor edx, edx
mov qword [rbp + 0x180], 0x61
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x60]
add rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], 1
mov qword [rbp + 0x180], 1
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x60]
add rcx, rax
mov qword [rbp + 0x180], rcx
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x68]
div rcx
mov dword [rsp + 0x40], 0x8bbece2b
mov r9, rax
mov dword [rsp + 0x44], 0xc135d615
xor eax, eax
mov word [rsp + 0x48], 0x9fa4
mov byte [rsp + 0x4a], al
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
nop word [rax + rax]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
movzx r8d, byte [rsp + rax + 0x41]
mov rax, rdi
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x180]
shl dl, 3
sub cl, dl
mov edx, 0x2c04eba2
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x41], dl
mov rax, qword [rbp + 0x180]
inc rax
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
cmp rax, 9
jb 0x180006700
mov dword [rsp + 0x28], r9d
lea rax, [rbp + 0x40]
mov r9d, 0xffffffff
mov byte [rsp + 0x4a], r12b
lea r8, [rsp + 0x41]
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r9 + 2]
call rbx
test eax, eax
je 0x180006944
mov qword [rbp + 0x198], 0x29
lea r8, [rbp + 0x191]
mov qword [rbp + 0x180], 0x57
xor edi, edi
mov rcx, qword [rbp + 0x180]
xor edx, edx
mov rax, qword [rbp + 0x198]
add rcx, rax
mov qword [rsp + 0x60], rcx
lea r9d, [rdi - 1]
mov qword [rbp + 0x198], 2
mov qword [rbp + 0x180], rdi
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x198]
add rcx, rax
mov qword [rbp + 0x180], rcx
mov rcx, qword [rbp + 0x180]
mov rax, qword [rsp + 0x60]
div rcx
mov word [rbp + 0x190], 0x34
lea edx, [rdi + 1]
mov rcx, rax
mov qword [rbp + 0x180], rdi
mov rax, qword [rbp + 0x180]
mov dword [rsp + 0x28], ecx
xor ecx, ecx
mov byte [rbp + 0x191], al
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
je 0x180006944
lea rax, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
lea r9, [0x18027a500]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8d, [rdi + 0x17]
lea rcx, [0x18027a860]
call rsi
test eax, eax
js 0x18000693e
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x18000693e
mov qword [rbp + 0x190], rdi
lea rdx, [rbp + 0x190]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
js 0x180006933
cmp qword [rbp + 0x190], rdi
je 0x180006933
lea rcx, [rbp - 0x40]
call r15
lea rcx, [rbp + 0x40]
mov rbx, rax
call r15
lea rcx, [rbp + 0xc0]
mov rdi, rax
call r15
mov rcx, qword [rbp + 0x190]
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x38], rdx
mov rsi, rax
mov edx, 0xffffffff
mov qword [rbp - 0x60], 0
mov qword [rsp + 0x30], rsi
mov r9d, r13d
mov rax, qword [rcx]
mov r8, rbx
mov word [rsp + 0x28], dx
mov edx, r13d
mov qword [rsp + 0x20], rdi
call qword [rax + 0x58]
test eax, eax
js 0x180006914
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x180006914
mov rax, qword [rcx]
mov r12b, 1
call qword [rax + 0x10]
mov rcx, rbx
call r14
mov rcx, rdi
call r14
mov rcx, rsi
call r14
mov rcx, qword [rbp + 0x190]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
movzx eax, r12b
jmp 0x180006946
xor al, al
mov rbx, qword [rsp + 0x288]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret