Function at 0x140040db0
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x290
mov rax, qword [0x1403b9010]
xor rax, rsp
mov qword [rbp + 0x180], rax
xor r12d, r12d
mov qword [0x1403e51c0], rcx
mov ebx, r12d
mov r15d, r9d
call fcn.140212278
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
or eax, 0x8001
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
lea edi, [r12 + 1]
xor r9d, r9d
mov edx, edi
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
xor edx, edx
lea r8d, [r12 + 0x50]
lea rcx, [rsp + 0x20]
call fcn.1400612f0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [rdi + 0x21]
mov rsi, rax
lea r13d, [r12 + 0x20]
cmp word [rax], dx
jne 0x140040e6a
lea rcx, [rax + 2]
call fcn.1400603c0
mov rcx, rax
test rax, rax
je 0x140040ebd
cmp word [rax], r12w
je 0x140040eb1
add rcx, 2
jmp 0x140040eac
mov r8d, 0x104
lea rdx, [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140040e9e
mov r8d, eax
lea rcx, [rsp + 0x70]
mov rdx, rsi
mov r14d, eax
call fcn.140212fd0
test eax, eax
jne 0x140040e9e
lea rcx, [rsi + r14*2]
jmp 0x140040eac
mov edx, r13d
mov rcx, rsi
call fcn.1400603c0
mov rcx, rax
test rcx, rcx
je 0x140040ebd
cmp word [rcx], r13w
jne 0x140040ee0
add rcx, 2
jne 0x140040eb1
cmp dword [rsp + 0x3c], r12d
jne 0x140040ff0
cmp byte [rsp + 0x40], r12b
je 0x140040fdc
mov dword [rsp + 0x3c], SafeArrayGetElement
jmp 0x140040ff0
cmp word [rcx], r12w
je 0x140040ebd
lea rdx, [0x1403e51d0]
mov r9, rcx
sub r9, rdx
mov r8d, 0x400
lea rax, [r8 + 0x7ffffbfe]
test rax, rax
je 0x140040f1b
movzx eax, word [r9 + rdx]
test ax, ax
je 0x140040f1b
mov word [rdx], ax
add rdx, 2
sub r8, rdi
jne 0x140040ef9
lea rax, [rdx - 2]
test r8, r8
cmovne rax, rdx
lea rdx, [rsp + 0x20]
mov word [rax], r12w
call fcn.1400429f4
mov ecx, eax
test eax, eax
je 0x140040ebd
test eax, eax
je 0x140040ff0
sub ecx, edi
je 0x140040fce
sub ecx, edi
je 0x140040fb7
sub ecx, edi
je 0x140040fb3
sub ecx, edi
je 0x140040fa3
sub ecx, edi
je 0x140040f89
sub ecx, edi
je 0x140040f70
cmp ecx, edi
jne 0x140041069
mov ebx, 0x80004004
jmp 0x140041069
mov r8d, reloc.OLEAUT32.dll_VarDecRound
mov edx, edi
xor ecx, ecx
call fcn.140048ff8
mov ebx, 0x80070057
jmp 0x140041069
lea rcx, [rsp + 0x20]
call fcn.140039f88
cmp byte [rsp + 0x28], r12b
mov ebx, eax
sete dil
jmp 0x140041041
xor edx, edx
xor ecx, ecx
call fcn.1400493c4
mov ebx, eax
jmp 0x140041041
xor ecx, ecx
jmp 0x140040fba
mov cl, dil
call fcn.140049110
mov rcx, qword [rsp + 0x20]
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140041041
lea rcx, [rsp + 0x20]
call fcn.1400397cc
mov ebx, eax
jmp 0x14004103e
or eax, 0xffffffff
mov ecx, 0x384
cmp dword [rsp + 0x44], 3
cmove eax, ecx
mov dword [rsp + 0x3c], eax
mov edx, r15d
lea rcx, [rsp + 0x20]
call fcn.1400441f4
mov rcx, qword [rsp + 0x20]
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140041030
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [rsp + 0x38], r12b
jne 0x14004103e
cmp byte [rsp + 0x40], r12b
je 0x140041041
mov dil, r12b
test ebx, ebx
jns 0x140041069
test dil, dil
je 0x140041069
cmp ebx, 0x80004004
je 0x140041069
cmp ebx, 0x800704c7
je 0x140041069
mov r9d, ebx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140049ec4
mov eax, ebx
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14005f5e0
lea r11, [rsp + 0x290]
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