Function at 0x1400477c0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r12, r9
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047b69
lea rcx, [rdi + 4]
mov edx, 1
mov r8d, 2
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047b7b
mov qword [rsp + 0x28], rbx
lea rcx, [rdi + 6]
mov edx, 1
mov r8d, 2
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047b8d
lea rbp, [rdi + 8]
mov edx, 1
mov r8d, 2
mov rcx, rbp
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047b9f
lea rbx, [rdi + 0xa]
mov edx, 1
mov r8d, 2
mov rcx, rbx
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047bb1
lea rcx, [rdi + 0xc]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047bc3
lea rcx, [rdi + 0x10]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047bd5
lea rcx, [rdi + 0x14]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047be7
lea rcx, [rdi + 0x18]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047bf9
lea r13, [rdi + 0x1c]
mov edx, 1
mov r8d, 2
mov rcx, r13
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047c0b
lea r15, [rdi + 0x1e]
mov edx, 1
mov r8d, 2
mov rcx, r15
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047c1d
lea r14, [rdi + 0x20]
mov edx, 1
mov r8d, 2
mov rcx, r14
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047c2f
lea rcx, [rdi + 0x22]
mov edx, 1
mov r8d, 2
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047c41
lea rcx, [rdi + 0x24]
mov edx, 1
mov r8d, 2
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 2
jne 0x140047c53
lea rcx, [rdi + 0x28]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047c65
lea rcx, [rdi + 0x2c]
mov edx, 1
mov r8d, 4
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 4
jne 0x140047c77
cmp dword [rdi], 0x2014b50
jne 0x140047c90
test byte [rbp], 1
jne 0x140047b26
movzx eax, word [rbx]
test eax, 0xfff7
jne 0x140047b32
movzx r12d, word [r13]
mov rbp, qword [rsp + 0x28]
mov rbx, qword [rbp + 0x10]
mov r9, qword [rbp + 0x18]
cmp rbx, r12
jae 0x140047b3e
mov qword [rsp + 0x30], r14
mov r8, r12
sub r8, rbx
mov rax, r9
sub rax, rbx
cmp rax, r8
jae 0x140047cb1
movabs r14, 0x7fffffffffffffff
mov rax, rbx
xor rax, r14
cmp rax, r8
jb 0x140047fe2
mov rax, r12
or rax, 0xf
mov rbp, r9
shr rbp, 1
mov rcx, rbp
xor rcx, r14
add rbp, r9
cmp rax, rbp
cmova rbp, rax
cmp rcx, r9
cmovae r14, rbp
lea rcx, [r14 + 1]
cmp rcx, 0x1000
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r8
jb 0x140047e55
cmp rcx, 0xffffffffffffffd9
mov rbp, qword [rsp + 0x28]
jae 0x140047fed
lea rcx, [r14 + 0x28]
call fcn.140117ae8
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
mov r9, qword [rsp + 0x38]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r14
cmp r9, 0x10
jae 0x140047f16
mov r14, rcx
mov rdx, rbp
mov r8, rbx
call fcn.1400adb90
add rbx, r14
mov rcx, rbx
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.1400af920
mov byte [r14 + r12], 0
mov qword [rbp], r14
jmp 0x140047cd4
lea rax, str.Encrypted_ZIPs_are_unsupported.
jmp 0x140047c97
lea rax, str.Only_deflate_and_uncompress_are_currently_supported.
jmp 0x140047c97
mov rax, rbp
cmp r9, 0x10
jb 0x140047b4b
mov rax, qword [rbp]
mov qword [rbp + 0x10], r12
mov byte [rax + r12], 0
movzx ebx, word [r13]
cmp qword [rbp + 0x18], 0x10
jae 0x140047ce5
jmp 0x140047ce9
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400477fa
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x14004781c
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x140047843
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x140047868
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x14004788d
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400478af
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400478d1
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400478f3
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x140047915
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x14004793a
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x14004795f
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x140047984
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400479a6
lea rcx, str.read_uint16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400479c8
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
jmp 0x1400479ea
lea rcx, str.read_uint32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
cmp dword [rdi], 0x2014b50
je 0x140047a18
lea rax, str.Invalid_zip_central_file_header
mov qword [r12], rax
mov eax, 1
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rbp + 0x10], r12
mov r14, rbp
cmp r9, 0x10
jb 0x140047cc2
mov r14, qword [rbp]
add rbx, r14
mov rcx, rbx
xor edx, edx
call fcn.1400af920
mov byte [r14 + r12], 0
mov r14, qword [rsp + 0x30]
movzx ebx, word [r13]
cmp qword [rbp + 0x18], 0x10
jb 0x140047ce9
mov rbp, qword [rbp]
mov edx, 1
mov rcx, rbp
mov r8, rbx
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbx
jne 0x140047edf
mov r12, r14
movzx ebx, word [r15]
test rbx, rbx
je 0x140047d34
movzx ebp, bx
cmp ebp, 0x1000
jb 0x140047d4e
lea rcx, [rbx + 0x27]
call fcn.140117ae8
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140047d59
mov eax, dword [rdi + 0x2c]
mov ecx, dword [rdi + 0x14]
mov edx, dword [rdi + 0x18]
mov qword [rdi + 0x30], rdx
mov qword [rdi + 0x38], rcx
mov qword [rdi + 0x40], rax
jmp 0x140047e0f
mov rcx, rbx
call fcn.140117ae8
mov r14, rax
mov rcx, r14
xor edx, edx
mov r8, rbx
call fcn.1400af920
movzx r15d, word [r15]
mov edx, 1
mov rcx, r14
mov r8, r15
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, r15
jne 0x140047fa0
lea r10, [rdi + 0x30]
mov eax, dword [rdi + 0x2c]
mov r9d, dword [rdi + 0x14]
mov r8d, dword [rdi + 0x18]
movzx r11d, word [rdi + 0x1e]
test r11d, r11d
je 0x140047dd0
xor r15d, r15d
nop word cs:[rax + rax]
mov ecx, r15d
movzx edx, word [r14 + rcx + 2]
cmp word [r14 + rcx], 1
je 0x140047e40
movzx ecx, dx
add r15d, ecx
add r15d, 4
cmp r15d, r11d
jb 0x140047db0
mov qword [r10], r8
mov qword [rdi + 0x38], r9
mov qword [rdi + 0x40], rax
test r14, r14
je 0x140047e0f
cmp ebp, 0x1000
jb 0x140047e04
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140047fe7
add rbx, 0x27
mov r14, rax
mov rcx, r14
mov rdx, rbx
call fcn.140117b2c
movzx edx, word [r12]
test rdx, rdx
je 0x140047e39
mov rcx, rsi
mov r8d, 1
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
xor eax, eax
jmp 0x140047ca0
add rcx, r14
add rcx, 4
cmp r8d, 0xffffffff
je 0x140047e74
mov r11d, r8d
xor r8d, r8d
jmp 0x140047e80
test rcx, rcx
je 0x140047ef6
mov r14, r9
call fcn.140117ae8
mov r9, r14
mov rcx, rax
mov r14, rbp
jmp 0x140047eff
mov r11, qword [rcx]
add rcx, 8
mov r8w, 8
mov qword [r10], r11
cmp r9d, 0xffffffff
je 0x140047e8e
mov r9d, r9d
jmp 0x140047e9d
movzx r8d, r8w
add r8d, 8
mov r9, qword [rcx]
add rcx, 8
mov qword [rdi + 0x38], r9
cmp r8w, dx
jae 0x140047ebd
cmp eax, 0xffffffff
jne 0x140047ebd
movzx r8d, r8w
add r8d, 8
mov rax, qword [rcx]
add rcx, 8
jmp 0x140047ebf
mov eax, eax
mov qword [rdi + 0x40], rax
cmp r8w, dx
jae 0x140047ed3
mov eax, dword [rcx]
mov dword [rdi + 0x48], eax
jmp 0x140047ddb
mov dword [rdi + 0x48], 0
jmp 0x140047ddb
lea rcx, str.ZipFileRead
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov eax, 2
jmp 0x140047ca0
mov r14, 0xffffffffffffffff
xor ecx, ecx
mov rbp, qword [rsp + 0x28]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r14
cmp r9, 0x10
jb 0x140047af8
mov rdx, qword [rbp]
mov r14, rcx
mov qword [rsp + 0x28], rdx
mov r8, rbx
call fcn.1400adb90
add rbx, r14
mov rcx, rbx
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.1400af920
mov rcx, qword [rsp + 0x38]
mov rbx, r14
mov byte [r14 + r12], 0
lea rdx, [rcx + 1]
cmp rdx, 0x1000
mov r14, qword [rsp + 0x30]
jb 0x140047f7d
mov rdx, qword [rsp + 0x28]
mov rax, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rax
cmp rdx, 0x20
jae 0x140047fe7
add rcx, 0x28
mov rdx, rcx
mov rcx, rax
jmp 0x140047f82
mov rcx, qword [rsp + 0x28]
call fcn.140117b2c
mov qword [rbp], rbx
movzx ebx, word [r13]
cmp qword [rbp + 0x18], 0x10
jae 0x140047ce5
jmp 0x140047ce9
lea rcx, str.ZipFileRead
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
cmp ebp, 0x1000
jb 0x140047fcd
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140047fe7
add rbx, 0x27
mov r14, rax
mov rcx, r14
mov rdx, rbx
call fcn.140117b2c
mov eax, 3
jmp 0x140047ca0
call fcn.140003290
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.1400032b0
int3