Function at 0x14003b23c
Capabilities:
Accept command line arguments
Get common file path
Get hostname
Get session user name

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x690]
sub rsp, 0x790
mov rax, qword [0x1400e5430]
xor rax, rsp
mov qword [rbp + 0x680], rax
mov rdi, rcx
mov rcx, rdx
mov rsi, r8
mov rbx, rdx
mov byte [rdx + 0x24], 0x20
mov dword [rdx + 0x20], 2
call fcn.14004642c
lea rdx, [rbp - 0x20]
mov r8d, 0x40
mov rcx, rdi
call fcn.14003aa5c
lea rax, [0x1400b75a0]
xor r14d, r14d
cmp qword [rdi + 0x18], r14
lea r9, str.snapshot
lea r8, str._r_n_This__s_was_automatically_generated_r_n_by_BugTrap_for_Win64_x64_on__s_r_n
cmovne r9, rax
lea rax, [rbp - 0x20]
lea rcx, [rbp + 0x480]
mov edx, 0x100
mov qword [rsp + 0x20], rax
call fcn.1400807f0
lea rdx, [rbp + 0x480]
mov rcx, rbx
call fcn.140045d20
lea rdx, str.report
mov rcx, rbx
call fcn.140046494
lea r8, [0x1400b7688]
lea rdx, str.version
mov rcx, rbx
call fcn.1400458c4
lea r8, str.Win64_x64
lea rdx, str.platform
mov rcx, rbx
call fcn.140045fd0
lea r8, [0x1400e9280]
lea rdx, str.application
mov rcx, rbx
call fcn.140045fd0
lea r8, [0x1400e9490]
lea rdx, str.version
mov rcx, rbx
call fcn.140045fd0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x30], shutdown
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x14003b363
mov word [rsp + 0x38], r14w
lea r8, [rsp + 0x38]
lea rdx, str.computer
mov rcx, rbx
call fcn.140045fd0
mov rcx, rbx
call fcn.14003a920
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x270]
mov dword [rsp + 0x30], 0x101
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
jne 0x14003b3a5
mov word [rbp + 0x270], r14w
lea r8, [rbp + 0x270]
lea rdx, str.user
mov rcx, rbx
call fcn.140045fd0
lea rdx, [rsp + 0x60]
mov r8d, 0x40
mov rcx, rdi
call fcn.14003aae4
lea r8, [rsp + 0x60]
lea rdx, str.timestamp
mov rcx, rbx
call fcn.140045fd0
mov rdx, rbx
mov rcx, rdi
call fcn.140038554
mov r8, qword [0x1400e5100]
lea rdx, str.usermsg
add r8, 0x10
mov rcx, rbx
call fcn.140045fd0
mov rdx, rbx
mov rcx, rdi
call fcn.1400388e8
mov rdx, rbx
mov rcx, rdi
call fcn.140038998
cmp qword [rdi + 0x18], r14
je 0x14003b42e
mov rdx, rbx
mov rcx, rdi
call fcn.14003870c
mov rdx, rbx
mov rcx, rdi
call fcn.140038a70
mov rdx, rbx
mov rcx, rdi
call fcn.140038bb4
mov rdx, rbx
mov rcx, rdi
call fcn.140038c5c
lea rdx, str.threads
mov rcx, rbx
call fcn.140046494
cmp qword [rdi + 0x18], r14
je 0x14003b487
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x1400b7588]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov r8d, eax
mov rdx, rbx
call fcn.140038374
test rsi, rsi
je 0x14003b49a
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.140038e4c
mov rcx, rbx
call fcn.1400460c0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rdx, str.cmdline
mov r8, rax
mov rcx, rbx
call fcn.140045fd0
lea rdx, [rbp + 0x60]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x14003b4d2
mov word [rbp + 0x60], r14w
lea r8, [rbp + 0x60]
lea rdx, str.curdir
mov rcx, rbx
call fcn.140045fd0
mov rcx, rbx
call fcn.14003a67c
test rsi, rsi
je 0x14003b500
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.1400394d8
mov rcx, rbx
call fcn.1400460c0
mov rcx, rbx
call fcn.14004606c
mov rcx, qword [rbp + 0x680]
xor rcx, rsp
call fcn.14007e1c0
add rsp, 0x790
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret