Function at 0x401f30
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
mov qword [rsp + 0x200], rcx
mov rbp, rdx
mov rcx, rdx
mov r13d, r8d
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
lea rbx, [rsp + 0x90]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x150], 0
call qword [sym.imp.msvcrt.dll__fileno]
lea rdx, [rsp + 0x50]
mov ecx, eax
call qword [sym.imp.msvcrt.dll__fstat64]
test eax, eax
js 0x402190
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x200]
mov r8, rbp
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], r13d
mov rcx, rbx
call fcn.00402d10
test eax, eax
mov r12d, eax
jne 0x402190
lea rax, [rbx + 0x4c]
mov qword [rsp + 0x38], rax
lea rax, [rbx + 0x86]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x48], rax
jmp 0x40206e
mov rcx, r14
call sub.msvcrt.dll_free
mov rdx, rbp
mov rcx, rsi
mov eax, dword [0x0040d110]
add dword [rsp + 0xd0], eax
call fcn.00401830
or r12d, eax
mov rcx, rsi
call sub.msvcrt.dll_free
mov edx, dword [rsp + 0xd0]
xor r8d, r8d
mov rcx, rbp
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x402250
mov rcx, qword [rsp + 0x38]
mov r9, rbp
mov r8d, 0x3c
mov edx, 1
call sub.msvcrt.dll_fread
cmp rax, 0x3c
jne 0x402270
mov rcx, qword [rsp + 0x40]
lea rdx, [0x0040850b]
mov r8d, 2
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4022a0
lea rcx, [rbx + 0x7c]
xor edx, edx
mov r8d, 0xa
add dword [rsp + 0xd0], 0x3c
call sub.msvcrt.dll_strtoul
mov rdi, qword [rsp + 0x48]
lea edx, [rax + 1]
test al, 1
mov rcx, rbx
cmovne eax, edx
mov rdx, rdi
mov dword [0x0040d110], eax
call fcn.004031c0
test rax, rax
mov r14, rax
je 0x4022d0
mov rcx, rax
call sub.msvcrt.dll_strlen
mov r8, r14
mov rdx, rdi
mov rcx, rbx
mov r15, rax
call fcn.00403410
test rax, rax
mov rsi, rax
je 0x4022f0
test r13d, r13d
je 0x402043
mov eax, dword [rsp + 0xcc]
test eax, eax
je 0x4021e0
mov rcx, r14
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x128]
xor r8d, r8d
lea edx, [rax + 0x3c]
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x402317
mov rdx, qword [rsp + 0x128]
mov rcx, rsi
call fcn.00401830
or r12d, eax
jmp 0x402066
lea rdi, [rsp + 0x120]
mov r12d, 1
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x4021b0
call sub.msvcrt.dll_fclose
mov rcx, rdi
call fcn.00403010
mov rcx, rbx
call fcn.00403010
mov eax, r12d
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x200]
mov r8d, r15d
mov rdx, r14
call fcn.00402c00
mov rcx, r14
mov r15, rax
call sub.msvcrt.dll_free
test r15, r15
je 0x402355
lea rdx, [0x00408554]
mov rcx, r15
call sub.msvcrt.dll_fopen
test rax, rax
mov r14, rax
je 0x40233e
mov rdx, rax
mov rcx, rsi
call fcn.00401830
mov rcx, r14
or r12d, eax
call sub.msvcrt.dll_fclose
mov rcx, r15
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x402066
mov rdx, qword [rsp + 0x200]
lea rcx, str._s:_failed_to_seek_to_next_archive_header_n
mov r12d, 1
call fcn.004023d0
jmp 0x4021c0
test rax, rax
lea rdi, [rsp + 0x120]
je 0x40219e
mov rdx, qword [rsp + 0x200]
lea rcx, [0x004084e8]
mov r12d, 1
call fcn.004023d0
jmp 0x40219e
mov rdx, qword [rsp + 0x90]
lea rcx, [0x00408510]
mov r12d, 1
lea rdi, [rsp + 0x120]
call fcn.004023d0
jmp 0x40219e
mov rdx, qword [rsp + 0x200]
lea rcx, str._s:_bad_archive_file_name_n
mov r12d, 1
call fcn.004023d0
jmp 0x40219e
mov rdx, qword [rsp + 0x200]
lea rcx, str._s:_bad_archive_file_name_n
mov r12d, 1
call fcn.004023d0
mov rcx, r14
call sub.msvcrt.dll_free
jmp 0x40219e
mov rdx, qword [rsp + 0x120]
lea rcx, str._s:_failed_to_seek_to_archive_member_n
mov r12d, 1
call fcn.004023d0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x40219e
lea rcx, str.Input_file__s_is_not_readable_n
mov rdx, r15
call fcn.004023d0
mov rcx, r15
call sub.msvcrt.dll_free
mov rcx, rsi
mov r12d, 1
call sub.msvcrt.dll_free
jmp 0x40219e