Function at 0x1800116e0
Capabilities:
Accept command line arguments
Allocate or change rwx memory

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1800ec278]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
xor r15d, r15d
mov dword [rbp - 0x78], r15d
cmp word [0x1800f33a6], 0x26
setae al
test al, al
jne 0x180011a71
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x40]
call fcn.180079d60
lea rdi, [0x180000000]
lea rax, [rdi + 0xbace8]
mov qword [rbp - 0x40], rax
lea rax, [rdi + 0xbad98]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x60], rax
lea r12, [0x1800bad78]
mov qword [rbp + 0x58], r12
lea r13, [0x1800bacc0]
mov qword [rbp + 0x58], r13
mov dword [rbp - 0x78], 1
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800bac20]
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x44], edx
mov qword [rbp - 0x38], r15
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x40]
add rcx, rax
lea rdx, [rbp - 0x28]
call fcn.1800163c0
nop
lea rax, [rbp - 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800bac38]
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x34], edx
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800bacf8]
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx - 0x44], edx
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800bad80]
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x44], edx
lea rax, [rbp - 0x28]
mov qword [rsp + 0x60], rax
lea rcx, [rbp - 0x28]
call fcn.180016460
nop
lea rax, [0x1800bad00]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x40], r15
mov dword [rbp + 0x48], r15d
mov r9b, 0xd1
lea r8d, [r15 + 0x1a]
lea rdx, [0x1800ba850]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
mov r15, rax
mov r9b, 0x79
mov r8d, 1
lea rdx, [0x1800ba7fc]
lea rcx, [rsp + 0x20]
call fcn.180041ef0
mov r14, rax
mov r9b, 0x42
mov r8d, 1
lea rdx, [0x1800ba800]
lea rcx, [rsp + 0x68]
call fcn.180041ef0
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180018200
mov rcx, rax
mov edx, ebx
call fcn.180013a30
mov rcx, rax
mov rdx, r14
call fcn.180018200
mov rcx, rax
mov rdx, r15
call fcn.180018200
mov rcx, rax
lea rdx, str._Last_Error:
call fcn.180018470
mov rcx, rax
mov edx, esi
call fcn.180013a30
nop
cmp qword [rbp - 0x80], 8
jb 0x180011924
mov rcx, qword [rsp + 0x68]
call fcn.18007588c
mov qword [rbp - 0x80], 7
xor esi, esi
mov qword [rsp + 0x78], rsi
mov word [rsp + 0x68], si
cmp qword [rsp + 0x38], 8
jb 0x18001194a
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x20], si
cmp qword [rsp + 0x58], 8
jb 0x18001196f
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x40], si
mov r9b, 0x3d
mov r8d, 6
lea rdx, str.6df
lea rcx, [rsp + 0x68]
call fcn.180041e20
mov rdi, rax
mov r9b, 0xb8
mov r8d, 5
lea rdx, [0x1800ba804]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.1800146d0
nop
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.18003e1d0
nop
cmp qword [rsp + 0x58], 8
jb 0x1800119ec
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x40], si
cmp qword [rsp + 0x38], 0x10
jb 0x180011a11
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], rsi
mov byte [rsp + 0x20], 0
cmp qword [rbp - 0x80], 0x10
jb 0x180011a35
mov rcx, qword [rsp + 0x68]
call fcn.18007588c
mov qword [rbp - 0x80], 0xf
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x68], 0
lea rcx, [rbp + 0x58]
call fcn.180014600
lea rax, [rbp + 0x58]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x58], r12
lea rcx, [rbp + 0x58]
call fcn.1800749f4
mov al, 1
jmp 0x180012334
lea rcx, [0x1800f3418]
call fcn.18006f500
lea rcx, [0x1800f33e0]
call fcn.18006f500
mov r9b, 0x28
mov r8d, 0xf
lea rdx, [0x1800ba888]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0x8b
mov r8d, 0xc
lea rdx, [0x1800ba898]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011acb
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011ad5
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f33a8], rax
cmp qword [rsp + 0x58], 8
jb 0x180011b01
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011b27
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x18001af30]
lea rcx, [0x1800f33a8]
call fcn.180039f70
mov r9b, 0x69
mov r8d, 9
lea rdx, str._L_Q4rew
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0xe2
mov r8d, 0xc
lea rdx, [0x1800ba8c8]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011b8f
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011b99
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f3380], rax
cmp qword [rsp + 0x58], 8
jb 0x180011bc5
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011beb
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x18001dc00]
lea rcx, [0x1800f3380]
call fcn.180039f70
mov r9b, 0x44
mov r8d, 8
lea rdx, [0x1800ba8e8]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0xd9
mov r8d, 0xc
lea rdx, [0x1800ba8f8]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011c53
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011c5d
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f33b8], rax
cmp qword [rsp + 0x58], 8
jb 0x180011c89
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011caf
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x18002d290]
lea rcx, [0x1800f33b8]
call fcn.180039f70
mov r9b, 0x5d
mov r8d, 0x16
lea rdx, [0x1800ba918]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0x24
mov r8d, 0xc
lea rdx, str.OX6S__f_
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011d17
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011d21
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f3390], rax
cmp qword [rsp + 0x58], 8
jb 0x180011d4d
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011d73
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x18002d990]
lea rcx, [0x1800f3390]
call fcn.180039f70
mov r9b, 0x16
mov r8d, 0x13
lea rdx, [0x1800ba950]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0x10
mov r8d, 0xc
lea rdx, [0x1800ba968]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011ddb
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011de5
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f3378], rax
cmp qword [rsp + 0x58], 8
jb 0x180011e11
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011e37
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x18002da70]
lea rcx, [0x1800f3378]
call fcn.180039f70
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], r15
mov word [rbp - 0x68], r15w
cmp word [rax], 0
jne 0x180011e87
mov r8, r15
jmp 0x180011e9b
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180011e90
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.180016510
nop
lea rdx, [0x1800f3660]
cmp qword [0x1800f3678], 8
cmovae rdx, qword [0x1800f3660]
mov r9, qword [0x1800f3670]
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.180014f50
cmp rax, 0xffffffffffffffff
je 0x180011fa0
mov r9b, 0x6e
mov r8d, 0x10
lea rdx, str._Y_o
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0xd5
mov r8d, 0xc
lea rdx, [0x1800ba9a0]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180011f1e
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x180011f28
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f3368], rax
cmp qword [rsp + 0x58], 8
jb 0x180011f54
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180011f7a
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
lea rdx, [0x180010920]
lea rcx, [0x1800f3368]
call fcn.180039f70
lea rdi, [0x18006adad]
lea r12, [0x18006ad10]
sub rdi, r12
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov qword [0x1800f3360], rax
test rax, rax
je 0x180012101
mov r8, rdi
mov rdx, r12
mov rcx, rax
call fcn.1800750a0
sub rbx, r12
lea rdi, [0x180000000]
lea rsi, [rdi + 0x6ad28]
add rsi, rbx
lea r14, [rdi + 0x6ad30]
add r14, rbx
mov qword [rbx + rdi + 0x6ad18], r15
lea rax, [0x18002d6f0]
mov qword [rbx + rdi + 0x6ad20], rax
mov r9b, 0x4f
mov r8d, 0x19
lea rdx, [0x1800ba9c0]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
mov r9b, 0x60
mov r8d, 0xc
lea rdx, [0x1800ba9e0]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
nop
cmp qword [rbx + 0x18], 0x10
jb 0x180012060
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x18001206a
mov rax, qword [rax]
mov rcx, rax
call fcn.18006e0c0
mov rcx, rax
mov rdx, rbx
call fcn.18006e600
mov qword [0x1800f3370], rax
cmp qword [rsp + 0x58], 8
jb 0x180012096
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x1800120bc
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
mov rax, qword [0x1800f3370]
mov qword [rsi], rax
mov rdx, r14
mov rcx, rsi
call fcn.180039f70
mov rax, qword [0x1800f3360]
sub rax, r12
mov qword [rax + rdi + 0x6ad18], 1
mov bl, 1
jmp 0x180012310
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0xc0]
call fcn.180079d60
lea rcx, [rbp + 0xc0]
call fcn.180014530
nop
mov r9b, 0x79
mov r8d, 1
lea rdx, [0x1800ba7fc]
lea rcx, [rsp + 0x20]
call fcn.180041ef0
mov r14, rax
mov r9b, 0x42
mov r8d, 1
lea rdx, [0x1800ba800]
lea rcx, [rsp + 0x40]
call fcn.180041ef0
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
mov rdx, rdi
lea rcx, [rbp + 0xd0]
call fcn.180018200
mov rcx, rax
mov edx, ebx
call fcn.180013a30
mov rcx, rax
mov rdx, r14
call fcn.180018200
mov rcx, rax
lea rdx, str.VirtualAlloc_failed
call fcn.180018470
mov rcx, rax
lea rdx, str._Last_Error:
call fcn.180018470
mov rcx, rax
mov edx, esi
call fcn.180013a30
nop
cmp qword [rsp + 0x58], 8
jb 0x1800121cb
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 8
jb 0x1800121f1
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], r15
mov word [rsp + 0x20], r15w
mov r9b, 0x3d
mov r8d, 6
lea rdx, str.6df
lea rcx, [rsp + 0x68]
call fcn.180041e20
mov rdi, rax
mov r9b, 0xb8
mov r8d, 5
lea rdx, [0x1800ba804]
lea rcx, [rsp + 0x20]
call fcn.180041e20
mov rbx, rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xc0]
call fcn.1800146d0
nop
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.18003e1d0
nop
cmp qword [rsp + 0x58], 8
jb 0x180012272
mov rcx, qword [rsp + 0x40]
call fcn.18007588c
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], r15
mov word [rsp + 0x40], r15w
cmp qword [rsp + 0x38], 0x10
jb 0x180012298
mov rcx, qword [rsp + 0x20]
call fcn.18007588c
mov qword [rsp + 0x38], 0xf
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x20], 0
cmp qword [rbp - 0x80], 0x10
jb 0x1800122bc
mov rcx, qword [rsp + 0x68]
call fcn.18007588c
mov qword [rbp - 0x80], 0xf
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x68], 0
lea rcx, [rbp + 0x158]
call fcn.180014600
lea rax, [rbp + 0x158]
mov qword [rsp + 0x60], rax
lea r13, [0x1800bacc0]
mov qword [rbp + 0x158], r13
lea r12, [0x1800bad78]
mov qword [rbp + 0x158], r12
lea rcx, [rbp + 0x158]
call fcn.1800749f4
xor bl, bl
cmp qword [rbp - 0x50], 8
jb 0x180012320
mov rcx, qword [rbp - 0x68]
call fcn.18007588c
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], r15
mov word [rbp - 0x68], r15w
movzx eax, bl
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.180074e80
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret