Function at 0x14009628c
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x528]
sub rsp, 0x5f0
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1401080e0]
xor rax, rsp
mov qword [rbp + 0x4e0], rax
mov r14, rdx
mov qword [rbp - 8], rdx
mov r15, rcx
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x68], r12d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov rax, qword [0x140108018]
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x30], r12
mov dword [rsp + 0x64], r12d
or r13, 0xffffffffffffffff
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rax
cmp dword [rcx + 0x7fc], r12d
je 0x14009631d
lea rdx, str._exporting_report_
lea rcx, [rbp + 0x50]
jmp 0x140096328
lea rdx, str._compressing_files_
lea rcx, [rbp + 0x48]
call fcn.14006874c
lea rsi, [r15 + 0x5d8]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.14006caa0
mov rcx, r14
call fcn.14007725c
mov qword [rbp + 8], rax
mov r8, rax
lea rdx, str.Total_file_size_for_compression_is__I64d_bytes
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x14009637a
mov qword [rbp - 0x20], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009639c
mov rax, qword [0x140108018]
mov qword [rbp - 0x20], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.14006caa0
cmp dword [r15 + 0x7fc], r12d
je 0x1400963cf
lea r14, [r15 + 0x7f0]
lea rdx, [r15 + 0x800]
mov rcx, r14
call fcn.140068904
jmp 0x14009644c
lea rdx, [rbp]
mov rcx, r14
call fcn.1400768e8
nop
lea r8, [0x1400ca3c0]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140068a74
nop
lea r14, [r15 + 0x7f0]
mov rdx, rax
mov rcx, r14
call fcn.140068904
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096428
lock add dword [rcx], 0xffffffff
jg 0x140096428
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x14009644c
lock add dword [rcx], 0xffffffff
jg 0x14009644c
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov r8, qword [r14]
lea rdx, str.Creating_ZIP_archive_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x140096475
mov qword [rbp - 0x68], rbx
lock inc dword [rbx - 0xc]
jmp 0x14009649b
mov rax, qword [0x140108018]
mov qword [rbp - 0x68], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x68]
call fcn.140067304
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rbp - 0x68]
mov rcx, rsi
call fcn.14006caa0
xor edx, edx
mov rcx, r14
call fcn.140069bfc
mov rcx, rax
xor edx, edx
call fcn.14005d230
mov r12, rax
mov ebx, 0x64
test rax, rax
jne 0x1400964f5
lea rdx, str.Failed_to_create_ZIP_file.
lea rcx, [rbp + 0x40]
call fcn.14006874c
mov r9b, 1
mov r8d, ebx
mov rdx, rax
mov rcx, rsi
call fcn.14006caa0
jmp 0x140096c7c
xor edi, edi
mov dword [rsp + 0x60], edi
mov rbx, qword [rbp - 8]
mov rcx, rbx
call fcn.140076bec
test eax, eax
jle 0x140096a4c
mov edx, edi
mov rcx, rbx
call fcn.140076b24
mov rbx, rax
mov rcx, rsi
call fcn.14006c984
xor edi, edi
test al, al
jne 0x140096c55
xor edx, edx
mov rcx, rbx
call fcn.140069bfc
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14006874c
nop
lea rcx, [rbx + 8]
xor edx, edx
call fcn.140069bfc
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14006874c
nop
mov rbx, qword [rbx + 0x10]
cmp dword [rbx - 0xc], edi
jl 0x140096573
mov qword [rsp + 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400965a1
mov rax, qword [0x140108018]
mov qword [rsp + 0x70], rax
test rbx, rbx
jne 0x140096588
mov eax, edi
jmp 0x140096591
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140067304
nop
mov r8, qword [rsp + 0x58]
lea rdx, str.Compressing_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], edi
jl 0x1400965cb
mov qword [rbp - 0x28], rbx
lock inc dword [rbx - 0xc]
jmp 0x1400965f1
mov rax, qword [0x140108018]
mov qword [rbp - 0x28], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x28]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, rsi
call fcn.14006caa0
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x1400966f6
mov r8, qword [rsp + 0x78]
lea rdx, str.Couldnt_open_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], edi
jl 0x140096662
mov qword [rbp - 0x58], rbx
lock inc dword [rbx - 0xc]
jmp 0x140096688
mov rax, qword [0x140108018]
mov qword [rbp - 0x58], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x58]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x58]
mov rcx, rsi
call fcn.14006caa0
nop
mov rcx, qword [rsp + 0x70]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400966b9
lock add dword [rcx], 0xffffffff
jg 0x1400966b9
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400966d7
lock add dword [rcx], 0xffffffff
jg 0x1400966d7
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400969cd
lock add dword [rcx], 0xffffffff
jmp 0x1400969c6
lea rdx, [rbp + 0xa8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xbc]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov dword [rbp + 0x98], edi
movzx eax, word [rbp + 0x70]
mov dword [rbp + 0x94], eax
movzx eax, word [rbp + 0x72]
dec eax
mov dword [rbp + 0x90], eax
movzx eax, word [rbp + 0x76]
mov dword [rbp + 0x8c], eax
movzx eax, word [rbp + 0x78]
mov dword [rbp + 0x88], eax
movzx eax, word [rbp + 0x7a]
mov dword [rbp + 0x84], eax
movzx eax, word [rbp + 0x7c]
mov dword [rbp + 0x80], eax
mov eax, 0x80
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0x9c], eax
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.14007c9ac
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.140069bfc
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14007c9ac
or dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], 8
mov qword [rsp + 0x38], rbx
and dword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x80]
mov rdx, rax
mov rcx, r12
call fcn.14005ddfc
test eax, eax
je 0x140096845
mov r8, qword [rsp + 0x58]
lea rdx, str.Couldnt_compress_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], 0
jl 0x140096803
mov qword [rbp - 0x38], rbx
lock inc dword [rbx - 0xc]
mov rdi, qword [rsp + 0x70]
jmp 0x140096829
mov rax, qword [0x140108018]
mov qword [rbp - 0x38], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x38]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x38]
mov rcx, rsi
call fcn.14006caa0
nop
lea rcx, [rdi - 0xc]
jmp 0x1400966a4
mov rcx, rsi
call fcn.14006c984
test al, al
jne 0x1400969eb
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x64]
mov r8d, 0x400
lea rdx, [rbp + 0xe0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14009694f
mov r8d, dword [rsp + 0x64]
test r8d, r8d
je 0x14009694f
lea rdx, [rbp + 0xe0]
mov rcx, r12
call fcn.14005dfa4
test eax, eax
jne 0x1400968df
mov eax, dword [rsp + 0x64]
mov rcx, qword [rbp - 0x30]
add rcx, rax
mov qword [rbp - 0x30], rcx
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mulss xmm1, dword [0x1400cdaec]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rbp + 8]
divss xmm1, xmm0
cvttss2si edx, xmm1
xor r8d, r8d
mov rcx, rsi
call fcn.14006ca50
jmp 0x140096845
mov rcx, r12
call fcn.14005e5b8
mov r8, qword [rsp + 0x58]
lea rdx, str.Couldnt_write_to_compressed_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], 0
jl 0x140096917
mov qword [rbp - 0x48], rbx
lock inc dword [rbx - 0xc]
mov rdi, qword [rsp + 0x70]
jmp 0x14009693d
mov rax, qword [0x140108018]
mov qword [rbp - 0x48], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x48]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x48]
mov rcx, rsi
call fcn.14006caa0
mov rcx, r12
call fcn.14005e5b8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or rbx, 0xffffffffffffffff
mov r13, rbx
lea rcx, [rdi - 0xc]
cmp rcx, qword [0x140108010]
je 0x140096986
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x140096986
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400969aa
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x1400969aa
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x1400969cd
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x1400969cd
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
inc dword [rsp + 0x60]
mov rbx, qword [rbp - 8]
mov rcx, rbx
call fcn.140076bec
mov edi, dword [rsp + 0x60]
cmp edi, eax
jl 0x14009650f
jmp 0x140096a4c
lea rcx, [rdi - 0xc]
cmp rcx, qword [0x140108010]
je 0x140096a04
lock add dword [rcx], 0xffffffff
jg 0x140096a04
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x78]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096a22
lock add dword [rcx], 0xffffffff
jg 0x140096a22
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096c55
lock add dword [rcx], 0xffffffff
jg 0x140096c55
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
jmp 0x140096c55
xor edx, edx
mov rcx, r12
call fcn.14005e920
xor r12d, r12d
cmp dword [r15 + 0x7fc], r12d
jne 0x140096c43
mov r8, qword [r14]
lea rdx, str.Calculating_MD5_hash_for_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x140096a8f
mov qword [rbp - 0x70], rbx
lock inc dword [rbx - 0xc]
jmp 0x140096ab5
mov rax, qword [0x140108018]
mov qword [rbp - 0x70], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x70]
call fcn.140067304
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.14006caa0
mov rbx, qword [r14]
cmp dword [rbx - 0xc], r12d
jl 0x140096ada
mov qword [rbp - 0x60], rbx
lock inc dword [rbx - 0xc]
jmp 0x140096b05
mov rax, qword [0x140108018]
mov qword [rbp - 0x60], rax
test rbx, rbx
jne 0x140096aee
xor eax, eax
jmp 0x140096af7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x60]
call fcn.140067304
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x60]
mov rcx, r15
call fcn.140095098
test eax, eax
je 0x140096b7f
mov r8, qword [r14]
lea rdx, str.Couldnt_calculate_MD5_hash_for_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x140096b42
mov qword [rbp - 0x50], rbx
lock inc dword [rbx - 0xc]
jmp 0x140096b68
mov rax, qword [0x140108018]
mov qword [rbp - 0x50], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.140067304
lea rdx, [rbp - 0x50]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.14006caa0
jmp 0x140096c64
lea r8, str..md5
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.140068a74
lea r8, [0x1400c78f0]
mov rdx, qword [rax]
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCR120.dll__wfopen_s]
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096bca
lock add dword [rcx], 0xffffffff
jg 0x140096bca
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff4
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, qword [rbp - 0x80]
test rcx, rcx
jne 0x140096c2b
mov r8, qword [r14]
lea rdx, str.Couldnt_save_MD5_hash_for_file__s
lea rcx, [rsp + 0x50]
call fcn.140069514
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x140096bfc
mov qword [rbp - 0x40], rbx
lock inc dword [rbx - 0xc]
jmp 0x140096c22
mov rax, qword [0x140108018]
mov qword [rbp - 0x40], rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, qword [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.140067304
lea rdx, [rbp - 0x40]
jmp 0x140096b6c
mov rdx, qword [rbp - 0x78]
call qword [sym.imp.MSVCR120.dll_fwprintf]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.MSVCR120.dll_fclose]
and qword [rbp - 0x80], r12
mov rax, qword [rbp + 8]
cmp rax, qword [rbp - 0x30]
jne 0x140096c64
mov dword [rsp + 0x68], 1
test r12, r12
je 0x140096c64
xor edx, edx
mov rcx, r12
call fcn.14005e920
cmp r13, 0xffffffffffffffff
je 0x140096c73
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, 0x64
mov edi, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140096c8b
call qword [sym.imp.MSVCR120.dll_fclose]
test edi, edi
je 0x140096c9c
lea rdx, str.Finished_compressing_files...OK
lea rcx, [rbp + 0x28]
jmp 0x140096ca7
lea rdx, str.File_compression_failed.
lea rcx, [rbp + 0x68]
call fcn.14006874c
mov r9b, 1
mov r8d, ebx
mov rdx, rax
mov rcx, rsi
call fcn.14006caa0
cmp dword [r15 + 0x7fc], 0
je 0x140096ce5
test edi, edi
je 0x140096cd8
lea rdx, str._end_exporting_report_ok_
lea rcx, [rbp + 0x60]
jmp 0x140096cf0
lea rdx, str._end_exporting_report_failed_
lea rcx, [rbp + 0x30]
jmp 0x140096cf0
lea rdx, str._end_compressing_files_
lea rcx, [rbp + 0x38]
call fcn.14006874c
xor r9d, r9d
mov r8d, ebx
mov rdx, rax
mov rcx, rsi
call fcn.14006caa0
nop
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096d24
lock add dword [rcx], 0xffffffff
jg 0x140096d24
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140108010]
je 0x140096d42
lock add dword [rcx], 0xffffffff
jg 0x140096d42
call sub.MSVCR120.dll_void___cdecl_operator_delete___void____ptr64_
nop
lea rcx, [rbp + 0x10]
call fcn.140068890
mov eax, edi
mov rcx, qword [rbp + 0x4e0]
xor rcx, rsp
call fcn.1400bf530
mov rbx, qword [rsp + 0x640]
add rsp, 0x5f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret