Function at 0x140005c40
Capabilities:
Create directory
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x370], rbx
mov rax, qword [0x140108708]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov qword [rsp + 0x58], rdx
mov r13, rcx
cmp qword [rcx + 0x18], 8
jb 0x140005c91
mov rdx, qword [rcx]
jmp 0x140005c94
mov rdx, r13
lea rcx, [rbp + 0x80]
call fcn.14002ad80
nop
lea rax, [0x140034390]
mov qword [rbp + 0xc0], rax
lea rax, [0x140034460]
mov qword [rbp + 0xc8], rax
lea rax, [0x1400344d0]
mov qword [rbp + 0xd0], rax
lea rax, [0x140034540]
mov qword [rbp + 0xd8], rax
lea rax, [0x1400345d0]
mov qword [rbp + 0xe0], rax
lea rax, [0x140034670]
mov qword [rbp + 0xe8], rax
lea rax, [0x1400346b0]
mov qword [rbp + 0xf0], rax
xor ebx, ebx
mov qword [rbp + 0xf8], rbx
lea rcx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rcx, qword [rbp + 0x80]
movaps xmm0, xmmword [rbp + 0xc0]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [rbp + 0xd0]
movaps xmmword [rbp - 0x50], xmm1
movaps xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp - 0x40], xmm0
movaps xmm1, xmmword [rbp + 0xf0]
movaps xmmword [rbp - 0x30], xmm1
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
lea rdx, [rbp - 0x60]
call fcn.140032490
mov rsi, rax
test rax, rax
jne 0x140005da8
lea rax, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rax, qword [rbp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, str.error:_Cannot_open__ls
lea r8, str.NGXExtractZipContents
mov edx, 0x358
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
jmp 0x140006526
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x70], rbx
mov byte [rbp + 0x60], bl
xor r8d, r8d
lea rdx, [0x1400e68d8]
lea rcx, [rbp + 0x60]
call fcn.1400199b0
nop
movups xmm0, xmmword [rsi + 0x68]
movups xmmword [rsp + 0x68], xmm0
cmp qword [r13 + 0x18], 8
jb 0x140005de1
mov rax, qword [r13]
jmp 0x140005de4
mov rax, r13
mov qword [rsp + 0x20], rax
lea r9, str.Extracting_contents_of__ls
lea r8, str.NGXExtractZipContents
mov edx, 0x369
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.140026910
mov ecx, 0x2000
call fcn.1400a5330
mov r14, rax
lea rax, [fcn.14009f830]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r14
test r14, r14
jne 0x140005e42
mov dword [rsp + 0x20], 0x2000
lea r9, str.error:_Unable_to_allocate_memory_while_trying_to_extract_downloaded_zip_file._Memory_requested:__d
mov edx, 0x371
jmp 0x140006467
mov r15d, ebx
mov dword [rsp + 0x54], ebx
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14000647e
nop word [rax + rax]
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x100]
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.140032dc0
test eax, eax
jne 0x140006457
lea r12, [rbp + 0x100]
lea rdi, [rbp + 0x100]
cmp byte [rbp + 0x100], al
je 0x1400061b3
lea r15, [rbp + 0x100]
neg r15
nop word [rax + rax]
movzx eax, byte [rdi]
cmp al, 0x5c
je 0x140005ebf
cmp al, 0x2f
jne 0x14000619d
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
xor eax, eax
mov qword [rbp + 0x10], rax
mov byte [rbp], al
lea r12, [rdi + 1]
lea r8, [r12 + r15]
lea rdx, [rbp + 0x100]
lea rcx, [rbp]
call fcn.1400199b0
nop
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
lea rcx, [rbp + 0x40]
call fcn.14002b070
mov rbx, rax
lea r8, [0x1400e6f38]
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xa0]
call fcn.14001df30
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.14001dc20
nop
mov rax, qword [rbp + 0xb8]
cmp rax, 8
jb 0x140005f96
inc rax
mov rcx, qword [rbp + 0xa0]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x140006324
add rax, rax
cmp rax, 0x1000
jb 0x140005f91
test cl, 0x1f
jne 0x14000631e
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140006318
sub rcx, rax
cmp rcx, 8
jb 0x140006312
cmp rcx, 0x27
ja 0x14000630c
mov rcx, rax
call fcn.140077f98
mov qword [rbp + 0xb8], 7
xor ebx, ebx
mov qword [rbp + 0xb0], rbx
mov word [rbp + 0xa0], bx
mov rax, qword [rbp + 0x58]
cmp rax, 8
jb 0x140006015
inc rax
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x140006342
add rax, rax
cmp rax, 0x1000
jb 0x140006010
test cl, 0x1f
jne 0x14000633c
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140006336
sub rcx, rax
cmp rcx, 8
jb 0x140006330
cmp rcx, 0x27
ja 0x14000632a
mov rcx, rax
call fcn.140077f98
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], rbx
mov word [rbp + 0x40], bx
lea rbx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rbx, qword [rbp + 0x20]
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call fcn.1400a6148
test eax, eax
je 0x140006080
cmp eax, 0xffffffff
jne 0x140006055
call fcn.14009f5f0
cmp dword [rax], 2
je 0x14000608f
mov qword [rsp + 0x20], rbx
lea r9, str.error:_Unable_to_run_stat_on__ls
lea r8, str.NGXIsDirectory
mov edx, 0x948
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_common_nvngx_common.cpp
call fcn.1400268e0
call fcn.14009f5f0
jmp 0x14000608f
movzx eax, word [rbp + 0xc6]
shr ax, 0xe
and al, 1
jne 0x1400060d9
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rcx, qword [rbp + 0x20]
call fcn.1400a5414
test eax, eax
je 0x1400060d9
lea rax, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rax, qword [rbp]
mov qword [rsp + 0x20], rax
lea r9, str.warning:_Unable_to_create_directory_while_trying_to_extract_downloaded_zip_file._Directory:__s
lea r8, str.NGXExtractZipContents
mov edx, 0x394
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.140026910
nop
mov rax, qword [rbp + 0x38]
cmp rax, 8
jb 0x14000613d
inc rax
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x140006360
add rax, rax
cmp rax, 0x1000
jb 0x140006138
test cl, 0x1f
jne 0x14000635a
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140006354
sub rcx, rax
cmp rcx, 8
jb 0x14000634e
cmp rcx, 0x27
ja 0x140006348
mov rcx, rax
call fcn.140077f98
mov qword [rbp + 0x38], 7
xor eax, eax
mov qword [rbp + 0x30], rax
mov word [rbp + 0x20], ax
mov rax, qword [rbp + 0x18]
cmp rax, 0x10
jb 0x14000619d
inc rax
mov rcx, qword [rbp]
cmp rax, 0x1000
jb 0x140006198
test cl, 0x1f
jne 0x140006378
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140006372
sub rcx, rax
cmp rcx, 8
jb 0x14000636c
cmp rcx, 0x27
ja 0x140006366
mov rcx, rax
call fcn.140077f98
inc rdi
cmp byte [rdi], 0
jne 0x140005eb0
mov r15d, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x68]
cmp byte [r12], 0
je 0x1400062db
mov rcx, rsi
call fcn.140033df0
test eax, eax
jne 0x140006403
mov rcx, qword [rsp + 0x58]
call fcn.140015eb0
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.14002ad80
nop
lea r8, [0x1400e6a4c]
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.14001dab0
nop
lea r8, [rbp + 0x100]
mov rdx, rax
lea rcx, [rbp]
call fcn.14001dab0
nop
lea rcx, [rbp + 0x40]
call fcn.140016140
nop
lea rcx, [rbp + 0xa0]
call fcn.140016140
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rcx, qword [rbp]
lea rdx, [0x1400e7184]
call fcn.14009af60
mov rbx, rax
lea rax, [fcn.14009b1f0]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rbx
test rbx, rbx
je 0x1400063b1
nop dword [rax + rax]
mov rdx, r14
mov rcx, rsi
call fcn.140034000
test eax, eax
js 0x140006291
jle 0x1400062b4
movsxd rdx, eax
mov r9, rbx
mov r8d, 1
mov rcx, r14
call fcn.14009f4b0
cmp rax, 1
jne 0x14000637e
jmp 0x140006260
mov dword [rsp + 0x20], eax
lea r9, str.error:_Unable_to_read_current_file__error_code:__d
lea r8, str.NGXExtractZipContents
mov edx, 0x3bc
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
mov rcx, rsi
call fcn.1400342d0
test eax, eax
jne 0x14000639f
mov rcx, rbx
call fcn.14009b1f0
nop
lea rcx, [rbp]
call fcn.140016140
mov rbx, qword [rsp + 0x68]
inc r15d
mov dword [rsp + 0x54], r15d
mov eax, r15d
cmp rax, rbx
jae 0x1400062fb
mov rcx, rsi
call fcn.140033820
test eax, eax
jne 0x140006424
mov eax, r15d
cmp rax, rbx
jae 0x14000647e
jmp 0x140005e60
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
nop
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
nop
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
nop
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
int3
call fcn.14009eefc
nop
lea r9, str.error:_Unable_to_write_extracted_file
lea r8, str.NGXExtractZipContents
mov edx, 0x3c3
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
jmp 0x1400063ea
mov dword [rsp + 0x20], eax
lea r9, str.error:_Unable_to_close_zip_file__error_code:__d
mov edx, 0x3cc
jmp 0x1400063d6
movups xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x50], xmm1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, str.error:_Unable_to_open__s_for_writing
mov edx, 0x3b0
lea r8, str.NGXExtractZipContents
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
nop
test rbx, rbx
je 0x1400063f8
mov rcx, rbx
call fcn.14009b1f0
nop
lea rcx, [rbp]
call fcn.140016140
jmp 0x140006453
lea r9, str.error:_Unable_to_open_zipped_file
lea r8, str.NGXExtractZipContents
mov edx, 0x3a2
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
jmp 0x140006453
cmp qword [r13 + 0x18], 8
jb 0x14000642f
mov r13, qword [r13]
mov qword [rsp + 0x20], r13
lea r9, str.error:_Unable_to_go_to_next_file_while_extracting_the_zip_file:__ls
lea r8, str.NGXExtractZipContents
mov edx, 0x3d7
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
xor bl, bl
jmp 0x1400064b1
mov dword [rsp + 0x20], eax
lea r9, str.error:_Unable_to_unzGetCurrentFileInfo__error:__d
mov edx, 0x37f
lea r8, str.NGXExtractZipContents
lea rcx, str.C:_dvs_p4_build_sw_rel_gpu_drv_r560_r560_88_drivers_ngx_updater_ngx_update.cpp
call fcn.1400268e0
xor bl, bl
jmp 0x1400064b1
cmp qword [rsi + 0x110], 0
je 0x140006490
mov rcx, rsi
call fcn.1400342d0
mov rbx, qword [rsi + 0x28]
mov rcx, rbx
call qword [fcn.1400017d0]
mov rdx, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x38]
call rbx
mov rcx, rsi
call fcn.14009f830
mov bl, 1
test r14, r14
je 0x1400064bf
mov rcx, r14
call fcn.14009f830
nop
mov rax, qword [rbp + 0x78]
cmp rax, 0x10
jb 0x140006515
inc rax
mov rcx, qword [rbp + 0x60]
cmp rax, 0x1000
jb 0x140006510
test cl, 0x1f
je 0x1400064e3
call fcn.14009eefc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400064f2
call fcn.14009eefc
int3
sub rcx, rax
cmp rcx, 8
jae 0x140006501
call fcn.14009eefc
int3
cmp rcx, 0x27
jbe 0x14000650d
call fcn.14009eefc
int3
mov rcx, rax
call fcn.140077f98
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
xor eax, eax
mov qword [rbp + 0x70], rax
mov byte [rbp + 0x60], al
mov rax, qword [rbp + 0x98]
cmp rax, 0x10
jb 0x140006582
inc rax
mov rcx, qword [rbp + 0x80]
cmp rax, 0x1000
jb 0x14000657d
test cl, 0x1f
je 0x140006550
call fcn.14009eefc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14000655f
call fcn.14009eefc
int3
sub rcx, rax
cmp rcx, 8
jae 0x14000656e
call fcn.14009eefc
int3
cmp rcx, 0x27
jbe 0x14000657a
call fcn.14009eefc
int3
mov rcx, rax
call fcn.140077f98
movzx eax, bl
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.140077880
mov rbx, qword [rsp + 0x370]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret