Function at 0x140099ddc
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x368]
sub rsp, 0x440
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x140160188]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r15d, r8d
mov r14, rdx
mov rbx, rcx
call fcn.14009a2bc
call fcn.14006c420
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400751c0
nop
call fcn.14006c428
mov rcx, rax
call fcn.140075ca8
test al, al
je 0x140099f45
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.140075500
lea rcx, [rsp + 0x50]
call fcn.140075484
mov rcx, rax
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140099e9f
lea rdx, str.Error_opening_file
jmp 0x140099fcd
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test eax, eax
jne 0x140099ebc
lea rdx, str.File_is_empty
jmp 0x140099fcd
cmp edi, 0x400000
jbe 0x140099ed0
lea rdx, str.File_too_large
jmp 0x140099fcd
and dword [rsp + 0x40], 0
mov rcx, rdi
call fcn.1400cf2d8
mov rsi, rax
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x40], edi
je 0x140099f25
mov rcx, rsi
call fcn.1400cea54
mov rcx, rbx
call fcn.14009a2bc
lea rdx, str.Could_not_read_file
jmp 0x140099fcd
mov r9d, r15d
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.14009a128
mov bl, al
mov rcx, rsi
call fcn.1400cea54
jmp 0x14009a0f3
call fcn.14006c428
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400754d8
call fcn.14006c75c
test al, al
je 0x140099f6a
call fcn.14006c430
mov rdi, rax
jmp 0x140099fc1
call fcn.14006c438
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.1400751c0
nop
lea rcx, [rbp + 0x70]
call fcn.140075484
mov rcx, rax
xor edx, edx
call fcn.140072018
mov rsi, rax
lea rcx, [rsp + 0x50]
call fcn.140075484
mov rcx, rax
mov rdx, rsi
call fcn.1400795ac
mov rdi, rax
test rsi, rsi
je 0x140099fb8
mov rcx, rsi
call fcn.1400cea54
nop
lea rcx, [rbp + 0x70]
call fcn.14007532c
test rdi, rdi
jne 0x140099fdf
lea rdx, str.Error_opening_zip_file
xor r8d, r8d
mov rcx, rbx
call fcn.14009a2f4
mov bl, al
jmp 0x14009a0f3
and dword [rsp + 0x40], 0
or r8d, 0xffffffff
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.1400751f0
nop
lea r8, [0x14012b634]
lea rdx, [0x14012af90]
lea rcx, [rbp - 0x20]
call fcn.140075f24
lea rcx, [rbp - 0x20]
call fcn.140075484
mov rdx, rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov r8b, 1
mov rcx, rdi
call fcn.140078fb0
test eax, eax
je 0x14009a041
lea rdx, str.Could_not_find_ziped_file
jmp 0x14009a0ad
mov esi, dword [rbp + 0x32c]
test esi, esi
jne 0x14009a054
lea rdx, str.File_is_empty
jmp 0x14009a0ad
cmp esi, 0x400000
jbe 0x14009a065
lea rdx, str.File_too_large
jmp 0x14009a0ad
mov rcx, rsi
call fcn.1400cf2d8
mov r14, rax
mov r9d, esi
mov r8, rax
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.140079aa8
test eax, eax
je 0x14009a0bc
cmp eax, 0x600
je 0x14009a0bc
mov rcx, r14
call fcn.1400cea54
call fcn.14006c75c
test al, al
jne 0x14009a0a6
mov rcx, rdi
call fcn.140078cf0
lea rdx, str.Could_not_unzip_file
xor r8d, r8d
mov rcx, rbx
call fcn.14009a2f4
mov bl, al
jmp 0x14009a0e9
call fcn.14006c75c
test al, al
jne 0x14009a0cd
mov rcx, rdi
call fcn.140078cf0
mov r9d, r15d
mov r8d, esi
mov rdx, r14
mov rcx, rbx
call fcn.14009a128
mov bl, al
mov rcx, r14
call fcn.1400cea54
nop
lea rcx, [rbp - 0x20]
call fcn.14007532c
nop
lea rcx, [rsp + 0x50]
call fcn.14007532c
mov al, bl
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.1400ce670
mov rbx, qword [rsp + 0x480]
add rsp, 0x440
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret