Function at 0x1400f0d90
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, 0x378
movaps xmmword [rsp + 0x360], xmm7
movaps xmmword [rsp + 0x350], xmm6
mov r15, r9
mov rdi, rdx
mov rax, qword [0x140362028]
xor rax, rsp
mov qword [rsp + 0x348], rax
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], r12
movaps xmm6, xmmword [0x140232ef0]
movaps xmmword [rsp + 0xf0], xmm6
cmp byte [rcx + 0x17], 0
mov qword [rsp + 0x30], r8
js 0x1400f0e10
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1400f0e24
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
lea rcx, [rsp + 0xf0]
call fcn.1400b96a0
movabs r14, 0x7fffffffffffffef
mov ecx, gethostbyname
call fcn.1401a2e6c
lea rsi, [rsp + 0x140]
mov qword [rsi], rax
lea rcx, [r14 + 0x29]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 8], reloc.WS2_32.dll_select
mov ecx, dword [0x1402424c6]
mov dword [rax + 0x20], ecx
movups xmm0, xmmword [0x1402424b6]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.SOFTWAREPolicies_]
movups xmmword [rax], xmm0
mov word [rax + 0x24], 0
mov qword [rsp + 0x38], rdi
mov rcx, rdi
xor edx, edx
mov r8, rsi
call fcn.1400ee3d0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x130], 0
cmp byte [rsi + 0x17], 0
jns 0x1400f0eae
mov rsi, qword [rsp + 0x140]
lea rdi, [rsp + 0x120]
mov qword [rsp + 0x20], rdi
lea r9, str.UserDataDir
mov ecx, 1
xor edx, edx
mov r8, rsi
call fcn.14012b190
test al, al
jne 0x1400f0f0d
cmp byte [rsp + 0x157], 0
jns 0x1400f0ee9
mov r8, qword [rsp + 0x140]
jmp 0x1400f0ef1
lea r8, [rsp + 0x140]
mov qword [rsp + 0x20], rdi
lea r9, str.UserDataDir
mov ecx, 2
xor edx, edx
call fcn.14012b190
test al, al
je 0x1400f0f59
lea rcx, [rsp + 0x108]
lea rdx, [rsp + 0x120]
call fcn.14012b490
cmp byte [rsp + 0x107], 0
jns 0x1400f0f39
mov rcx, qword [rsp + 0xf0]
call fcn.1401a2ea8
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xf0], xmm0
cmp byte [rsp + 0x137], 0
jns 0x1400f0f70
mov rcx, qword [rsp + 0x120]
call fcn.1401a2ea8
cmp byte [rsp + 0x157], 0
jns 0x1400f0f87
mov rcx, qword [rsp + 0x140]
call fcn.1401a2ea8
mov dl, byte [rsp + 0x107]
test dl, dl
mov rcx, qword [rsp + 0xf8]
movzx edi, dl
mov rax, rdi
cmovs rax, rcx
test rax, rax
jne 0x1400f12b7
lea rsi, [rsp + 0xe8]
mov qword [rsi], r12
mov rcx, rsi
call fcn.14010e700
xorps xmm7, xmm7
lea rdi, [rsp + 0x140]
movaps xmmword [rdi], xmm7
mov qword [rdi + 0x10], 0
mov rcx, qword [rsi]
lea rax, str.CB_INI_SCL_ENABLED
lea rdx, [rsp + 0xd8]
mov qword [rdx], rax
mov qword [rdx + 8], reloc.WS2_32.dll_select
mov r8, rdi
call fcn.14010e770
lea rsi, [rsp + 0xd4]
mov dword [rsi], 0
movzx eax, byte [rdi + 0x17]
test al, al
mov rdx, qword [rdi]
cmovns rdx, rdi
lea rcx, [rsp + 0xc0]
mov qword [rcx], rdx
cmovs rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov rdx, rsi
call fcn.1400d4470
cmp dword [rsi], 0
je 0x1400f126b
lea rsi, [rsp + 0x120]
movaps xmmword [rsi], xmm7
mov qword [rsi + 0x10], 0
mov rcx, qword [rsp + 0xe8]
lea rax, str.CB_INI_SCL_SWITCHES
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov qword [rdx + 8], reloc.WS2_32.dll_send
mov r8, rsi
call fcn.14010e770
movzx eax, byte [rsi + 0x17]
mov rcx, rax
test al, al
jns 0x1400f1089
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400f125a
lea rax, [0x140234120]
lea r13, [rsp + 0xa0]
mov qword [r13], rax
mov qword [r13 + 8], 1
lea rax, [0x140242927]
lea rdi, [rsp + 0x90]
mov qword [rdi], rax
mov qword [rdi + 8], 2
lea rdx, [0x14024292a]
lea rsi, [rsp + 0x108]
lea rbp, [rsp + 0x120]
mov rcx, rsi
mov r8, rbp
call fcn.1400ba7f0
movzx eax, byte [rsi + 0x17]
test al, al
mov rdx, qword [rsi]
cmovns rdx, rsi
lea rcx, [rsp + 0x80]
mov qword [rcx], rdx
cmovs rax, qword [rsi + 8]
mov qword [rcx + 8], rax
mov rdx, rdi
mov r8, r13
mov r9, rbp
call fcn.1400d4db0
cmp byte [rsi + 0x17], 0
jns 0x1400f112b
mov rcx, qword [rsp + 0x108]
call fcn.1401a2ea8
lea rcx, str.user_data_dir
call fcn.1401d0678
cmp rax, r14
ja 0x1400f1914
mov rsi, rax
cmp rax, 0xb
jae 0x1400f1159
lea rdi, [rsp + 0x68]
mov byte [rdi + 0x17], sil
test rsi, rsi
jne 0x1400f1183
jmp 0x1400f1198
lea rbx, [rsi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.1401a2e6c
mov rdi, rax
mov qword [rsp + 0x68], rax
lea rax, [r14 + 0x11]
or rax, rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rsi
mov r8, rsi
add r8, rsi
lea rdx, str.user_data_dir
mov rcx, rdi
call fcn.1401a6090
movzx eax, byte [rsp + 0x137]
test al, al
cmovs rbp, qword [rsp + 0x120]
mov word [rdi + rsi*2], 0
lea rdx, [rsp + 0x40]
mov qword [rdx], rbp
cmovs rax, qword [rsp + 0x128]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.14019f320
lea rcx, [rsp + 0x108]
lea r8, [rsp + 0x68]
mov rdx, rsi
call fcn.1400ee6d0
cmp byte [rsp + 0x107], 0
jns 0x1400f11ff
mov rcx, qword [rsp + 0xf0]
call fcn.1401a2ea8
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0x11f], 0
mov word [rsp + 0x108], 0
cmp byte [rsp + 0x67], 0
jns 0x1400f1242
mov rcx, qword [rsp + 0x50]
call fcn.1401a2ea8
cmp byte [rsp + 0x7f], 0
jns 0x1400f1253
mov rcx, qword [rsp + 0x68]
call fcn.1401a2ea8
mov al, byte [rsp + 0x137]
test al, al
jns 0x1400f126b
mov rcx, qword [rsp + 0x120]
call fcn.1401a2ea8
cmp byte [rsp + 0x157], 0
jns 0x1400f1282
mov rcx, qword [rsp + 0x140]
call fcn.1401a2ea8
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], 0
test rcx, rcx
je 0x1400f12a5
mov edx, 1
call fcn.14005a430
mov dl, byte [rsp + 0x107]
mov rcx, qword [rsp + 0xf8]
movzx edi, dl
test dl, dl
mov rax, rdi
cmovs rax, rcx
test rax, rax
je 0x1400f1367
shr dl, 7
lea rbx, [rsp + 0xf0]
mov rsi, qword [rsp + 0xf0]
test dl, 1
mov rbp, rbx
cmovne rbp, rsi
movzx eax, word [rbp + rax*2 - 2]
cmp ax, 0x5c
je 0x1400f12f7
cmp ax, 0x2f
jne 0x1400f1352
test dl, 1
je 0x1400f1312
lea rax, [rcx - 1]
mov qword [rsp + 0xf8], rax
lea rax, [rsi + rcx*2]
add rax, 0xfffffffffffffffe
jmp 0x1400f1327
lea rax, [rdi - 1]
mov byte [rsp + 0x107], al
lea rax, [rsp + rdi*2]
add rax, 0xee
mov word [rax], 0
movzx edi, byte [rsp + 0x107]
mov edx, edi
shr dl, 7
test dil, dil
mov rcx, qword [rsp + 0xf8]
mov rax, rdi
cmovs rax, rcx
test rax, rax
jne 0x1400f12d4
jmp 0x1400f1367
lea rcx, [rsp + 0xf0]
call fcn.1400ef900
test al, al
jne 0x1400f1797
lea r13, [rsp + 0xf0]
cmp r13, r15
je 0x1400f13dd
cmp byte [r15 + 0x17], 0
movzx r8d, byte [rsp + 0x107]
js 0x1400f13a3
test r8b, r8b
js 0x1400f13c5
mov rax, qword [rsp + 0x100]
mov qword [r15 + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [r15], xmm0
jmp 0x1400f13dd
test r8b, r8b
cmovs r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
cmovns rdx, r13
mov rcx, r15
call fcn.1400b9eb0
jmp 0x1400f13dd
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
mov rcx, r15
call fcn.1400b9f30
call fcn.1400beae0
call fcn.1400bea60
mov r15d, eax
mov ecx, 0x20
call fcn.1401a2e6c
mov qword [rsp + 0x140], rax
lea rcx, [r14 + 0x21]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x148], ntohs
mov rcx, qword [0x140242966]
mov qword [rax + 0xe], rcx
movups xmm0, xmmword [str.cb_safemode]
movups xmmword [rax], xmm0
mov word [rax + 0x16], 0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rbp, rax
mov rcx, rax
call fcn.1401d0678
cmp rax, r14
ja 0x1400f1907
mov rsi, rax
cmp rax, 0xb
jae 0x1400f1465
lea rdi, [rsp + 0x120]
mov byte [rdi + 0x17], sil
test rsi, rsi
jne 0x1400f1498
jmp 0x1400f14a9
lea rbx, [rsi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.1401a2e6c
mov rdi, rax
mov qword [rsp + 0x120], rax
lea rax, [r14 + 0x11]
or rax, rbx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
mov r8, rsi
add r8, rsi
mov rcx, rdi
mov rdx, rbp
call fcn.1401a6090
mov word [rdi + rsi*2], 0
lea rsi, [rsp + 0x120]
lea rdx, [rsp + 0x140]
mov rcx, rsi
call fcn.1400ef7a0
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x1400f14dc
mov rcx, qword [rsp + 0x120]
call fcn.1401a2ea8
cmp byte [rsp + 0x157], 0
jns 0x1400f14f3
mov rcx, qword [rsp + 0x140]
call fcn.1401a2ea8
lea rsi, [rsp + 0x140]
test r15b, r15b
je 0x1400f15b9
mov qword [rsi + 0x10], r12
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.1400c33c0
mov ecx, 3
mov rdx, rsi
call fcn.1400ce750
lea rax, str.User_Data_SafeMode_
lea rcx, str.User_Data
test bpl, bpl
cmovne rcx, rax
lea r8, [rsp + 0x108]
mov qword [r8], rcx
mov eax, reloc.WS2_32.dll_send
mov ecx, 9
cmovne rcx, rax
mov qword [r8 + 8], rcx
lea rdi, [rsp + 0x120]
mov rcx, rsi
mov rdx, rdi
call fcn.1400c3e50
mov rcx, rsi
mov rdx, rdi
call fcn.1400c3590
mov rcx, rdi
call fcn.1400c3520
cmp byte [rsp + 0x107], 0
movzx r8d, byte [rsi + 0x17]
js 0x1400f16c6
test r8b, r8b
js 0x1400f176d
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1400f178a
mov qword [rsi + 0x10], r12
movaps xmmword [rsi], xmm6
lea rdx, str.LOCALAPPDATA
mov rcx, rsi
call fcn.1400ee8c0
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x1400f15df
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x1400f16f0
movaps xmm0, xmmword [rsp + 0xf0]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x100], rcx
movaps xmm1, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xf0], xmm1
movzx ecx, byte [rsp + 0x107]
test cl, cl
cmovs rcx, qword [rsp + 0xf8]
cmovs r13, qword [rsp + 0xf0]
movaps xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x150], rax
cmp word [r13 + rcx*2 - 2], 0x5c
je 0x1400f165e
lea rcx, [rsp + 0xf0]
mov dx, 0x5c
call fcn.1400b9ff0
mov bl, 1
lea rsi, [rsp + 0xf0]
mov rcx, qword [rsp + 0x38]
mov dl, 1
mov r8, rsi
call fcn.1400ee3d0
mov rcx, rsi
mov dx, 0x5c
call fcn.1400b9ff0
lea rax, str.User_Data_SafeMode_
lea rdx, str.User_Data
test bpl, bpl
cmovne rdx, rax
mov rcx, rsi
call fcn.1400ba5f0
cmp byte [rsp + 0x157], 0
jns 0x1400f16b7
mov rcx, qword [rsp + 0x140]
call fcn.1401a2ea8
test bl, bl
jne 0x1400f1797
xor esi, esi
jmp 0x1400f18b3
test r8b, r8b
cmovs r8, qword [rsp + 0x148]
cmovs rsi, qword [rsp + 0x140]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.1400b9eb0
jmp 0x1400f178a
xor ebx, ebx
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1400f16a0
mov edi, eax
inc edi
xor ebx, ebx
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.1400ba710
cmp byte [rsp + 0x157], 0
jns 0x1400f1726
mov rsi, qword [rsp + 0x140]
mov ecx, edi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1400f16a0
mov edx, eax
movzx eax, byte [rsp + 0x157]
test al, al
jns 0x1400f174f
mov rax, qword [rsp + 0x148]
cmp rax, rdx
jbe 0x1400f1900
lea rcx, [rsp + 0x140]
xor r8d, r8d
call fcn.1400ba710
jmp 0x1400f15e8
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x148]
lea rcx, [rsp + 0xf0]
call fcn.1400b9f30
lea rcx, [rsp + 0x140]
call fcn.1400c3520
lea rsi, [rsp + 0x140]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.1401a64a0
cmp byte [rsp + 0x107], 0
jns 0x1400f17c3
mov rdx, qword [rsp + 0xf0]
jmp 0x1400f17cb
lea rdx, [rsp + 0xf0]
lea rbx, [rsp + 0x120]
mov r8d, 0x104
mov rcx, rsi
call fcn.1401c3680
test rax, rax
je 0x1400f1819
lea rcx, [rsp + 0x140]
call fcn.1401d0678
cmp rax, r14
ja 0x1400f1907
mov rsi, rax
cmp rax, 0xb
jae 0x1400f1837
mov byte [rsp + 0x137], sil
test rsi, rsi
mov rdi, qword [rsp + 0x30]
jne 0x1400f186f
jmp 0x1400f1885
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x130], 0
mov rdi, qword [rsp + 0x30]
jmp 0x1400f188b
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.1401a2e6c
mov rbx, rax
mov qword [rsp + 0x120], rax
add r14, 0x11
or r14, rdi
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x128], rsi
mov rdi, qword [rsp + 0x30]
mov r8, rsi
add r8, rsi
lea rdx, [rsp + 0x140]
mov rcx, rbx
call fcn.1401a6090
mov word [rbx + rsi*2], 0
cmp byte [rdi + 0x17], 0
jns 0x1400f1899
mov rcx, qword [rdi]
call fcn.1401a2ea8
mov rax, qword [rsp + 0x130]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rdi], xmm0
mov sil, 1
cmp byte [rsp + 0x107], 0
jns 0x1400f18ca
mov rcx, qword [rsp + 0xf0]
call fcn.1401a2ea8
mov rcx, qword [rsp + 0x348]
xor rcx, rsp
call fcn.1401a4270
mov eax, esi
movaps xmm6, xmmword [rsp + 0x350]
movaps xmm7, xmmword [rsp + 0x360]
add rsp, 0x378
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebx, ebx
jmp 0x1400f16a0
lea rcx, [rsp + 0x120]
call fcn.1400b7d50
lea rcx, [rsp + 0x68]
call fcn.1400b7d50
int3