Function at 0x1800135f8
Capabilities:
Encode data using xor
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
cmp edx, 1
jne 0x1800138cd
call qword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [rbp - 0x2d], 0x4b
mov eax, dword [rbp - 0x2d]
xor al, 0x43
mov byte [rbp - 0x29], al
mov eax, dword [rbp - 0x2d]
inc al
xor al, 0x3a
mov byte [rbp - 0x28], al
mov eax, dword [rbp - 0x2d]
add al, 2
xor al, 0x5c
mov byte [rbp - 0x27], al
mov eax, dword [rbp - 0x2d]
add al, 3
xor al, 0x63
mov byte [rbp - 0x26], al
mov eax, dword [rbp - 0x2d]
add al, 4
xor al, 0x73
mov byte [rbp - 0x25], al
xor eax, eax
mov byte [rbp - 0x24], al
mov al, byte [rbp - 0x29]
xor esi, esi
mov edx, esi
mov al, byte [rbp + rdx - 0x29]
mov ecx, dword [rbp - 0x2d]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x29], cl
inc rdx
cmp rdx, 5
jb 0x180013664
mov byte [rbp - 0x24], sil
mov qword [rbp - 0x11], rsi
mov qword [rbp - 1], rsi
mov r15d, 0xf
mov qword [rbp + 7], r15
mov byte [rbp - 0x11], sil
lea rax, [rbp - 0x29]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], sil
jne 0x1800136a1
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x11]
call fcn.1800047ec
nop
lea rcx, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rcx, qword [rbp - 0x11]
call qword [0x180024348]
cmp eax, 0xffffffff
je 0x1800136d8
test al, 0x10
mov dil, 1
jne 0x1800136db
mov dil, sil
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x180013719
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013714
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180013714
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800163b4
mov qword [rbp - 1], rsi
mov qword [rbp + 7], r15
mov byte [rbp - 0x11], sil
test dil, dil
je 0x1800138cd
mov dword [0x1800242e0], 1
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov qword [rbp + 0xf], rsi
mov dword [rbp - 0x19], 0x5a
mov byte [rbp - 0x15], 0x2d
xor eax, eax
mov byte [rbp - 0x14], al
mov al, byte [rbp - 0x15]
mov al, byte [rbp - 0x15]
mov ecx, dword [rbp - 0x19]
xor cl, al
mov byte [rbp - 0x15], cl
mov byte [rbp - 0x14], sil
mov dword [rbp - 0x39], 0x78
mov eax, dword [rbp - 0x39]
xor al, 0x43
mov byte [rbp - 0x35], al
mov eax, dword [rbp - 0x39]
inc al
xor al, 0x4f
mov byte [rbp - 0x34], al
mov eax, dword [rbp - 0x39]
add al, 2
xor al, 0x4e
mov byte [rbp - 0x33], al
mov eax, dword [rbp - 0x39]
add al, 3
xor al, 0x4f
mov byte [rbp - 0x32], al
mov eax, dword [rbp - 0x39]
add al, 4
xor al, 0x55
mov byte [rbp - 0x31], al
mov eax, dword [rbp - 0x39]
add al, 5
xor al, 0x54
mov byte [rbp - 0x30], al
mov eax, dword [rbp - 0x39]
add al, 6
xor al, 0x24
mov byte [rbp - 0x2f], al
xor eax, eax
mov byte [rbp - 0x2e], al
mov al, byte [rbp - 0x35]
mov rdx, rsi
mov al, byte [rbp + rdx - 0x35]
mov ecx, dword [rbp - 0x39]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x35], cl
inc rdx
cmp rdx, 7
jb 0x1800137ba
mov byte [rbp - 0x2e], sil
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [rbp - 0x15]
lea rdx, [rbp - 0x35]
lea rcx, [rbp + 0xf]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
mov byte [rbp + 0x6f], 0x77
mov byte [rbp + 0x70], sil
mov al, byte [rbp + 0x6f]
mov al, byte [rbp + 0x6f]
sub al, 5
mov byte [rbp + 0x6f], al
mov byte [rbp - 0x21], 0x45
mov byte [rbp - 0x20], 0x51
mov byte [rbp - 0x1f], 0x50
mov byte [rbp - 0x1e], 0x4b
mov byte [rbp - 0x1d], 0x50
mov byte [rbp - 0x1c], 0x26
mov byte [rbp - 0x1b], sil
mov al, byte [rbp - 0x21]
mov rcx, rsi
mov al, byte [rbp + rcx - 0x21]
sub al, 2
mov byte [rbp + rcx - 0x21], al
inc rcx
cmp rcx, 6
jb 0x18001382b
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [rbp + 0x6f]
lea rdx, [rbp - 0x21]
lea rcx, [rbp + 0xf]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
mov byte [rbp + 0x7f], 0x4f
mov byte [rbp + 0x80], 0x50
mov byte [rbp + 0x81], 0x4d
mov byte [rbp + 0x82], 0x60
mov byte [rbp + 0x83], 0x52
mov byte [rbp + 0x84], sil
mov al, byte [rbp + 0x7f]
mov rcx, rsi
mov al, byte [rbp + rcx + 0x7f]
sub al, 0xb
mov byte [rbp + rcx + 0x7f], al
inc rcx
cmp rcx, 5
jb 0x180013888
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], r15
lea rax, [rbp + 0x7f]
inc rbx
cmp byte [rax + rbx], sil
jne 0x1800138ab
mov r8, rbx
lea rdx, [rbp + 0x7f]
lea rcx, [rbp + 0x17]
call fcn.1800047ec
lea rcx, [rbp + 0x17]
call fcn.18000e5a4
mov eax, 1
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret