Function at 0x1400012a0
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1100]
mov eax, 0x1200
call fcn.1400047e0
sub rsp, rax
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rbp + 0x10f0], rax
mov r13, rdx
xor r14d, r14d
mov dword [rbp - 0x50], r14d
cmp qword [rcx + 0x18], 0xf
jbe 0x1400012ea
mov rcx, qword [rcx]
lea r8, [rbp - 0x50]
mov edx, 0x10
call qword [sym.imp.zip.dll_zip_open]
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14000185e
mov rcx, r13
cmp qword [r13 + 0x18], 0xf
jbe 0x140001318
mov rcx, qword [r13]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x140001335
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000185e
xor edx, edx
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_get_num_entries]
mov qword [rsp + 0x60], rax
mov rbx, r14
mov qword [rsp + 0x58], rbx
test rax, rax
jle 0x140001766
nop word [rax + rax]
lea rcx, [rsp + 0x70]
call qword [sym.imp.zip.dll_zip_stat_init]
mov r8d, 0x800
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_get_name]
mov rdx, rax
lea r9, [rsp + 0x70]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_stat]
mov r8d, 0x800
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_get_name]
mov rdx, rax
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_fopen]
mov r12, rax
test rax, rax
je 0x14000188a
mov rsi, qword [r13 + 0x10]
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, rsi
cmp rcx, 1
jb 0x140001895
mov r15, r13
cmp qword [r13 + 0x18], 0xf
jbe 0x1400013ea
mov r15, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
lea r14, [rsi + 1]
mov ebx, 0xf
lea rdi, [rsp + 0x30]
cmp r14, rbx
jbe 0x14000148a
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x14000142e
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14000145e
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140001448
xor edi, edi
jmp 0x140001485
cmp rcx, 0x1000
jb 0x14000147d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000189b
mov rcx, rax
call fcn.140003890
test rax, rax
je 0x140001776
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140001485
call fcn.140003890
mov rdi, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0x5c
mov byte [rdi + r14], 0
mov r9, qword [rsp + 0x78]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [r9 + rdi], 0
jne 0x1400014c0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140001513
lea rax, [rdi + rcx]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x30]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
lea rax, [rsp + 0x30]
jmp 0x140001525
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400034a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xor r14d, r14d
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140001592
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000158d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000177d
call fcn.1400038cc
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
lea rcx, [rbp - 0x20]
call fcn.140002dd0
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rsi
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x24], edx
mov rcx, r12
cmp qword [rbp + 0x68], 0
je 0x140001784
mov r8d, 0x1000
lea rdx, [rbp + 0xf0]
call qword [sym.imp.zip.dll_zip_fread]
test rax, rax
jle 0x14000164f
nop dword [rax]
mov r8, rax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
mov r8d, 0x1000
lea rdx, [rbp + 0xf0]
mov rcx, r12
call qword [sym.imp.zip.dll_zip_fread]
test rax, rax
jg 0x140001620
lea rcx, [rbp - 0x18]
call fcn.140002d10
test rax, rax
jne 0x14000167a
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, r12
call qword [sym.imp.zip.dll_zip_fclose]
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x20], rsi
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x24], edx
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x18], rax
cmp qword [rbp + 0x68], 0
je 0x1400016dc
lea rcx, [rbp + 0x58]
mov rax, qword [rbp]
cmp qword [rax], rcx
jne 0x1400016dc
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
mov qword [rax], rcx
mov rax, qword [rbp + 0x20]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x38]
mov dword [rax], edx
cmp byte [rbp + 0x64], 0
je 0x1400016eb
lea rcx, [rbp - 0x18]
call fcn.140002d10
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x88]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140001749
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001744
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001852
call fcn.1400038cc
mov rbx, qword [rsp + 0x58]
inc rbx
mov qword [rsp + 0x58], rbx
mov rdi, qword [rsp + 0x50]
cmp rbx, qword [rsp + 0x60]
jl 0x140001360
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_close]
mov al, 1
jmp 0x140001860
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.zip.dll_zip_fclose]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.zip.dll_zip_close]
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x20], rsi
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x24], edx
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x18], rax
cmp qword [rbp + 0x68], 0
je 0x1400017ee
lea rcx, [rbp + 0x58]
mov rax, qword [rbp]
cmp qword [rax], rcx
jne 0x1400017ee
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
mov qword [rax], rcx
mov rax, qword [rbp + 0x20]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x38]
mov dword [rax], edx
cmp byte [rbp + 0x64], 0
je 0x1400017fd
lea rcx, [rbp - 0x18]
call fcn.140002d10
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x88]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x14000185e
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001859
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001859
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400038cc
xor al, al
mov rcx, qword [rbp + 0x10f0]
xor rcx, rsp
call fcn.140003870
mov rbx, qword [rsp + 0x1250]
add rsp, 0x1200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, rdi
call qword [sym.imp.zip.dll_zip_close]
jmp 0x14000185e
call fcn.1400011b0
int3
call fcn.140001110
int3