Function at 0x14000abf8
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x870
mov rax, qword [0x14001cf10]
xor rax, rsp
mov qword [rsp + 0x860], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.ole32.dll_CoInitialize]
lea rbx, [0x14001c180]
cmp rbx, 0xffffffffffffffff
je 0x14000ac5a
cmp qword [0x14001c180], 0
mov qword [0x14001dc18], rbx
je 0x14000ac5a
mov cl, 1
call qword [rbx + 0x40]
lea rbx, [rbx + 0x48]
cmp qword [rbx], 0
jne 0x14000ac4b
mov rbx, qword [0x14001e5e0]
mov rax, qword [0x14001e5e8]
jmp 0x14000ac82
mov rdx, qword [rbx]
test rdx, rdx
je 0x14000ac7e
mov cl, 1
call qword [rdx + 0x38]
mov rax, qword [0x14001e5e8]
add rbx, 8
cmp rbx, rax
jb 0x14000ac6a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
mov dword [0x14001dc20], eax
mov eax, dword [0x140013844]
mov dword [rsp + 0x50], eax
movzx eax, word [0x140013848]
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000ace8
lea rdx, [rsp + 0x60]
mov r8d, Ordinal_1027
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14000ace8
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x14000ace8
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor esi, esi
mov rcx, rdi
jmp 0x14000ad22
lea rdx, str.UnregServer
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14000ae02
lea rdx, str.RegServer
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14000adb4
mov rcx, rbx
lea rdx, [rsp + 0x50]
call fcn.1400079fc
mov rbx, rax
test rax, rax
jne 0x14000acef
call sub.acdb20.dll_class_AcDbHostApplicationServices____ptr64___cdecl_acdbHostApplicationServices_void_
lea rcx, [0x14001cfd0]
call sub.acdb20.dll_enum_Acad::ErrorStatus___cdecl_acdbSetHostApplicationServices_class_AcDbHostApplicationServices____ptr64_
mov cl, 1
call fcn.140007d78
mov ecx, eax
call sub.acdb20.dll_acdbValidateSetup
lea rbx, [0x14001dbd0]
mov rcx, rbx
call fcn.14000a09c
mov rdi, qword [0x14001dc18]
xor eax, eax
test rdi, rdi
je 0x14000ad9c
cmp qword [rdi], rax
je 0x14000ad9c
test eax, eax
jne 0x14000ae46
lea edx, [rax + 4]
xor r8d, r8d
mov rcx, rdi
call fcn.1400092e8
add rdi, 0x48
cmp qword [rdi], rsi
jne 0x14000ad75
test eax, eax
jne 0x14000ae46
xor r8d, r8d
lea rcx, [0x14001e5d0]
lea edx, [r8 + 4]
call fcn.1400064a0
jmp 0x14000ae46
xor r9d, r9d
lea rbx, [0x14001dbd0]
mov edx, 0x5cbe
lea r8d, [r9 + 1]
mov rcx, rbx
mov byte [0x14001cf68], 1
call fcn.14000a2a0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 1]
call fcn.1400095f4
mov esi, eax
call fcn.140009370
call fcn.140009378
call fcn.140008da0
mov byte [0x14001cf68], 0
jmp 0x14000ae82
lea rbx, [0x14001dbd0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x5cbe
mov rcx, rbx
mov byte [0x14001cf68], 1
call fcn.14000a2a0
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 1]
call fcn.14000a1e0
mov esi, eax
call fcn.14000a1d8
jmp 0x14000adf6
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x14000ae3b
mov rcx, rbx
call fcn.140009ef8
lea rcx, [0x14001cfd0]
call fcn.140004de4
call fcn.14000ccde
lea rcx, [0x14001cfd0]
call fcn.140004728
mov rcx, rbx
call fcn.14000a0f8
call qword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
mov rcx, qword [rsp + 0x860]
xor rcx, rsp
call fcn.14000d430
lea r11, [rsp + 0x870]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret