Function at 0x14000cea0
Capabilities:
Create directory
Get common file path

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x2c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x240], 0xfffffffffffffffe
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov edx, Ordinal_32
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x14000d46a
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movups xmmword [rbp + 0x220], xmm0
lea rcx, [rbp - 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x14000d481
mov rsi, rax
mov rdi, rax
cmp rax, 0xf
ja 0x14000cf46
mov qword [rbp + 0x230], rdi
mov qword [rbp + 0x238], reloc.WS2_32.dll_ntohs
lea rcx, [rbp + 0x220]
lea rdx, [rbp - 0x50]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsi + rbp]
add rax, 0x220
jmp 0x14000cfbf
mov rax, rsi
or rax, 0xf
cmp rax, 0x17
mov r14d, reloc.WLDAP32.dll_Ordinal_22
cmovae r14, rax
cmp rax, 0xfff
jb 0x14000cf89
lea rcx, [r14 + 0x28]
call fcn.14004f794
test rax, rax
je 0x14000d47b
mov rcx, rax
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14000cf95
lea rcx, [r14 + 1]
call fcn.14004f794
mov rbx, rax
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x230], rdi
mov qword [rbp + 0x238], r14
lea rdx, [rbp - 0x50]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rbx
mov rax, rsi
mov byte [rax], 0
mov rsi, qword [rbp + 0x230]
mov rax, qword [rbp + 0x238]
mov rcx, rax
sub rcx, rsi
cmp rcx, 0xb
jae 0x14000d016
lea rsi, [0x1400f3da0]
lea rdx, [0x1400a2a5a]
mov rcx, rsi
call fcn.14000f010
nop
mov qword [rsp + 0x20], select
lea rcx, [rbp + 0x220]
mov edx, ntohl
mov r9, rsi
call fcn.14000d6d0
nop
mov rdi, rax
jmp 0x14000d068
lea rcx, [rsi + 0xb]
mov qword [rbp + 0x230], rcx
lea rdi, [rbp + 0x220]
mov rcx, rdi
cmp rax, 0x10
jb 0x14000d038
mov rcx, qword [rbp + 0x220]
mov rbx, rcx
lea rcx, [0x1400f3da0]
lea rdx, [0x1400a2a5a]
call fcn.14000f010
mov rax, qword [0x1400f3da0]
mov qword [rbx + rsi], rax
mov eax, dword [0x1400f3da7]
mov dword [rbx + rsi + 7], eax
mov byte [rbx + rsi + 0xb], 0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x1d0], xmm1
movups xmmword [rbp + 0x1c0], xmm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rax, qword [rbp + 0x238]
cmp rax, 0x10
jb 0x14000d0da
mov rdx, qword [rbp + 0x220]
lea rcx, [rax + 1]
cmp rcx, 0x1000
jb 0x14000d0cc
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000d47b
add rax, 0x28
jmp 0x14000d0d2
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.14004f7d8
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x238], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x220], 0
mov rsi, qword [rbp + 0x1d0]
movabs rax, 0x7fffffffffffffed
cmp rsi, rax
jge 0x14000d486
mov rbx, qword [rbp + 0x1c0]
mov r14, qword [rbp + 0x1d8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
movups xmmword [rbp + 0x210], xmm0
lea r15, [rsi + 0x13]
cmp r15, 0x10
jb 0x14000d14c
cmp rsi, 0xffffffffffffffed
jge 0x14000d15a
movabs rdi, 0x7fffffffffffffff
jmp 0x14000d176
lea rdi, [rbp + 0x200]
mov eax, reloc.WS2_32.dll_ntohs
jmp 0x14000d1b6
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov edi, reloc.WLDAP32.dll_Ordinal_22
cmovae rdi, rax
cmp rax, 0xfff
jb 0x14000d19b
lea rcx, [rdi + 0x28]
nop
call fcn.14004f794
nop
test rax, rax
je 0x14000d47b
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000d1a6
lea rcx, [rdi + 1]
nop
call fcn.14004f794
nop
mov rcx, rax
mov qword [rbp + 0x200], rax
mov rax, rdi
mov rdi, rcx
cmp r14, 0x10
lea r14, [rbp + 0x1c0]
mov rdx, rbx
cmovb rdx, r14
mov qword [rbp + 0x210], r15
mov qword [rbp + 0x218], rax
mov rcx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [0x1400f3db0]
lea rdx, [0x1400a2a99]
call fcn.14000f090
movups xmm0, xmmword [0x1400f3db0]
movups xmmword [rdi + rsi], xmm0
mov eax, dword [0x1400f3dbf]
mov dword [rdi + rsi + 0xf], eax
mov byte [rdi + rsi + 0x13], 0
cmp qword [rbp + 0x1d8], 0x10
mov rcx, r14
jb 0x14000d222
mov rcx, qword [rbp + 0x1c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x14000d23f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000d3bd
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], 1
mov qword [rbp + 0x1f8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1e0], Ordinal_50
cmp qword [rbp + 0x218], 0x10
jb 0x14000d279
mov rdx, qword [rbp + 0x200]
jmp 0x14000d280
lea rdx, [rbp + 0x200]
nop
mov dword [rsp + 0x20], 1
lea rcx, [rbp + 0xb8]
mov r8d, 2
mov r9d, 0x40
call fcn.14000fbe0
nop
cmp qword [rbp + 0x140], 0
je 0x14000d2d5
nop
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0x1e0]
mov r8d, 1
call fcn.14000b6f0
nop
nop
lea rcx, [rbp + 0xb8]
call fcn.1400100d0
nop
lea rsi, [rbp + 0x160]
mov rax, qword [rbp + 0xb8]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0xb8], rcx
mov rax, qword [rbp + 0xb8]
movsxd rax, dword [rax + 4]
mov ecx, eax
add ecx, 0xffffff58
mov dword [rbp + rax + 0xb4], ecx
lea rcx, [rbp + 0xc0]
call fcn.1400101e0
mov rax, qword [rbp + 0xb8]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0xb8], rcx
mov rax, qword [rbp + 0xb8]
movsxd rax, dword [rax + 4]
mov ecx, eax
add ecx, 0xfffffff0
mov dword [rbp + rax + 0xb4], ecx
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
mov rax, qword [rbp + 0x1f8]
cmp rax, 0x10
jb 0x14000d3a0
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rax + 1]
cmp rcx, 0x1000
jb 0x14000d392
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000d47b
add rax, 0x28
jmp 0x14000d398
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.14004f7d8
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1f8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1e0], 0
mov rax, qword [rbp + 0x218]
cmp rax, 0x10
jb 0x14000d407
mov rdx, qword [rbp + 0x200]
lea rcx, [rax + 1]
cmp rcx, 0x1000
jb 0x14000d3f9
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000d47b
add rax, 0x28
jmp 0x14000d3ff
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.14004f7d8
mov qword [rbp + 0x210], 0
mov qword [rbp + 0x218], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x200], 0
mov rax, qword [rbp + 0x1d8]
cmp rax, 0x10
jb 0x14000d46a
mov rdx, qword [rbp + 0x1c0]
lea rcx, [rax + 1]
cmp rcx, 0x1000
jb 0x14000d45c
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000d47b
add rax, 0x28
jmp 0x14000d462
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.14004f7d8
nop
add rsp, 0x2c8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.140001e60
nop
call fcn.140001e60
nop
int3