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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
xor r8d, r8d
mov rbx, rcx
lea rcx, str.Disk_image_analysis:
mov qword [rsp + 0x68], r8
call fcn.1400380b9
mov rcx, rbx
call fcn.140045e79
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov qword [rsp + 0x30], r9
mov rcx, rax
xor r9d, r9d
mov rsi, rax
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.DLL_CreateFileW]
mov rdi, rax
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebp, eax
test rsi, rsi
je 0x14004866f
mov rcx, rsi
call sub.msvcrt.dll_free
mov ecx, ebp
call qword [sym.imp.KERNEL32.DLL_SetLastError]
cmp rdi, 0xffffffffffffffff
jne 0x140048693
mov rdx, rbx
lea rcx, str.__Could_not_open_image__s
mov bl, 0xff
call fcn.1400380b9
jmp 0x1400489b2
mov rbp, qword [0x1400b4c60]
xor edx, edx
mov byte [rbp + 0x573], 0
test rbx, rbx
je 0x1400486cc
mov rcx, rbx
call sub.msvcrt.dll_strlen
xor edx, edx
cmp rax, 4
jbe 0x1400486cc
lea rdx, [rbx + rax - 1]
cmp byte [rdx], 0x2e
je 0x1400486cc
cmp rbx, rdx
je 0x1400486cc
dec rdx
jmp 0x1400486bd
test rdx, rdx
lea r14, str._NULL_
lea r13, str..zip
mov r15, qword [sym.imp.msvcrt.dll__stricmp]
cmove rdx, r14
mov r12, r13
xor esi, esi
mov qword [rsp + 0x48], rdx
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x48]
test rdx, rdx
cmove rdx, r14
call r15
test eax, eax
jne 0x1400488dd
movsxd rsi, esi
mov ecx, 0x200
shl rsi, 4
mov r12b, byte [r12 + rsi + 8]
mov byte [rbp + 0x573], r12b
call sub.msvcrt.dll_malloc
mov rsi, rax
test rax, rax
je 0x1400488be
mov rax, qword [0x1400b42b0]
xor ecx, ecx
mov dword [rax], ecx
cmp r12b, 8
ja 0x14004878e
xor edx, edx
mov qword [rsp + 0x30], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x28], rdx
xor ecx, ecx
mov qword [rsp + 0x20], rdx
mov rdx, qword [fcn.1400380b9]
call fcn.14004bf1d
mov rcx, rbx
movzx r9d, r12b
mov rdx, rsi
mov r8d, 0x200
call fcn.14004bb4c
mov rbx, rax
call fcn.14004bfb4
jmp 0x140048867
cmp r12b, 9
jne 0x140048819
mov rax, qword [0x1400b4c10]
cmp dword [rax], 0
je 0x1400488a3
mov rcx, rbx
call fcn.140046d3f
mov r12, rax
test rax, rax
je 0x140048889
mov r8d, 0x200
mov edx, 1
mov r9, rax
mov rcx, rsi
mov byte [rbp + 0x556], 1
call sub.msvcrt.dll_fread
mov rcx, r12
mov r13, rax
mov rbx, rax
call sub.msvcrt.dll_fclose
lea rcx, [rsi + 4]
mov r8d, 0xc
lea rdx, str.SignedImage
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140048867
mov word [rsi + 0x1fe], 0xaa55
cmp r13, 0x200
jne 0x1400488b6
jmp 0x140048882
mov rcx, rbx
call fcn.140048315
mov rcx, rax
test rax, rax
je 0x1400488b1
mov byte [rbp + 0x556], 1
call fcn.140046d3f
mov r12, rax
test rax, rax
je 0x1400488b1
mov r9, rax
mov r8d, 0x200
mov edx, 1
mov rcx, rsi
call sub.msvcrt.dll_fread
mov rcx, r12
mov rbx, rax
call sub.msvcrt.dll_fclose
call fcn.14004826e
cmp rbx, 0x200
jne 0x1400488b6
cmp byte [rsi + 0x1fe], 0x55
jne 0x1400488c2
cmp byte [rsi + 0x1ff], 0xaa
jne 0x1400488c2
mov ebx, 1
jmp 0x1400488d3
call qword [sym.imp.msvcrt.dll__errno]
mov rdx, rbx
lea rcx, str.Could_not_open__s:__d
mov r8d, dword [rax]
call fcn.1400380b9
jmp 0x1400488b6
lea rcx, str.__An_FFU_image_was_selected__but_this_system_does_not_have_FFU_support_
call fcn.1400380b9
jmp 0x1400488b6
call fcn.14004826e
mov rcx, rsi
call sub.msvcrt.dll_free
xor ebx, ebx
jmp 0x1400488ee
mov rax, qword [0x1400b4c20]
xor ebx, ebx
cmp dword [rax], 0
setne bl
add ebx, ebx
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1400488ee
inc esi
add r13, 0x10
cmp esi, 0xa
jne 0x1400486f2
jmp 0x1400488be
cmp byte [rbp + 0x573], 0
je 0x1400488fe
test bl, bl
setne bl
jmp 0x140048925
xor r8d, r8d
lea rdx, str.__Image
mov rcx, rdi
mov bl, 1
call fcn.140009d76
test eax, eax
jne 0x140048925
mov rax, qword [0x1400b4c20]
cmp dword [rax], 0
setne bl
add ebx, ebx
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_GetFileSizeEx]
test eax, eax
jne 0x14004894f
call fcn.140038579
lea rcx, str.__Could_not_get_image_size:__s
mov bl, 0xfe
mov rdx, rax
call fcn.1400380b9
jmp 0x1400489b2
mov rax, qword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x5c], 8
mov qword [rbp + 0x530], rax
call qword [sym.imp.KERNEL32.DLL_SetFilePointerEx]
xor eax, eax
mov r8d, dword [rsp + 0x5c]
mov rcx, rdi
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x68]
lea r9, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x1400489ac
movabs rax, 0x4d4957534d
cmp qword [rsp + 0x68], rax
sete al
movzx eax, al
mov byte [rbp + 0x557], al
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400489c5
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, ebx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret