Function at 0x18000dc50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x180043ac8]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov ecx, 0x18
call fcn.18000ef08
xor ebx, ebx
test rax, rax
je 0x18000dc93
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
jmp 0x18000dc96
mov rax, rbx
xor ecx, ecx
mov qword [0x180044948], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 0x18
lea r8, [rbp - 0x19]
mov rcx, rax
mov rdx, rdi
call sub.KERNEL32.dll_K32GetModuleInformation
mov rdx, qword [rbp - 0x19]
mov rcx, rbx
mov r8d, dword [rbp - 0x11]
movdqa xmm0, xmmword [0x180031b70]
mov qword [0x180044c38], rdx
mov qword [0x180044c40], r8
movdqu xmmword [rbp - 1], xmm0
mov dword [rbp + 0xf], 0xac97ad84
mov dword [rbp + 0x13], 0xe9f2a2bc
mov dword [rbp + 0x17], 0x95e9b3fa
mov word [rbp + 0x1b], 0x100
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx - 1], al
inc rcx
cmp rcx, 0x1c
jb 0x18000dd10
lea rcx, [rbp - 1]
mov byte [rbp + 0x1c], 0
call fcn.18000e100
mov rdx, qword [0x180044c38]
add rdx, 0x1000
nop dword [rax + rax]
cmp byte [rdx], 0xff
lea rax, [rdx + 1]
jne 0x18000dd4e
cmp byte [rax], 0x23
je 0x18000dd53
mov rdx, rax
jmp 0x18000dd40
movdqa xmm0, xmmword [0x180031d20]
mov rcx, rbx
movdqu xmmword [rbp - 1], xmm0
mov qword [0x180044bd8], rdx
mov dword [rbp + 0xf], 0xbdf4e3f8
mov dword [rbp + 0x13], 0x100b7e3
nop dword [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx - 1], al
inc rcx
cmp rcx, 0x16
jb 0x18000dd80
lea rcx, [rbp - 1]
mov byte [rbp + 0x16], 0
call fcn.18000e100
movdqa xmm0, xmmword [0x180031ef0]
mov rcx, rbx
movdqa xmm1, xmmword [0x180031e90]
movdqu xmmword [rbp - 1], xmm0
mov dword [rbp + 0x1f], 0xe5f491ea
movdqu xmmword [rbp + 0xf], xmm1
mov dword [rbp + 0x23], 0xe89cf7e2
mov word [rbp + 0x27], 0x100
nop
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx - 1], al
inc rcx
cmp rcx, 0x28
jb 0x18000ddd0
lea rcx, [rbp - 1]
mov byte [rbp + 0x28], 0
call fcn.1800048f0
mov edx, dword [rax + 3]
add rdx, 7
add rdx, rax
jne 0x18000ddfe
mov rax, rbx
jmp 0x18000de0d
movsxd rax, dword [rdx + 0xa]
add rdx, 7
add rax, 7
add rax, rdx
mov qword [0x180044ca8], rax
test rax, rax
jne 0x18000de8b
movdqa xmm0, xmmword [0x180031be0]
movdqu xmmword [rbp - 1], xmm0
mov dword [rbp + 0xf], 0xa0beaaae
mov dword [rbp + 0x13], 0xab8780e6
mov dword [rbp + 0x17], 0xb9afaea0
mov dword [rbp + 0x1b], 0x100eebd
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx - 0x4e]
xor byte [rbp + rbx - 1], al
inc rbx
cmp rbx, 0x1e
jb 0x18000de50
lea rcx, [rbp - 1]
mov byte [rbp + 0x1e], 0
call fcn.18000e100
xor r9d, r9d
lea r8, [0x180031500]
lea rdx, str.Woah
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x18000e0dd
mov dword [rbp + 0x2f], 0xdfd6fcf5
mov rcx, rbx
mov dword [rbp + 0x33], 0xcaccd4d3
mov dword [rbp + 0x37], 0xf7f49a
mov byte [rbp + 0x3b], 1
nop word [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx + 0x2f], al
inc rcx
cmp rcx, 0xb
jb 0x18000deb0
lea rcx, [rbp + 0x2f]
mov byte [rbp + 0x3b], 0
call fcn.18000e100
movdqa xmm0, xmmword [0x180031ef0]
mov rcx, rbx
movdqu xmmword [rbp - 1], xmm0
mov dword [rbp + 0xf], 0xe580f7e2
mov dword [rbp + 0x13], 0x8ae885fe
mov word [rbp + 0x17], pe_nt_image_headers64
mov byte [rbp + 0x19], 1
nop word [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx - 1], al
inc rcx
cmp rcx, 0x19
jb 0x18000df00
lea rcx, [rbp - 1]
mov byte [rbp + 0x19], 0
call fcn.1800048f0
mov ecx, dword [rax + 3]
add rax, 7
add rax, rcx
jne 0x18000df8b
movdqa xmm0, xmmword [0x180031d00]
movdqu xmmword [rbp - 1], xmm0
mov dword [rbp + 0xf], 0xe5a0ac
mov byte [rbp + 0x13], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx - 0x4e]
xor byte [rbp + rbx - 1], al
inc rbx
cmp rbx, 0x13
jb 0x18000df50
lea rcx, [rbp - 1]
mov byte [rbp + 0x13], 0
call fcn.18000e100
xor r9d, r9d
lea r8, [0x180031500]
lea rdx, str.Woah1
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x18000e0dd
movdqa xmm0, xmmword [0x180031c40]
mov rdx, rbx
movdqu xmmword [rbp - 1], xmm0
mov word [rbp + 0xf], 0xe3
mov byte [rbp + 0x11], 1
nop word [rax + rax]
lea eax, [rdx - 0x4e]
xor byte [rbp + rdx - 1], al
inc rdx
cmp rdx, 0x11
jb 0x18000dfb0
lea rcx, [rbp - 1]
mov byte [rbp + 0x11], 0
call fcn.18000e100
mov ecx, 0x18
call fcn.18000ef08
test rax, rax
je 0x18000dfe9
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
jmp 0x18000dfec
mov rax, rbx
mov qword [0x180044b80], rax
mov rcx, rbx
mov dword [rbp + 0x2f], 0xd0c6dde7
mov dword [rbp + 0x33], 0xd0efdbd7
mov dword [rbp + 0x37], 0xcad3dfd4
mov word [rbp + 0x3b], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x4e]
xor byte [rbp + rcx + 0x2f], al
inc rcx
cmp rcx, 0xc
jb 0x18000e020
xor edx, edx
mov byte [rbp + 0x3c], 0
lea rcx, [rbp + 0x2f]
call qword [sym.imp.USER32.dll_FindWindowA]
movdqa xmm0, xmmword [0x180031d60]
mov rdx, rax
movdqu xmmword [rbp + 0x2f], xmm0
mov qword [0x180044b90], rax
mov dword [rbp + 0x3f], 0x1009be7
nop
lea eax, [rbx - 0x4e]
xor byte [rbp + rbx + 0x2f], al
inc rbx
cmp rbx, 0x12
jb 0x18000e060
lea rcx, [rbp + 0x2f]
mov byte [rbp + 0x42], 0
call fcn.18000e100
mov rcx, qword [0x180044b90]
lea rdx, [rbp - 1]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x18000e0aa
mov eax, dword [rbp + 7]
sub eax, dword [rbp - 1]
mov dword [0x180044c30], eax
mov eax, dword [rbp + 0xb]
sub eax, dword [rbp + 3]
mov dword [0x180044c34], eax
mov rax, qword [sym.imp.USER32.dll_CallWindowProcW]
lea r8, [0x180005760]
mov rcx, qword [0x180044b90]
mov edx, 0xfffffffc
mov qword [0x180044ae8], rax
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov qword [0x180044ae0], rax
call fcn.180005cb0
xor eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.18000f360
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret