Function at 0x14001b350
Capabilities:
Enumerate pe sections
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov qword [rsp + 0x90], r8
mov r13, rcx
mov r14, rdx
mov rbp, r9
test rdx, rdx
je 0x14001b538
lea rsi, [rdx + r9]
movzx eax, word [rsi + 0x1c]
movzx r12d, word [rsi + 0x20]
mov word [rsp + 0x2e], ax
movzx eax, word [rsi + 0x1e]
add r12d, eax
mov eax, dword [rsi + 0x14]
movsxd r15, r12d
lea rcx, [r15 + rax + 0x60]
call sym.sqlite3_malloc64
mov edi, 7
mov rbx, rax
test rax, rax
je 0x14001b40c
lea rdi, [rax + 8]
mov rcx, rax
mov qword [rax], 0
and rdi, 0xfffffffffffffff8
mov qword [rax + 0x58], 0
xor eax, eax
sub rcx, rdi
add ecx, 0x60
shr ecx, 3
rep stosq qword [rdi], rax
cmp dword [rsi], 0x2014b50
je 0x14001b420
mov rdx, rbp
lea rcx, str.failed_to_read_CDS_at_offset__lld
mov edi, 1
call sym.sqlite3_mprintf
mov qword [r13 + 0x10], rax
mov r12, qword [rbx + 0x30]
mov rcx, r12
call sym.sqlite3_free
mov rcx, rbx
call sym.sqlite3_free
mov eax, edi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, word [rsi + 4]
movzx edi, word [rsp + 0x2e]
mov word [rbx], ax
movzx eax, word [rsi + 6]
mov word [rbx + 2], ax
movzx eax, word [rsi + 8]
mov word [rbx + 4], ax
movzx eax, word [rsi + 0xa]
mov word [rbx + 6], ax
movzx eax, word [rsi + 0xc]
mov word [rbx + 8], ax
movzx eax, word [rsi + 0xe]
mov word [rbx + 0xa], ax
mov eax, dword [rsi + 0x10]
mov dword [rbx + 0xc], eax
mov eax, dword [rsi + 0x14]
mov dword [rbx + 0x10], eax
mov eax, dword [rsi + 0x18]
mov dword [rbx + 0x14], eax
movzx eax, word [rsi + 0x1c]
mov word [rbx + 0x18], ax
movzx eax, word [rsi + 0x1e]
mov word [rbx + 0x1a], ax
movzx eax, word [rsi + 0x20]
mov word [rbx + 0x1c], ax
movzx eax, word [rsi + 0x22]
mov word [rbx + 0x1e], ax
movzx eax, word [rsi + 0x24]
mov word [rbx + 0x20], ax
mov eax, dword [rsi + 0x26]
mov dword [rbx + 0x24], eax
mov eax, dword [rsi + 0x2a]
mov dword [rbx + 0x28], eax
test r14, r14
je 0x14001b638
lea rsi, [r14 + rbp + 0x2e]
mov r8, rsi
mov edx, edi
lea rcx, [0x1401509b5]
call sym.sqlite3_mprintf
movzx ebp, word [rsp + 0x2e]
lea rcx, [rbx + 0x60]
mov r8, r15
mov qword [rbx + 0x30], rax
mov r12, rax
mov qword [rbx + 0x40], rcx
add rbp, rsi
mov rdx, rbp
call sym.memcpy
test r12, r12
je 0x14001b528
movzx edx, word [rbx + 0x1a]
xor ecx, ecx
add rdx, rbp
cmp rbp, rdx
jb 0x14001b506
jmp 0x14001b6b0
lea rbp, [rbp + rax + 4]
cmp rbp, rdx
jae 0x14001b598
cmp word [rbp], 0x5455
movzx eax, word [rbp + 2]
jne 0x14001b4f8
test byte [rbp + 4], 1
je 0x14001b4f8
mov ecx, dword [rbp + 5]
mov dword [rbx + 0x38], ecx
mov ecx, 1
jmp 0x14001b4f8
mov edi, 7
jmp 0x14001b3fc
mov rsi, qword [rcx + 0x28]
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
mov edx, r9d
call sym.fseek
mov r9, qword [rsp + 0x90]
mov edx, 1
mov rcx, rsi
mov r8d, 0x2e
call sym.fread
cmp eax, 0x2e
jne 0x14001b618
movzx eax, word [rsi + 0x1c]
movzx r12d, word [rsi + 0x20]
mov word [rsp + 0x2e], ax
movzx eax, word [rsi + 0x1e]
add r12d, eax
movsxd r15, r12d
lea rcx, [r15 + 0x60]
jmp 0x14001b39e
test ecx, ecx
je 0x14001b6b0
cmp qword [rsp + 0x90], 0
mov edx, dword [rbx + 0x28]
je 0x14001b698
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
call sym.fseek
mov r9, qword [rsp + 0x90]
mov edx, 1
mov rcx, rsi
mov r8d, 0x1e
call sym.fread
cmp eax, 0x1e
jne 0x14001b700
mov edx, dword [rbx + 0x28]
cmp dword [rsi], 0x4034b50
je 0x14001b6c8
lea rcx, str.failed_to_read_LFH_at_offset__d
mov edi, 1
call sym.sqlite3_mprintf
mov qword [r13 + 0x10], rax
mov r12, qword [rbx + 0x30]
jmp 0x14001b3fc
lea rcx, str.error_in_fread__
mov edi, 1
call sym.sqlite3_mprintf
mov qword [r13 + 0x10], rax
jmp 0x14001b40c
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
add r12d, edi
lea edx, [rbp + 0x2e]
call sym.fseek
mov r8d, r12d
mov edx, 1
mov rcx, rsi
mov r9, qword [rsp + 0x90]
and r8d, 0x3ffff
call sym.fread
cmp r12d, eax
je 0x14001b4a8
lea rcx, str.error_in_fread__
mov edi, 1
call sym.sqlite3_mprintf
mov qword [r13 + 0x10], rax
mov r12, qword [rbx + 0x30]
jmp 0x14001b3fc
mov esi, edx
add rsi, r14
je 0x14001b5f5
jmp 0x14001b5e9
movzx edx, word [rbx + 0xa]
movzx ecx, word [rbx + 8]
call sym.zipfileMtime.isra.0
mov dword [rbx + 0x38], eax
jmp 0x14001b5a0
movzx eax, word [rsi + 0x1a]
movzx ecx, word [rsi + 0x1c]
add edx, 0x1e
add eax, ecx
cdqe
add rax, rdx
mov qword [rbx + 0x48], rax
test r14, r14
je 0x14001b6ec
mov r8d, dword [rbx + 0x10]
test r8d, r8d
jne 0x14001b718
mov rax, qword [rsp + 0xa0]
xor edi, edi
mov qword [rax], rbx
jmp 0x14001b40c
lea rcx, str.error_in_fread__
call sym.sqlite3_mprintf
mov edx, dword [rbx + 0x28]
mov qword [r13 + 0x10], rax
jmp 0x14001b5f5
mov rcx, qword [rbx + 0x40]
lea rdx, [r14 + rax]
add rcx, r15
mov qword [rbx + 0x50], rcx
call sym.memcpy
jmp 0x14001b6ec