Function at 0x1400040d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1040
call fcn.140005fd0
sub rsp, rax
mov rax, qword [0x140031008]
xor rax, rsp
mov qword [rsp + 0x1030], rax
mov r14, qword [rsp + 0x10b0]
mov r13, r8
mov r15, qword [rsp + 0x10a8]
mov ebx, edx
mov r12, rcx
mov qword [rsp + 0x20], r14
mov ebp, 0x1000
lea rcx, [rsp + 0x30]
mov r8d, ebp
xor edx, edx
mov esi, r9d
call fcn.140007300
mov edi, dword [r12 + 8]
mov rcx, r13
sub ebx, edi
mov edx, edi
cmp ebx, ebp
cmovg ebx, ebp
xor r8d, r8d
movsxd rbx, ebx
call fcn.14000ac14
mov r9, r13
lea rcx, [rsp + 0x30]
mov r8, rbx
mov edx, 1
call fcn.14000a8dc
cmp rax, rbx
je 0x14000418c
mov ecx, 2
call fcn.140009d00
mov rcx, rax
lea rdx, str.VivExtractFile:_File_read_error_at__d__extract_outfilename__n
mov r8d, edi
call fcn.140004e60
xor eax, eax
jmp 0x140004451
test esi, esi
je 0x14000419f
mov edx, dword [r12 + 0xc]
lea rcx, [rsp + 0x30]
call fcn.1400015a0
lea rdx, [0x14002359c]
lea rcx, [rsp + 0x30]
call fcn.14000a458
test rax, rax
je 0x1400042f8
mov rcx, rax
call fcn.140009f14
cmp dword [rsp + 0x10a0], 1
jne 0x14000436a
xor r14d, r14d
lea rcx, [rsp + 0x30]
lea edx, [r14 + 0x2e]
call fcn.140006a70
mov rdx, 0xffffffffffffffff
lea rcx, [rsp + 0x30]
mov rbx, rdx
nop
inc rbx
cmp byte [rcx + rbx], r14b
jne 0x1400041f0
lea rcx, [rbx + 0x20]
cmp rcx, 0x400
ja 0x140004334
test rax, rax
lea rbp, [0x140023640]
cmovne rbp, rax
nop dword [rax + rax]
inc rdx
cmp byte [rdx + rbp], r14b
jne 0x140004220
sub ebx, edx
mov edx, 1
call fcn.14000e88c
mov rsi, rax
test rax, rax
jne 0x14000424e
lea rcx, str.RenameExistingFile:_Failed_to_allocate_memory._n
call fcn.140005be0
jmp 0x140004345
movsxd rbx, ebx
lea rdx, [rsp + 0x30]
mov r8, rbx
mov rcx, rsi
call fcn.140006c50
add rbx, rsi
mov edi, r14d
nop word [rax + rax]
mov r9, rbp
lea rdx, str.__d_s
mov r8d, edi
mov rcx, rbx
call fcn.140005c40
lea rdx, [0x14002359c]
mov rcx, rsi
call fcn.14000a458
test rax, rax
je 0x1400042ad
mov rcx, rax
call fcn.140009f14
inc edi
cmp edi, 0x3e8
jl 0x140004270
jmp 0x1400042e6
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14000b978
lea rdx, [rsp + 0x30]
test eax, eax
jne 0x1400042da
mov r8, rsi
lea rcx, str.RenameExistingFile:_Renamed_existing_file__s_to__s_n
call fcn.140005be0
mov r14d, 1
jmp 0x1400042e6
lea rcx, str.RenameExistingFile:_Failed_to_rename__s_n
call fcn.140005be0
mov rcx, rsi
call fcn.14000e894
test r14d, r14d
je 0x140004345
mov r14, qword [rsp + 0x20]
lea rdx, [0x1400245e4]
lea rcx, [rsp + 0x30]
call fcn.14000a458
mov rbp, rax
test rax, rax
jne 0x14000438d
lea ecx, [rax + 2]
call fcn.140009d00
mov rcx, rax
lea r8, [rsp + 0x30]
lea rdx, str.VivExtractFile:_Cannot_create_output_file__s_n
call fcn.140004e60
xor eax, eax
jmp 0x140004451
lea rdx, [rsp + 0x30]
lea rcx, str.RenameExistingFile:_Failed_to_rename_file__filename_too_long___s_n
call fcn.140005be0
mov ecx, 2
call fcn.140009d00
mov rcx, rax
lea r8, [rsp + 0x30]
lea rdx, str.VivExtractFile:_Cannot_rename_existing__s_n
call fcn.140004e60
xor eax, eax
jmp 0x140004451
mov ecx, 2
call fcn.140009d00
mov rcx, rax
lea r8, [rsp + 0x30]
lea rdx, str.Warning:VivExtractFile:_Attempt_overwriting_existing__s__duplicated_filename___n
call fcn.140004e60
jmp 0x1400042f8
test r15, r15
je 0x1400043b1
lea r9, [rsp + 0x30]
mov r8, r14
lea rdx, str.___s__s_
mov rcx, r15
call fcn.140004e60
mov rcx, r15
call fcn.14000a334
mov esi, 0x1000
lea rcx, [rsp + 0x30]
mov r8d, esi
xor edx, edx
call fcn.140007300
mov r15d, dword [r12]
xor r8d, r8d
mov edx, r15d
mov rcx, r13
mov ebx, r15d
call fcn.14000ac14
mov r12d, dword [r12 + 4]
lea r14d, [r12 + r15]
cmp r15d, r14d
jge 0x140004444
nop dword [rax + rax]
mov edi, r15d
lea rcx, [rsp + 0x30]
sub edi, ebx
mov r9, r13
add edi, r12d
mov edx, 1
cmp edi, esi
cmovg edi, esi
movsxd rsi, edi
mov r8, rsi
call fcn.14000a8dc
cmp rax, rsi
jne 0x1400044a1
mov r9, rbp
lea rcx, [rsp + 0x30]
mov r8, rsi
mov edx, 1
call fcn.14000b5d8
cmp rax, rsi
jne 0x14000447c
add ebx, edi
mov esi, 0x1000
cmp ebx, r14d
jl 0x1400043f0
mov rcx, rbp
call fcn.140009f14
mov eax, 1
mov rcx, qword [rsp + 0x1030]
xor rcx, rsp
call fcn.140006030
mov rbx, qword [rsp + 0x1098]
add rsp, 0x1040
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.140009d00
mov rcx, rax
lea rdx, str.VivExtractFile:_File_write_error__output__n
call fcn.140004e60
mov rcx, rbp
call fcn.140009f14
xor eax, eax
jmp 0x140004451
mov ecx, 2
call fcn.140009d00
mov rcx, rax
lea rdx, str.VivExtractFile:_File_read_error__archive__n
call fcn.140004e60
mov rcx, rbp
call fcn.140009f14
xor eax, eax
jmp 0x140004451