Function at 0x140032c60
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, 0x2f8
movaps xmmword [rsp + 0x2e0], xmm6
mov r15, rdx
mov rdi, rcx
mov rax, qword [0x140145040]
xor rax, rsp
mov qword [rsp + 0x2d8], rax
mov rdx, qword [0x140156d60]
test rdx, rdx
jne 0x140033103
movabs rsi, 0x7ffffffffffffff7
mov ecx, 0x18
call fcn.1400b4d4c
mov rbx, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [0x140156d60], rax
mov ecx, 0x18
call fcn.1400b4d4c
mov r12, rax
movups xmmword [rax], xmm6
mov qword [rax + 0x10], r14
mov qword [0x140156d68], rax
mov rax, qword [0x140157570]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x28], rax
mov ecx, 0x20
call fcn.1400b4d4c
mov qword [rsp + 0x50], rax
lea rcx, [rsi + 0x19]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], 0xd
movups xmm0, xmmword [0x14012380a]
movups xmmword [rax + 0xa], xmm0
movaps xmm0, xmmword [str.user_data_dir]
movups xmmword [rax], xmm0
mov word [rax + 0x1a], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r13, rax
mov rcx, rax
call fcn.1400b5304
cmp rax, rsi
ja 0x1400331e3
mov r14, rax
cmp rax, 0xb
mov qword [rsp + 0x30], r15
jae 0x140032d71
lea rbp, [rsp + 0x38]
mov byte [rbp + 0x17], r14b
test r14, r14
jne 0x140032db6
jmp 0x140032dc7
lea rax, [rsi + 5]
and rax, r14
add rax, 4
mov r15, r14
or r15, 3
cmp r15, 0xb
cmove r15, rax
inc r15
js 0x140033465
lea rcx, [r15 + r15]
call fcn.1400b4d4c
mov rbp, rax
mov qword [rsp + 0x38], rax
lea rax, [rsi + 9]
or rax, r15
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r14
mov r8, r14
add r8, r14
mov rcx, rbp
mov rdx, r13
call fcn.1400eabe0
mov word [rbp + r14*2], 0
lea r15, [rsp + 0x68]
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x50]
mov rcx, r15
call fcn.140033890
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], rbp
movaps xmm6, xmmword [0x1401213c0]
movaps xmmword [rsp + 0x80], xmm6
cmp byte [r15 + 0x17], 0
jns 0x140033487
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0x80]
call fcn.140007fc0
mov ecx, 0x28
call fcn.1400b4d4c
lea r13, [rsp + 0xd0]
mov qword [r13], rax
lea rcx, [rsi + 0x1d]
mov qword [r13 + 0x10], rcx
mov qword [r13 + 8], 0x12
movups xmm0, xmmword [0x140135ade]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.SOFTWAREPolicies_]
movups xmmword [rax], xmm0
mov dword [rax + 0x20], 0x5c0073
mov word [rax + 0x24], 0
mov rcx, qword [rsp + 0x28]
xor edx, edx
mov r8, r13
call fcn.14002d9c0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
cmp byte [r13 + 0x17], 0
jns 0x140032ea6
mov r13, qword [rsp + 0xd0]
lea r15, [rsp + 0xb0]
mov qword [rsp + 0x20], r15
lea r9, str.UserDataDir
mov ecx, 1
xor edx, edx
mov r8, r13
call fcn.1400334b0
test al, al
jne 0x1400331f0
cmp byte [rsp + 0xe7], 0
js 0x140032ee5
lea r8, [rsp + 0xd0]
jmp 0x140032eed
mov r8, qword [rsp + 0xd0]
mov qword [rsp + 0x20], r15
lea r9, str.UserDataDir
mov ecx, 2
xor edx, edx
call fcn.1400334b0
test al, al
jne 0x1400331f0
cmp byte [rsp + 0xc7], 0
js 0x140033446
cmp byte [rsp + 0xe7], 0
jns 0x140032f32
mov rcx, qword [rsp + 0xd0]
call fcn.1400b4d44
movzx ecx, byte [rsp + 0x97]
mov rax, rcx
test cl, cl
jns 0x140032f49
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14003328b
shr cl, 7
lea rdx, [rsp + 0x80]
mov r8, rdx
test cl, 1
je 0x140032f6d
mov r8, qword [rsp + 0x80]
movzx r9d, word [r8 + rax*2 - 2]
cmp r9d, 0x5c
je 0x140033241
cmp r9d, 0x2f
je 0x140033241
lea rcx, [rsp + 0x80]
call fcn.1400335a0
test al, al
je 0x14003328b
lea r14, [rsp + 0xd0]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1400eb280
cmp byte [rsp + 0x97], 0
js 0x140032fc8
lea rdx, [rsp + 0x80]
jmp 0x140032fd0
mov rdx, qword [rsp + 0x80]
mov r8d, 0x104
mov rcx, r14
call fcn.1400b5f94
test rax, rax
je 0x140033468
lea rcx, [rsp + 0xd0]
call fcn.1400b5304
cmp rax, rsi
ja 0x1400331e6
mov r14, rax
cmp rax, 0xb
jae 0x140033015
mov byte [rsp + 0xc7], r14b
test r14, r14
jne 0x140033063
jmp 0x140033079
lea rax, [rsi + 5]
and rax, r14
add rax, 4
mov r12, r14
or r12, 3
cmp r12, 0xb
cmove r12, rax
inc r12
js 0x140033484
lea rcx, [r12 + r12]
call fcn.1400b4d4c
mov r15, rax
mov qword [rsp + 0xb0], rax
add rsi, 9
or rsi, r12
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xb8], r14
mov r8, r14
add r8, r14
lea rdx, [rsp + 0xd0]
mov rcx, r15
call fcn.1400eabe0
mov word [r15 + r14*2], 0
cmp byte [rbx + 0x17], 0
mov r15, qword [rsp + 0x30]
js 0x140033458
mov rax, qword [rsp + 0xc0]
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx], xmm0
mov sil, 1
cmp byte [rsp + 0x97], 0
jns 0x1400330c0
mov rcx, qword [rsp + 0x80]
call fcn.1400b4d44
cmp byte [rsp + 0x7f], 0
jns 0x1400330d1
mov rcx, qword [rsp + 0x68]
call fcn.1400b4d44
cmp byte [rsp + 0x4f], 0
jns 0x1400330e2
mov rcx, qword [rsp + 0x38]
call fcn.1400b4d44
cmp byte [rsp + 0x67], 0
jns 0x1400330f3
mov rcx, qword [rsp + 0x50]
call fcn.1400b4d44
test sil, sil
je 0x1400331e9
mov rdx, qword [0x140156d60]
cmp rdx, rdi
je 0x14003312e
cmp byte [rdi + 0x17], 0
movzx r8d, byte [rdx + 0x17]
js 0x1400331b4
test r8b, r8b
jns 0x140033193
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, rdi
mov rdx, rax
call fcn.14000f2e0
mov dil, 1
test r15, r15
je 0x140033165
mov rdx, qword [0x140156d68]
cmp rdx, r15
je 0x140033165
cmp byte [r15 + 0x17], 0
movzx r8d, byte [rdx + 0x17]
js 0x1400331cd
test r8b, r8b
jns 0x1400331a3
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, r15
mov rdx, rax
call fcn.14000f2e0
mov rcx, qword [rsp + 0x2d8]
xor rcx, rsp
call fcn.1400b7310
mov eax, edi
movaps xmm6, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rdi], xmm0
jmp 0x14003312e
mov rax, qword [rdx + 0x10]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [r15], xmm0
jmp 0x140033165
test r8b, r8b
jns 0x1400331c0
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, rdi
call fcn.14000f3a0
jmp 0x14003312e
test r8b, r8b
jns 0x1400331d9
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, r15
call fcn.14000f3a0
jmp 0x140033165
int3
int3
xor edi, edi
jmp 0x140033165
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0xb0]
call fcn.140065e10
cmp byte [rsp + 0x97], 0
jns 0x14003321c
mov rcx, qword [rsp + 0x80]
call fcn.1400b4d44
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x140032f0d
lea r9, [rax - 1]
test cl, 1
jne 0x140033258
and r9b, 0x7f
mov byte [rsp + 0x97], r9b
jmp 0x140033260
mov qword [rsp + 0x88], r9
mov word [r8 + rax*2 - 2], 0
movzx ecx, byte [rsp + 0x97]
mov rax, rcx
test cl, cl
jns 0x14003327f
mov rax, qword [rsp + 0x88]
shr cl, 7
test rax, rax
jne 0x140032f5d
lea r14, [rsp + 0x80]
mov rcx, r12
mov rdx, r14
call fcn.14009e1a0
lea r12, [rsp + 0xd0]
mov qword [r12 + 0x10], rbp
movaps xmmword [r12], xmm6
lea rdx, str.LOCALAPPDATA
mov rcx, r12
call fcn.14005df50
movzx eax, byte [r12 + 0x17]
test al, al
jns 0x1400332d1
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x1400333c7
movaps xmm0, xmmword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rcx
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], rax
movzx ecx, byte [rsp + 0x97]
mov rax, rcx
test cl, cl
jns 0x140033331
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400334a6
test cl, cl
jns 0x140033346
mov r14, qword [rsp + 0x80]
cmp word [r14 + rax*2 - 2], 0x5c
je 0x140033360
lea rcx, [rsp + 0x80]
mov dx, 0x5c
call fcn.1400a48e0
mov r13b, 1
lea r12, [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
mov dl, 1
mov r8, r12
call fcn.14002d9c0
mov rcx, r12
mov dx, 0x5c
call fcn.1400a48e0
lea rdx, str.User_Data
mov r8d, 9
mov rcx, r12
call fcn.140059400
cmp byte [rsp + 0xe7], 0
jns 0x1400333b2
mov rcx, qword [rsp + 0xd0]
call fcn.1400b4d44
test r13b, r13b
jne 0x140032f9c
xor esi, esi
mov r15, qword [rsp + 0x30]
jmp 0x1400330a9
xor r13d, r13d
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14003339b
mov ebp, eax
inc ebp
xor r13d, r13d
mov rcx, r12
mov rdx, rbp
xor r8d, r8d
call fcn.1400ac260
cmp byte [rsp + 0xe7], 0
jns 0x1400333ff
mov r12, qword [rsp + 0xd0]
mov ecx, ebp
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14003339b
mov edx, eax
movzx eax, byte [rsp + 0xe7]
test al, al
jns 0x140033424
mov rax, qword [rsp + 0xd8]
cmp rax, rdx
ja 0x140033431
xor r13d, r13d
jmp 0x14003339b
lea rcx, [rsp + 0xd0]
xor r8d, r8d
call fcn.1400ac260
jmp 0x1400332da
mov rcx, qword [rsp + 0xb0]
call fcn.1400b4d44
jmp 0x140032f1b
mov rcx, qword [rbx]
call fcn.1400b4d44
jmp 0x14003308f
int3
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
jmp 0x140033080
int3
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x140032e29
int3