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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
movaps xmmword [rsp + 0x2f0], xmm6
mov r14, rdx
mov r15, rcx
mov rax, qword [0x14010c038]
xor rax, rsp
mov qword [rsp + 0x2e8], rax
mov rdx, qword [0x140114130]
test rdx, rdx
je 0x14002d69e
cmp rdx, r15
je 0x14002d658
cmp byte [r15 + 0x17], 0
js 0x14002d8df
cmp byte [rdx + 0x17], 0
js 0x14002d8fd
mov rax, qword [rdx + 0x10]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [r15], xmm0
mov dil, 1
test r14, r14
je 0x14002d670
mov rdx, qword [0x140114138]
cmp rdx, r14
jne 0x14002d8b6
mov rcx, qword [rsp + 0x2e8]
xor rcx, rsp
call fcn.1400797f0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r12, 0x7fffffffffffffef
mov ecx, 0x18
call fcn.140078938
mov r13, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [0x140114130], rax
mov ecx, 0x18
call fcn.140078938
movups xmmword [rax], xmm6
mov qword [rax + 0x10], rsi
mov qword [rsp + 0x30], rax
mov qword [0x140114138], rax
call fcn.14002b190
mov rax, qword [rax + 8]
mov rdi, qword [rax + 0x10]
lea rcx, str.user_data_dir
call fcn.140092480
cmp rax, r12
ja 0x14002dc90
mov rbx, rax
cmp rax, 0xb
jae 0x14002daf5
lea rsi, [rsp + 0x60]
mov byte [rsi + 0x17], bl
cmp rbx, 3
jne 0x14002dc05
movzx eax, word [0x1400f31d4]
mov word [rsp + 0x64], ax
mov eax, dword [str.user_data_dir]
mov dword [rsp + 0x60], eax
mov word [rsi + rbx*2], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rsi, rax
mov rcx, rax
call fcn.140092480
cmp rax, r12
ja 0x14002dc9a
mov rbx, rax
cmp rax, 0xb
mov qword [rsp + 0x38], rdi
jae 0x14002db3c
mov byte [rsp + 0x5f], bl
lea rbp, [rsp + 0x48]
test rbx, rbx
je 0x14002d793
cmp rbx, 3
jne 0x14002db67
movzx eax, word [rsi + 4]
mov word [rbp + 4], ax
mov eax, dword [rsi]
mov dword [rbp], eax
mov word [rbp + rbx*2], 0
lea rsi, [rsp + 0x78]
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x60]
mov rcx, rsi
call fcn.14002b5d0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
movaps xmm6, xmmword [0x1400ec9c0]
movaps xmmword [rsp + 0x90], xmm6
cmp byte [rsi + 0x17], 0
jns 0x14002dca4
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0x90]
call fcn.1400582d0
mov qword [rsp + 0x40], r13
mov ecx, 0x30
call fcn.140078938
lea rsi, [rsp + 0xe0]
mov qword [rsi], rax
lea rcx, [r12 + 0x29]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 8], 0x12
mov ecx, dword [0x1400f3236]
mov dword [rax + 0x20], ecx
movups xmm0, xmmword [0x1400f3226]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.SOFTWAREPolicies_]
movups xmmword [rax], xmm0
mov word [rax + 0x24], 0
mov rcx, rdi
xor edx, edx
mov r8, rsi
call fcn.14002b2b0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
cmp byte [rsi + 0x17], 0
jns 0x14002d877
mov rsi, qword [rsp + 0xe0]
lea r13, [rsp + 0xc0]
mov qword [rsp + 0x20], r13
lea r9, str.UserDataDir
mov ecx, 1
xor edx, edx
mov r8, rsi
call fcn.14003b680
test al, al
jne 0x14002dc1e
cmp byte [rsp + 0xf7], 0
jns 0x14002d914
mov r8, qword [rsp + 0xe0]
jmp 0x14002d91c
cmp byte [r14 + 0x17], 0
js 0x14002dbd0
cmp byte [rdx + 0x17], 0
js 0x14002dbee
mov rax, qword [rdx + 0x10]
mov qword [r14 + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [r14], xmm0
jmp 0x14002d670
movzx r8d, byte [rdx + 0x17]
test r8b, r8b
jns 0x14002d8f0
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, r15
call fcn.140058b90
jmp 0x14002d658
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, r15
mov rdx, rax
call fcn.140058cc0
jmp 0x14002d658
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x20], r13
lea r9, str.UserDataDir
mov ecx, 2
xor edx, edx
call fcn.14003b680
test al, al
jne 0x14002dc1e
cmp byte [rsp + 0xd7], 0
js 0x14002dcc6
cmp byte [rsp + 0xf7], 0
jns 0x14002d961
mov rcx, qword [rsp + 0xe0]
call fcn.140078974
movzx esi, byte [rsp + 0xa7]
test sil, sil
mov rcx, qword [rsp + 0x98]
mov rax, rsi
cmovs rax, rcx
test rax, rax
je 0x14002dd52
mov edx, esi
shr dl, 7
lea rdi, [rsp + 0x90]
mov rbp, qword [rsp + 0x90]
test dl, 1
mov rbx, rdi
cmovne rbx, rbp
movzx eax, word [rbx + rax*2 - 2]
cmp ax, 0x5c
je 0x14002dc6f
cmp ax, 0x2f
je 0x14002dc6f
mov rcx, rdi
call fcn.14002c2f0
test al, al
je 0x14002dd52
lea rsi, [rsp + 0xe0]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.14007c0b0
cmp byte [rsp + 0xa7], 0
jns 0x14002d9f6
mov rdi, qword [rsp + 0x90]
mov r8d, 0x104
mov rcx, rsi
mov rdx, rdi
call fcn.14008e0ec
test rax, rax
je 0x14002dcd8
lea rcx, [rsp + 0xe0]
call fcn.140092480
cmp rax, r12
ja 0x14002dcf4
mov rbx, rax
cmp rax, 0xb
jae 0x14002db82
mov byte [rsp + 0xd7], bl
cmp rbx, 3
jne 0x14002dc13
movzx eax, word [rsp + 0xe4]
mov word [rsp + 0xc4], ax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xc0], eax
mov word [r13 + rbx*2], 0
mov rsi, qword [rsp + 0x40]
cmp byte [rsi + 0x17], 0
js 0x14002dd01
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsi], xmm0
mov sil, 1
cmp byte [rsp + 0xa7], 0
jns 0x14002daaa
mov rcx, qword [rsp + 0x90]
call fcn.140078974
cmp byte [rsp + 0x8f], 0
jns 0x14002dabe
mov rcx, qword [rsp + 0x78]
call fcn.140078974
cmp byte [rsp + 0x5f], 0
jns 0x14002dacf
mov rcx, qword [rsp + 0x48]
call fcn.140078974
cmp byte [rsp + 0x77], 0
jns 0x14002dae0
mov rcx, qword [rsp + 0x60]
call fcn.140078974
test sil, sil
je 0x14002dd0e
mov rdx, qword [0x140114130]
jmp 0x14002d62f
lea rbp, [rbx + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.140078938
mov rsi, rax
mov qword [rsp + 0x60], rax
lea rax, [r12 + 0x11]
or rax, rbp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rbx
mov r8, rbx
add r8, rbx
lea rdx, str.user_data_dir
mov rcx, rsi
call fcn.14007bca0
jmp 0x14002d73c
lea rdi, [rbx + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.140078938
mov rbp, rax
mov qword [rsp + 0x48], rax
lea rax, [r12 + 0x11]
or rax, rdi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov r8, rbx
add r8, rbx
mov rcx, rbp
mov rdx, rsi
call fcn.14007bca0
mov rdi, qword [rsp + 0x38]
jmp 0x14002d793
lea rsi, [rbx + 8]
and rsi, 0xfffffffffffffff8
lea rcx, [rsi + rsi]
call fcn.140078938
mov r13, rax
mov qword [rsp + 0xc0], rax
add r12, 0x11
or r12, rsi
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xc8], rbx
mov r8, rbx
add r8, rbx
lea rdx, [rsp + 0xe0]
mov rcx, r13
call fcn.14007bca0
jmp 0x14002da62
movzx r8d, byte [rdx + 0x17]
test r8b, r8b
jns 0x14002dbe1
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, r14
call fcn.140058b90
jmp 0x14002d670
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, r14
mov rdx, rax
call fcn.140058cc0
jmp 0x14002d670
test rbx, rbx
je 0x14002d73c
jmp 0x14002db22
test rbx, rbx
je 0x14002da62
jmp 0x14002dbb5
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0xc0]
call fcn.14003b7a0
cmp byte [rsp + 0xa7], 0
jns 0x14002dc4a
mov rcx, qword [rsp + 0x90]
call fcn.140078974
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x14002d93c
test dl, 1
je 0x14002dd15
lea rax, [rcx - 1]
mov qword [rsp + 0x98], rax
mov word [rbp + rcx*2 - 2], 0
jmp 0x14002dd2a
lea rcx, [rsp + 0x60]
call fcn.1400c5490
lea rcx, [rsp + 0x48]
call fcn.1400c5490
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x14002d7f6
mov rcx, qword [rsp + 0xc0]
call fcn.140078974
jmp 0x14002d94a
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
jmp 0x14002da6a
lea rcx, [rsp + 0xc0]
call fcn.1400c5490
mov rcx, qword [rsi]
call fcn.140078974
jmp 0x14002da79
xor edi, edi
jmp 0x14002d670
lea rax, [rsi - 1]
mov byte [rsp + 0xa7], al
mov word [rsp + rsi*2 + 0x8e], 0
movzx esi, byte [rsp + 0xa7]
mov edx, esi
shr dl, 7
test sil, sil
mov rcx, qword [rsp + 0x98]
mov rax, rsi
cmovs rax, rcx
test rax, rax
jne 0x14002d991
lea rdi, [rsp + 0x90]
cmp rdi, qword [rsp + 0x30]
je 0x14002dd9a
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x17], 0
js 0x14002df22
cmp byte [rsp + 0xa7], 0
js 0x14002df52
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rcx], xmm0
lea rsi, [rsp + 0xe0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x10], rax
movaps xmmword [rsi], xmm6
lea rdx, str.LOCALAPPDATA
mov rcx, rsi
call fcn.14002bf10
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x14002ddd2
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x14002dead
movaps xmm0, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rcx
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0xa7]
test al, al
cmovs rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
cmovns rcx, rdi
cmp word [rcx + rax*2 - 2], 0x5c
je 0x14002de53
lea rcx, [rsp + 0x90]
mov dx, 0x5c
call fcn.140058d70
mov bl, 1
lea rsi, [rsp + 0x90]
mov rcx, qword [rsp + 0x38]
mov dl, 1
mov r8, rsi
call fcn.14002b2b0
mov rcx, rsi
mov dx, 0x5c
call fcn.140058d70
lea rdx, str.User_Data
mov rcx, rsi
call fcn.140023cd0
cmp byte [rsp + 0xf7], 0
jns 0x14002de9e
mov rcx, qword [rsp + 0xe0]
call fcn.140078974
test bl, bl
jne 0x14002d9cc
xor esi, esi
jmp 0x14002da93
xor ebx, ebx
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14002de87
mov ebp, eax
inc ebp
xor ebx, ebx
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
call fcn.140059250
cmp byte [rsp + 0xf7], 0
jns 0x14002dee3
mov rsi, qword [rsp + 0xe0]
mov ecx, ebp
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14002de87
mov edx, eax
movzx eax, byte [rsp + 0xf7]
test al, al
jns 0x14002df08
mov rax, qword [rsp + 0xe8]
cmp rax, rdx
jbe 0x14002df71
lea rcx, [rsp + 0xe0]
xor r8d, r8d
call fcn.140059250
jmp 0x14002dddb
movzx r8d, byte [rsp + 0xa7]
test r8b, r8b
cmovs r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
cmovns rdx, rdi
mov rcx, qword [rsp + 0x30]
call fcn.140058b90
jmp 0x14002dd9a
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x30]
call fcn.140058cc0
jmp 0x14002dd9a
xor ebx, ebx
jmp 0x14002de87