Function at 0x140041a50
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x19e80]
mov eax, 0x19f80
call fcn.1400bf550
sub rsp, rax
mov qword [rbp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x1401b4048]
xor rax, rsp
mov qword [rbp + 0x19e70], rax
mov rdi, r9
mov rsi, r8
mov r15, rdx
mov rbx, rcx
cmp qword [rcx + 0x20], 0
jne 0x140041b38
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x78], xmm0
movdqa xmm1, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x78], xmm1
xor edi, edi
mov word [rbp + 0x68], di
lea r8d, [rdi + 0x2b]
lea rdx, str.CCompressedFile::AddFile:__m_Handle_is_zero
lea rcx, [rbp + 0x68]
call fcn.140012d60
nop
lea rcx, [rbp + 0x68]
call fcn.1400647f0
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x140041b1d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041b18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004271c
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x78], xmm0
mov word [rbp + 0x68], di
mov eax, 0x80004005
jmp 0x1400426f5
xor eax, eax
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0xa8], eax
mov rcx, r15
cmp qword [rdx + 0x18], 8
jb 0x140041b69
mov rcx, qword [rdx]
lea rdx, [rbp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r12, rax
mov qword [rbp + 0x60], rax
cmp rax, 0xffffffffffffffff
jne 0x140041d82
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea rdx, str.FindFirstFile__1__
lea rcx, [rbp + 0x4e0]
call fcn.140008a10
nop
mov qword [rbp - 0x50], r15
lea rbx, [fcn.140005090]
mov qword [rbp - 0x48], rbx
lea r15, [0x1400050b0]
mov qword [rbp - 0x40], r15
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140005380
mov rcx, rax
lea rdx, [rbp + 0xb0]
call fcn.140018cb0
nop
lea rcx, [rbp + 0x4e0]
call fcn.14000ac40
mov r9b, 1
mov r8d, esi
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x150]
call fcn.140058300
nop
lea rdx, str.CCompressedFile::AddFile:___1_
lea rcx, [rbp + 0x5f0]
call fcn.140008a10
nop
lea rcx, [rbp + 0x150]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r15
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.140005380
mov rcx, rax
lea rdx, [rbp + 0x270]
call fcn.140018cb0
nop
mov rcx, rax
call fcn.1400647f0
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 8
jb 0x140041c91
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041c8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042722
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x280], xmm0
xor edi, edi
mov word [rbp + 0x270], di
lea rcx, [rbp + 0x5f0]
call fcn.14000ac40
test esi, esi
jle 0x140041cc3
movzx esi, si
or esi, 0x80070000
mov rdx, qword [rbp + 0x168]
cmp rdx, 8
jb 0x140041d09
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041d04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042728
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x160], xmm0
mov word [rbp + 0x150], di
mov rdx, qword [rbp + 0xc8]
cmp rdx, 8
jb 0x140041d66
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041d61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004272e
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0xc0], xmm0
mov word [rbp + 0xb0], di
jmp 0x1400426e4
cmp dword [rbp + 0x2ac], 0
ja 0x1400425db
mov eax, dword [rbp + 0x2b0]
cmp rax, rdi
ja 0x1400425db
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x2a4]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea r8, [rsp + 0x54]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
movzx ecx, word [rsp + 0x50]
shl ecx, 0x10
movzx eax, word [rsp + 0x54]
or ecx, eax
mov dword [rbp + 0xa0], ecx
mov rdx, rsi
lea rcx, [rbp - 0x78]
call fcn.14005efb0
nop
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.14005f4c0
nop
xor edi, edi
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140041e3f
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041e2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042734
call fcn.1400bece8
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rdi
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rdx, qword [rbp + 0x230]
mov dword [rsp + 0x48], 9
mov dword [rsp + 0x40], 8
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rbp + 0x88]
mov rcx, qword [rbx + 0x20]
call fcn.140069310
mov esi, eax
test eax, eax
je 0x140041fae
lea rdx, str.CCompressedFile::AddFile:__zipOpenNewFileInZip_failed_with_result___1_
lea rcx, [rbp + 0x700]
call fcn.140008a10
mov rbx, rax
mov edx, esi
lea rcx, [rbp + 0x190]
call fcn.1400427e0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140040a40
lea rdx, [rbp + 0x170]
mov rcx, rax
call fcn.140018cb0
nop
mov rcx, rax
call fcn.1400647f0
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 8
jb 0x140041f24
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041f1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004273a
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x180], xmm0
mov word [rbp + 0x170], di
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 8
jb 0x140041f81
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140041f7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042740
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x1a0], xmm0
mov word [rbp + 0x190], di
lea rcx, [rbp + 0x700]
call fcn.14000ac40
mov esi, 0x80004005
jmp 0x1400425ca
mov qword [rsp + 0x60], rdi
lea rax, [0x140068760]
mov qword [rbp - 0x60], rax
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x58], rax
lea r8, [rbp - 0x60]
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.1400409b0
nop
mov r14, rdi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x140041ff0
mov rcx, qword [r15]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140042208
call fcn.140042780
mov esi, eax
test eax, eax
jns 0x140042210
lea rdx, str.FileToCompress.Create__1__
lea rcx, [rbp + 0x810]
call fcn.140008a10
nop
mov rdx, r15
mov rcx, rax
call fcn.140040a40
lea rdx, [rbp + 0xf0]
mov rcx, rax
call fcn.140018cb0
nop
lea rcx, [rbp + 0x810]
call fcn.14000ac40
mov r9b, 1
mov r8d, esi
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xd0]
call fcn.140058300
nop
lea rdx, str.CCompressedFile::Add:___1_
lea rcx, [rbp + 0x920]
call fcn.140008a10
nop
lea rcx, [rbp + 0xd0]
mov qword [rbp - 0x20], rcx
lea rbx, [fcn.140005090]
mov qword [rbp - 0x18], rbx
lea r15, [0x1400050b0]
mov qword [rbp - 0x10], r15
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140005380
mov rcx, rax
lea rdx, [rbp + 0x1b0]
call fcn.140018cb0
nop
mov rcx, rax
call fcn.1400647f0
nop
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 8
jb 0x140042125
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042120
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042746
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x1c0], xmm0
mov word [rbp + 0x1b0], di
lea rcx, [rbp + 0x920]
call fcn.14000ac40
nop
mov rdx, qword [rbp + 0xe8]
cmp rdx, 8
jb 0x14004218f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004218a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004274c
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0xe0], xmm0
mov word [rbp + 0xd0], di
mov rdx, qword [rbp + 0x108]
cmp rdx, 8
jb 0x1400421ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400421e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042752
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x100], xmm0
mov word [rbp + 0xf0], di
jmp 0x140042578
mov r14, rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x58], 0xffffffff
nop dword [rax + rax]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x58]
mov r8d, 0x19000
lea rdx, [rbp + 0xe70]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14004224d
call fcn.140042780
mov esi, eax
jmp 0x14004224f
mov esi, edi
test esi, esi
js 0x14004239d
mov r8d, dword [rsp + 0x58]
test r8d, r8d
je 0x14004227d
lea rdx, [rbp + 0xe70]
mov rcx, qword [rbx + 0x20]
call fcn.140069bb0
mov esi, eax
test eax, eax
jne 0x140042284
cmp dword [rsp + 0x58], eax
ja 0x140042220
mov esi, edi
jmp 0x140042578
lea rdx, str.CCompressedFile::AddFile:__zipWriteInFileInZip_failed_with_result___1_
lea rcx, [rbp + 0xa30]
call fcn.140008a10
mov rbx, rax
mov edx, esi
lea rcx, [rbp + 0x1f0]
call fcn.1400427e0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140040a40
lea rdx, [rbp + 0x1d0]
mov rcx, rax
call fcn.140018cb0
nop
mov rcx, rax
call fcn.140064b20
nop
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 8
jb 0x140042313
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004230e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042758
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x1e0], xmm0
mov word [rbp + 0x1d0], di
mov rdx, qword [rbp + 0x208]
cmp rdx, 8
jb 0x140042370
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004236b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004275e
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x200], xmm0
mov word [rbp + 0x1f0], di
lea rcx, [rbp + 0xa30]
call fcn.14000ac40
mov esi, 0x80004005
jmp 0x140042578
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.FileToCompress.Read__1__
lea rcx, [rbp + 0xb40]
call fcn.140008a10
nop
mov rdx, r15
mov rcx, rax
call fcn.140040a40
lea rdx, [rbp + 0x130]
mov rcx, rax
call fcn.140018cb0
nop
lea rcx, [rbp + 0xb40]
call fcn.14000ac40
mov r9b, 1
mov r8d, ebx
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x110]
call fcn.140058300
nop
lea rdx, str.CCompressedFile::AddFile:___1_
lea rcx, [rbp + 0xc50]
call fcn.140008a10
nop
lea rcx, [rbp + 0x110]
mov qword [rbp - 8], rcx
lea rbx, [fcn.140005090]
mov qword [rbp], rbx
lea r15, [0x1400050b0]
mov qword [rbp + 8], r15
lea rdx, [rbp - 8]
mov rcx, rax
call fcn.140005380
mov rcx, rax
lea rdx, [rbp + 0x210]
call fcn.140018cb0
nop
mov rcx, rax
call fcn.140064b20
nop
mov rdx, qword [rbp + 0x228]
cmp rdx, 8
jb 0x14004249a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042495
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042764
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x220], xmm0
mov word [rbp + 0x210], di
lea rcx, [rbp + 0xc50]
call fcn.14000ac40
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x140042504
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400424ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004276a
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], di
mov rdx, qword [rbp + 0x148]
cmp rdx, 8
jb 0x140042561
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004255c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042770
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x140], xmm0
mov word [rbp + 0x130], di
test r14, r14
je 0x14004258b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x78], rdi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400425ca
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400425ca
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400425ca
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + 0x230]
call fcn.14000ae70
jmp 0x1400426e4
lea rdx, str.CCompressedFile::AddFile:__file___1___too_large_to_add_r_n_tsize__high__2__r_n_tsize__low___3_
lea rcx, [rbp + 0xd60]
call fcn.140008a10
nop
mov qword [rbp + 0x10], r15
lea rbx, [fcn.140005090]
mov qword [rbp + 0x18], rbx
lea r15, [0x1400050b0]
mov qword [rbp + 0x20], r15
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140005380
lea rcx, [rbp + 0x2ac]
mov qword [rbp + 0x28], rcx
lea rdi, [fcn.140005090]
mov qword [rbp + 0x30], rdi
lea rbx, [0x1400410f0]
mov qword [rbp + 0x38], rbx
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.140005380
lea rcx, [rbp + 0x2b0]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], rbx
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.140005380
mov rcx, rax
lea rdx, [rbp + 0x250]
call fcn.140018cb0
nop
mov rcx, rax
call fcn.1400645b0
nop
mov rdx, qword [rbp + 0x268]
cmp rdx, 8
jb 0x1400426bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400426b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042716
call fcn.1400bece8
movdqa xmm0, xmmword [0x14013b000]
movdqu xmmword [rbp + 0x260], xmm0
xor edi, edi
mov word [rbp + 0x250], di
lea rcx, [rbp + 0xd60]
call fcn.14000ac40
lea esi, [rdi + 1]
cmp r12, 0xffffffffffffffff
je 0x1400426f3
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, esi
mov rcx, qword [rbp + 0x19e70]
xor rcx, rsp
call fcn.1400bf400
add rsp, 0x19f80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
nop
call fcn.1400e9e3c
int3