Function at 0x14004c13c
Capabilities:
Accept command line arguments
Get common file path
Get file size

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x7d0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x7c0], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
lea rax, vtable.CICELogger.0
mov qword [rcx], rax
xor r12d, r12d
mov dword [rcx + 8], r12d
lea r15d, [r12 + 1]
mov dword [rcx + 0xc], r15d
mov dword [rcx + 0x10], r12d
lea eax, [r12 + 0xf]
mov qword [rcx + 0xfab8], rax
mov qword [rcx + 0xfab0], r12
mov byte [rcx + 0xfaa0], r12b
mov qword [rcx + 0xfae0], rax
mov qword [rcx + 0xfad8], r12
mov byte [rcx + 0xfac8], r12b
mov dword [rcx + 0xfb90], r8d
mov qword [rcx + 0xfb98], r12
add rcx, 0xfb68
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov r14d, 0x103
lea r13d, [r14 + 1]
cmp rsi, r12
jne 0x14004c285
mov byte [rsp + 0x160], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x161]
call fcn.1400988d0
mov byte [rsp + 0x270], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x271]
call fcn.1400988d0
mov r8d, r13d
lea rdx, [rsp + 0x270]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp eax, r12d
je 0x14004c29f
mov r8d, r13d
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x270]
call fcn.14000bcd0
cmp eax, r12d
je 0x14004c29f
lea rcx, [rsp + 0x160]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x160]
lea rcx, [rdi + 0xfa98]
call fcn.14000352c
jmp 0x14004c29f
mov rcx, rsi
call fcn.1400980d0
mov r8, rax
mov rdx, rsi
lea rcx, [rdi + 0xfa98]
call fcn.14000352c
lea rcx, [rdi + 0xfa98]
call fcn.14004bc20
mov edx, 0x80
lea rcx, [rdi + 0xfa14]
call fcn.14001e058
lea rcx, [rdi + 0xfa14]
call fcn.1400980d0
mov r8, rax
lea rdx, [rdi + 0xfa14]
lea rcx, [rdi + 0xfac0]
call fcn.14000352c
mov dword [rdi + 0x10], r15d
mov dword [0x14011fe9c], r15d
mov byte [rsp + 0x50], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x51]
call fcn.1400988d0
mov r8d, r13d
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [rsp + 0x5a0], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x5a1]
call fcn.1400988d0
mov r8d, r13d
lea rdx, [rsp + 0x5a0]
lea rcx, [rsp + 0x50]
call fcn.14000bcd0
mov byte [rsp + 0x380], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x381]
call fcn.1400988d0
mov edx, r13d
lea rcx, [rsp + 0x380]
call fcn.14005b9f4
mov ebp, r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, r15d
mov edx, 0x80000000
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, r12
je 0x14004c3a6
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
lea rcx, [rsp + 0x50]
call fcn.14005500c
mov rbx, rax
mov byte [rsp + 0x490], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x491]
call fcn.1400988d0
movzx r10d, bx
mov rcx, rbx
sar rcx, 0x10
movzx r9d, cx
mov rcx, rbx
sar rcx, 0x20
movzx edx, cx
sar rbx, 0x30
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], edx
mov r9d, ebx
lea r8, str._d._d._d._d
mov rdx, r13
lea rcx, [rsp + 0x490]
call fcn.14009841c
mov byte [rsp + 0x6b0], r12b
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x6b1]
call fcn.1400988d0
lea rdx, [rsp + 0x6b0]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea r9, [rsp + 0x5a0]
lea r8, str.____Starting:__s
mov edx, r15d
mov rcx, rdi
call fcn.140001000
lea r9, [rsp + 0x380]
lea r8, str.________From:__s
mov edx, r15d
mov rcx, rdi
call fcn.140001000
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov r9, rax
lea r8, str.Command_Line:__s
mov edx, r15d
mov rcx, rdi
call fcn.140001000
mov r9d, ebp
lea r8, str.___File_Size:__d
mov edx, r15d
mov rcx, rdi
call fcn.140001000
lea r9, [rsp + 0x490]
lea r8, str._____Version:__s
mov edx, r15d
mov rcx, rdi
call fcn.140001000
lea r9, [rsp + 0x6b0]
lea r8, str._Working_Dir:__s
mov edx, r15d
mov rcx, rdi
call fcn.140001000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, rdi
mov rcx, qword [rsp + 0x7c0]
xor rcx, rsp
call fcn.140061100
mov rbx, qword [rsp + 0x820]
add rsp, 0x7d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret