Function at 0x140067fa0
Capabilities:
Create directory

Disassembly:
push rbx
push rdi
sub rsp, 0x1d8
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rdi, rcx
lea rax, [rcx + 0x10]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 0
lea rcx, [rsp + 0x30]
call fcn.1400559e0
nop
lea rax, [rsp + 0x1f8]
mov qword [rsp + 0x208], rax
lea rax, [rsp + 0x200]
mov qword [rsp + 0x40], rax
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x1f8], rax
lea rdx, [0x140118e08]
test rdx, 0xffffffffffff0000
jne 0x14006803f
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.140001110
test rax, rax
je 0x14006804d
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.140004fb0
jmp 0x14006804d
lea rcx, [rsp + 0x1f8]
call fcn.140006320
nop
lea rcx, str._h_r_
mov rax, qword [str._h_r_]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x200], rax
lea rdx, str.WinZip
test rdx, 0xffffffffffff0000
jne 0x1400680a0
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.140001110
test rax, rax
je 0x1400680ae
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.140004fb0
jmp 0x1400680ae
lea rcx, [rsp + 0x200]
call fcn.140006320
nop
lea r8, [rsp + 0x1f8]
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x1f0]
call fcn.140013930
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x1f0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov r8, qword [0x1401d01a0]
lea rdx, [0x140123bf8]
lea rcx, [rsp + 0x1f0]
call fcn.140006b90
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
mov rdx, qword [rsp + 0x1f0]
lea rcx, [rsp + 0xc0]
call fcn.140067600
nop
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0xc0]
call qword [sym.imp.MSVCP100.dll_public:_void____ptr64___cdecl_std::ios_base::operator_void____ptr64_void_const___ptr64]
test rax, rax
je 0x1400681a8
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x60]
call fcn.1400dea90
lea rax, vtable.boost::archive::xml_woarchive.0
mov qword [rsp + 0x60], rax
mov rax, qword [0x1401d01a8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x71]
call fcn.140067ae0
nop
lea rax, vtable.boost::archive::xml_woarchive_impl_class_boost::archive::xml_woarchive_.0
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x60]
call fcn.1400ddb90
nop
lea rcx, [rsp + 0x80]
call fcn.1400dd950
nop
lea rax, [rsp + 0x168]
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0xc0], rax
lea rcx, [rsp + 0xc8]
call fcn.14003c3d0
nop
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rsp + 0x168]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x1f0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140068222
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
cmp byte [rsp + 0x38], 0
je 0x14006826b
mov rax, qword [rsp + 0x30]
dec dword [rax]
jne 0x14006826b
xor ecx, ecx
xchg dword [rax + 4], ecx
mov rcx, qword [rsp + 0x30]
add rcx, 8
mov eax, 0x80000000
lock xadd dword [rcx], eax
bt eax, 0x1e
jb 0x14006826b
cmp eax, 0x80000000
jle 0x14006826b
lock bts dword [rcx], 0x1e
jb 0x14006826b
call fcn.14000a700
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov al, 1
jmp 0x1400682ec
add rsp, 0x1d8
pop rdi
pop rbx
ret