Function at 0x140001000
Capabilities:
Accept command line arguments

Disassembly:
push rbp
mov eax, 0xb40
call fcn.1400027c0
sub rsp, rax
lea rbp, [rsp + 0x50]
mov qword [rbp + 0xb00], rbx
mov qword [rbp + 0xb08], rsi
mov qword [rbp + 0xb10], rdi
mov rax, qword [0x140005028]
xor rax, rbp
mov qword [rbp + 0xae0], rax
xorps xmm0, xmm0
mov dword [rbp + 0x20], 0x68
xor eax, eax
lea rcx, [rbp + 0x20]
movups xmmword [rbp + 0x24], xmm0
mov dword [rbp + 0x84], eax
movups xmmword [rbp + 0x34], xmm0
movups xmmword [rbp + 0x44], xmm0
movups xmmword [rbp + 0x54], xmm0
movups xmmword [rbp + 0x64], xmm0
movups xmmword [rbp + 0x74], xmm0
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov rax, rcx
inc rax
cmp word [rdx + rax*2], 0
jne 0x140001081
lea rdi, str.__calc
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x140001092
add rax, rcx
lea rax, [rax*2 + 4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400010ba
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400027c0
sub rsp, rcx
lea rbx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rbx
sub rdx, rax
nop word [rax + rax]
movzx ecx, word [rax]
mov word [rdx + rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x1400010e0
lea rcx, [rbx - 2]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1400010f4
mov eax, dword [0x1400032c0]
mov dword [rcx], eax
lea rax, [rbx - 2]
nop dword [rax + rax]
cmp word [rax + 2], 0
lea rax, [rax + 2]
jne 0x140001110
xor edx, edx
nop dword [rax]
movzx ecx, word [rdi + rdx*2]
mov word [rax + rdx*2], cx
lea rdx, [rdx + 1]
test cx, cx
jne 0x140001120
mov r8d, 0x104
lea rdx, [rbp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rax, [rbp + 0x6c0]
lea r9, [rbp + 0x8d0]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x4b0]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath]
lea rax, str..exe
lea r9, str.soffice
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x4b0]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wmakepath]
xor esi, esi
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x90]
lea rax, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rsi
mov rdx, rbx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000120d
mov rcx, qword [rbp + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x140001270
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rsi
mov r9d, 0x400
mov edi, eax
mov dword [rsp + 0x28], esi
lea rax, [rbp]
mov qword [rbp], rsi
mov r8d, edi
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov rdx, qword [rbp]
mov r9d, 0x10
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rbx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
mov rcx, qword [rbp + 0xae0]
xor rcx, rbp
call fcn.140002300
mov rbx, qword [rbp + 0xb00]
mov rsi, qword [rbp + 0xb08]
mov rdi, qword [rbp + 0xb10]
lea rsp, [rbp + 0xaf0]
pop rbp
ret