Function at 0x180006c00
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x18011e900]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov r15, rdx
mov qword [rsp + 0x70], rdx
xor r14d, r14d
cmp qword [rcx + 0x18], 0xf
jbe 0x180006c45
mov rcx, qword [rcx]
call fcn.180097dc0
mov r13, rax
test rax, rax
jne 0x180006c76
lea rdx, str.Error_opening_ZIP_file
lea rcx, [0x180123c60]
call fcn.18000fe30
mov rcx, rax
call fcn.1800100e0
lea eax, [r13 - 1]
jmp 0x18000728b
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.180097c60
test eax, eax
je 0x180006cb4
lea rdx, str.Error_getting_global_info_from_ZIP_file
lea rcx, [0x180123c60]
call fcn.18000fe30
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097a60
mov eax, 0xffffffff
jmp 0x18000728b
mov dword [rsp + 0x44], r14d
cmp dword [rsp + 0x50], r14d
jbe 0x180007281
movzx ebx, byte [rsp + 0x40]
movabs r12, 0x7fffffffffffffff
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x100
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.180097b60
test eax, eax
jne 0x1800073e1
mov rcx, r13
call fcn.180097dd0
test eax, eax
jne 0x1800073b4
mov r14d, dword [rbp - 0x64]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor esi, esi
mov qword [rsp + 0x68], rsi
test r14, r14
je 0x180006d93
cmp r14, 0x1000
jb 0x180006d63
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x180007414
call fcn.18009e970
test rax, rax
je 0x18000740e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180006d6e
mov rcx, r14
call fcn.18009e970
mov rdi, rax
mov qword [rsp + 0x58], rdi
lea rsi, [rdi + r14]
mov qword [rsp + 0x68], rsi
mov r8, r14
xor edx, edx
mov rcx, rdi
call fcn.1800daa20
mov r8, rsi
mov qword [rsp + 0x60], rsi
jmp 0x180006d9d
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
sub r8, rdi
mov rdx, rdi
mov rcx, r13
call fcn.180098c30
mov dword [rsp + 0x48], eax
test eax, eax
js 0x18000734a
mov rdx, qword [r15 + 0x10]
mov rcx, r12
sub rcx, rdx
cmp rcx, 1
jb 0x18000742c
mov r9, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x180006dd8
mov r9, qword [r15]
mov qword [rsp + 0x30], 1
lea rax, [0x180106bdc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov r8, r15
movzx edx, bl
lea rcx, [rbp + 0x10]
call fcn.180002b40
nop
lea rax, [rbp + 0x130]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180006e10
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x10]
call fcn.1800025b0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xor r14d, r14d
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r14b
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x180006e95
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006e90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000741a
call fcn.18009e9ac
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], 0
lea rax, [rbp - 0x30]
mov r12, qword [rbp - 0x18]
cmp r12, 0xf
seta dl
mov byte [rsp + 0x40], dl
mov r15, qword [rbp - 0x30]
cmova rax, r15
mov rcx, qword [rbp - 0x20]
cmp byte [rcx + rax - 1], 0x2f
jne 0x180006f57
lea rcx, [rbp - 0x30]
test dl, dl
cmovne rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180006eec
test al, 0x10
jne 0x1800070be
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
test eax, eax
je 0x1800070be
lea rdx, str.Error_creating_directory:
lea rcx, [0x180123c60]
call fcn.18000fe30
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rax
call fcn.1800157c0
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097ab0
mov rcx, r13
call fcn.180097a60
jmp 0x1800072fd
lea r14, [rbp - 0x30]
test dl, dl
cmovne r14, r15
test rcx, rcx
je 0x180006fb8
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x30]
call fcn.1800daa20
mov byte [rbp + 0x5f], 1
mov rcx, qword [rbp - 0x20]
lea rax, [rcx - 1]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
add r8, r14
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x30], 0
jne 0x180006fb3
nop
cmp r8, r14
je 0x180006fb8
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x30], 0
je 0x180006fa0
sub r8, r14
jmp 0x180006fbf
mov r8, 0xffffffffffffffff
cmp r8, 0xffffffffffffffff
je 0x18000707a
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xor r14d, r14d
mov qword [rbp], r14
mov qword [rbp + 8], r14
cmp rcx, r8
cmovb r8, rcx
lea rdx, [rbp - 0x30]
cmp byte [rsp + 0x40], r14b
cmovne rdx, r15
lea rcx, [rbp - 0x10]
call fcn.180002820
nop
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180007016
test al, 0x10
jne 0x180007037
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rdx, qword [rbp - 0x10]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
test eax, eax
jne 0x180007178
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x180007072
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000706d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007420
call fcn.18009e9ac
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 0x18]
lea rcx, [rbp - 0x30]
cmp r12, 0xf
cmova rcx, r15
lea rdx, [0x180106bfc]
call fcn.1800aeff4
mov r14, rax
test rax, rax
je 0x1800072b5
movsxd r8, dword [rsp + 0x48]
mov r9, rax
mov edx, 1
mov rcx, rdi
call fcn.1800b5968
mov rcx, r14
call fcn.1800b2ec8
xor r14d, r14d
mov rcx, r13
call fcn.180097ab0
mov rcx, r13
call fcn.180097d00
nop
mov rdx, qword [rbp - 0x18]
test eax, eax
jne 0x180007202
cmp rdx, 0xf
jbe 0x180007112
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000710d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007426
call fcn.18009e9ac
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
test rdi, rdi
je 0x18000715a
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18000714f
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000740e
mov rdx, rsi
mov rcx, rdi
call fcn.18009e9ac
mov edi, dword [rsp + 0x44]
inc edi
mov dword [rsp + 0x44], edi
cmp edi, dword [rsp + 0x50]
jae 0x180007281
mov r15, qword [rsp + 0x70]
jmp 0x180006cc9
lea rdx, str.Error_creating_directory:
lea rcx, [0x180123c60]
call fcn.18000fe30
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
mov rcx, rax
call fcn.1800157c0
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097ab0
mov rcx, r13
call fcn.180097a60
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1800072fd
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800071f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007420
call fcn.18009e9ac
jmp 0x1800072fd
cmp rdx, 0xf
jbe 0x180007239
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007234
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007426
call fcn.18009e9ac
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
test rdi, rdi
je 0x180007281
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x180007276
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000740e
mov rdx, rsi
mov rcx, rdi
call fcn.18009e9ac
mov rcx, r13
call fcn.180097a60
xor eax, eax
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.18009e950
mov rbx, qword [rsp + 0x390]
add rsp, 0x340
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.Error_creating_output_file:
lea rcx, [0x180123c60]
call fcn.18000fe30
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rax
call fcn.1800157c0
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097ab0
mov rcx, r13
call fcn.180097a60
xor r14d, r14d
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x180007338
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007333
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007426
call fcn.18009e9ac
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
jmp 0x180007376
lea rdx, str.Error_reading_file_from_ZIP_file
lea rcx, [0x180123c60]
call fcn.18000fe30
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097ab0
mov rcx, r13
call fcn.180097a60
nop
test rdi, rdi
je 0x1800073aa
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x18000739f
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000740e
mov rdx, rsi
mov rcx, rdi
call fcn.18009e9ac
mov eax, 0xffffffff
jmp 0x18000728b
lea rdx, str.Error_opening_file_in_ZIP_file
lea rcx, [0x180123c60]
call fcn.18000fe30
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097a60
mov eax, 0xffffffff
jmp 0x18000728b
lea rdx, str.Error_getting_file_info_from_ZIP_file
lea rcx, [0x180123c60]
call fcn.18000fe30
mov rcx, rax
call fcn.1800100e0
mov rcx, r13
call fcn.180097a60
mov eax, 0xffffffff
jmp 0x18000728b
call fcn.1800aebe0
int3
call fcn.180001b80
nop
call fcn.1800aebe0
int3
call fcn.1800aebe0
nop
call fcn.1800aebe0
int3
call fcn.180001c20
int3