Function at 0x18001e840
Capabilities:
Create directory

Disassembly:
push rbp
push r14
push r15
lea rbp, [rsp - 0x1130]
mov eax, 0x1230
call fcn.1801532b0
sub rsp, rax
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x1258], rbx
mov qword [rsp + 0x1260], rsi
mov qword [rsp + 0x1268], rdi
mov rax, qword [0x180272190]
xor rax, rsp
mov qword [rbp + 0x1120], rax
mov r14, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
lea r15, vtable.WKString.0
mov qword [rsp + 0x30], r15
mov byte [rsp + 0x38], al
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov rdx, rcx
lea rcx, [rsp + 0x30]
call sym.WebKeyAPICPPDLLx64.dll_protected:_void___cdecl_WKString::Set_char_const____ptr64____ptr64
nop
lea rsi, [0x1801ca568]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
test rdi, rdi
je 0x18001e932
cmp byte [rdi + rbx - 1], 0x5c
jne 0x18001e92a
lea r8, [rdi - 1]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call sym.WebKeyAPICPPDLLx64.dll_public:_class_WKString___cdecl_WKString::Left_unsigned_long_long_unsigned___int64_____ptr64
nop
cmp qword [rax + 0x20], 0
mov rdx, rsi
je 0x18001e901
mov rdx, qword [rax + 0x10]
lea rcx, [rsp + 0x30]
call sym.WebKeyAPICPPDLLx64.dll_protected:_void___cdecl_WKString::Set_char_const____ptr64____ptr64
nop
mov qword [rsp + 0x60], r15
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x18001e920
call fcn.1801525f4
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
test rdi, rdi
mov rcx, rbx
jne 0x18001e935
mov rcx, rsi
lea rdx, [rbp + 0x120]
sub rdx, rcx
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18001e940
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x120]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp rax, 0xffffffffffffffff
je 0x18001e97a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
test byte [rbp - 0x20], 0x10
je 0x18001eaa5
jmp 0x18001e9f9
cmp rdi, 2
jne 0x18001e988
cmp byte [rbx + 1], 0x3a
jne 0x18001e988
jmp 0x18001e9fe
test rbx, rbx
je 0x18001e9e3
mov edx, 0x5c
mov rcx, rbx
call fcn.180154428
test rax, rax
je 0x18001e9e3
sub eax, dword [rsp + 0x40]
cmp eax, 0xffffffff
je 0x18001e9e3
movsxd r8, eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call sym.WebKeyAPICPPDLLx64.dll_public:_class_WKString___cdecl_WKString::Left_unsigned_long_long_unsigned___int64_____ptr64
nop
mov rcx, rsi
cmp qword [rbp - 0x80], 0
cmovne rcx, qword [rsp + 0x70]
call sym.WebKeyAPICPPDLLx64.dll_void___cdecl_WebKeyUtils::EnsureDirectoryExists_char_const____ptr64_
nop
mov qword [rsp + 0x60], r15
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x18001e9e3
call fcn.1801525f4
test rdi, rdi
cmovne rsi, rbx
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x18001ea32
test rbx, rbx
je 0x18001ea06
mov rcx, rbx
call fcn.1801525f4
mov rcx, qword [rbp + 0x1120]
xor rcx, rsp
call fcn.1801525d0
lea r11, [rsp + 0x1230]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, gethostname
call fcn.180152604
mov rbx, rax
mov qword [rsp + 0x58], rax
mov rdx, r14
lea rcx, [rbp - 0x48]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKString::constructor_char_const____ptr64____ptr64
nop
mov dword [rsp + 0x20], 8
mov r8, rax
lea rdx, str.Cannot_create_directory
lea rcx, [rbp - 0x70]
call fcn.18000b4c0
nop
mov dword [rsp + 0x20], Ordinal_30
mov rcx, rax
call sym.WebKeyAPICPPDLLx64.dll_public:_char____ptr64___cdecl_WKString::operator_char____ptr64_void____ptr64
mov r8, rax
mov edx, 0x402
mov rcx, rbx
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKException::constructor_unsigned_int__char_const____ptr64____ptr64
nop
mov qword [rsp + 0x28], rax
lea rdx, [0x1802460c0]
lea rcx, [rsp + 0x28]
call fcn.180155078
nop
mov ecx, gethostname
call fcn.180152604
mov rbx, rax
mov qword [rsp + 0x58], rax
lea rdx, str._exists_but_is_not_a_directory.
lea rcx, [rsp + 0x60]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKString::constructor_char_const____ptr64____ptr64
nop
mov dword [rsp + 0x20], 1
mov rdx, r14
lea rcx, [rbp - 0x70]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKString::constructor_char_const____ptr64____ptr64
nop
mov dword [rsp + 0x20], 3
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.18000b440
nop
mov dword [rsp + 0x20], 7
mov rcx, rax
call sym.WebKeyAPICPPDLLx64.dll_public:_char____ptr64___cdecl_WKString::operator_char____ptr64_void____ptr64
mov r8, rax
mov edx, 0x402
mov rcx, rbx
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKException::constructor_unsigned_int__char_const____ptr64____ptr64
nop
mov qword [rsp + 0x28], rax
lea rdx, [0x1802460c0]
lea rcx, [rsp + 0x28]
call fcn.180155078
int3