Function at 0x14001a670
Capabilities:
Check if file exists
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x1400f5608]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, rdx
mov qword [rbp - 0x41], rdx
xor r12d, r12d
mov dword [rbp - 0x49], r12d
lea rcx, [rbp + 7]
call fcn.14001af80
nop
lea rcx, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae rcx, qword [rbp + 7]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
lea rsi, str.class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char______cdecl_System::UtilsImpl::getEmulatorId_void_
test eax, eax
jne 0x14001a7c1
lea rcx, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae rcx, qword [rbp + 7]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x14001a7c1
mov edx, 0x9c40
lea rcx, [0x1400fa680]
call fcn.14002abe0
test al, al
je 0x14001a7c1
call fcn.14002b900
mov rbx, rax
lea rdx, str.Failed_to_create_the_directory:
mov rcx, rax
call fcn.14000e1c0
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae rdx, qword [rbp + 7]
mov r8, qword [rbp + 0x17]
mov rcx, rax
call fcn.14000e6f0
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x39]
call fcn.140016b10
mov r12d, 2
mov dword [rbp - 0x49], r12d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xc1
lea r9, str.C:BuildAgentworkdbddd2e9dd455b4f_src_systemutils_impl.cpp
lea r8, [rbp - 0x39]
mov edx, 0x9c40
lea rcx, [0x1400fa680]
call fcn.14002ba00
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x14001a7c1
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a7bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acbe
call fcn.14008b4c8
mov r14, qword [rbp + 0x17]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 8
jb 0x14001acc4
lea r13, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae r13, qword [rbp + 7]
mov qword [rbp - 0x19], 0
mov qword [rbp - 9], 0
mov qword [rbp - 1], 0
lea r15, [r14 + 8]
mov ebx, send
lea rsi, [rbp - 0x19]
cmp r15, rbx
jbe 0x14001a88c
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x14001a84f
mov rbx, rcx
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14008b48c
test rax, rax
je 0x14001ace2
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14001a888
mov eax, reloc.WS2_32.dll_shutdown
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14001a877
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001acb8
jmp 0x14001a830
test rcx, rcx
je 0x14001a886
call fcn.14008b48c
mov rsi, rax
jmp 0x14001a888
xor esi, esi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 9], r15
mov qword [rbp - 1], rbx
mov r8, r14
mov rdx, r13
mov rcx, rsi
call fcn.14008d5b0
mov rax, qword [str.hwid.dat]
mov qword [rsi + r14], rax
mov byte [rsi + r15], 0
or r12d, 4
xor esi, esi
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], shutdown
mov byte [rdi], sil
or r12d, 1
mov dword [rbp - 0x49], r12d
lea rcx, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rcx, qword [rbp - 0x19]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x14001aa78
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.14001b840
mov rbx, rax
cmp rdi, rax
je 0x14001a970
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14001a93d
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14001a938
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001acca
mov rcx, r8
call fcn.14008b4c8
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], shutdown
mov byte [rdi], 0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], shutdown
mov byte [rbx], 0
nop dword [rax]
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x14001a9ab
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a9a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acca
call fcn.14008b4c8
cmp qword [rdi + 0x10], 0
jne 0x14001aa78
mov edx, 0x7530
lea rcx, [0x1400fa680]
call fcn.14002abe0
test al, al
je 0x14001aa78
call fcn.14002b900
mov rbx, rax
lea rdx, str.Did_not_get_emulatorId_after_reading
mov rcx, rax
call fcn.14000e1c0
lea rdx, str.hwid.dat
mov rcx, rax
call fcn.14000e1c0
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x39]
call fcn.140016b10
or r12d, 8
mov dword [rbp - 0x49], r12d
lea r14, str.class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char______cdecl_System::UtilsImpl::getEmulatorId_void_
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xce
lea r9, str.C:BuildAgentworkdbddd2e9dd455b4f_src_systemutils_impl.cpp
lea r8, [rbp - 0x39]
mov edx, 0x7530
lea rcx, [0x1400fa680]
call fcn.14002ba00
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x14001aa7f
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001aa71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acd0
call fcn.14008b4c8
jmp 0x14001aa7f
lea r14, str.class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char______cdecl_System::UtilsImpl::getEmulatorId_void_
cmp qword [rdi + 0x10], 0
jne 0x14001ac00
lea rcx, [rbp - 0x39]
call fcn.14001a120
mov rbx, rax
cmp rdi, rax
je 0x14001ab01
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14001aad5
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x14001aad0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001acd6
mov rcx, r8
call fcn.14008b4c8
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], shutdown
mov byte [rdi], 0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], shutdown
mov byte [rbx], 0
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x14001ab3c
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ab37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acd6
call fcn.14008b4c8
cmp qword [rdi + 0x10], 0
jne 0x14001abf3
mov edx, 0x9c40
lea rcx, [0x1400fa680]
call fcn.14002abe0
test al, al
je 0x14001ac00
call fcn.14002b900
mov rbx, rax
lea rdx, str.Generate_empty_emulatorId
mov rcx, rax
call fcn.14000e1c0
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x39]
call fcn.140016b10
or r12d, 0x10
mov dword [rbp - 0x49], r12d
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xd8
lea r9, str.C:BuildAgentworkdbddd2e9dd455b4f_src_systemutils_impl.cpp
lea r8, [rbp - 0x39]
mov edx, 0x9c40
lea rcx, [0x1400fa680]
call fcn.14002ba00
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x14001ac00
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001abec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acdc
call fcn.14008b4c8
jmp 0x14001ac00
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.14001cbb0
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x14001ac3b
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ac36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ace2
call fcn.14008b4c8
mov qword [rbp - 9], rsi
mov qword [rbp - 1], shutdown
mov byte [rbp - 0x19], 0
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x14001ac82
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ac7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001acb2
call fcn.14008b4c8
mov rax, rdi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14008bad0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140091b3c
nop
call fcn.14000add0
int3
call fcn.140091b3c
int3
call fcn.14000b150
nop
call fcn.140091b3c
int3
call fcn.140091b3c
int3
call fcn.140091b3c
int3
call fcn.140091b3c
nop
call fcn.140091b3c
int3