Function at 0x14001e790
Capabilities:
Read file on windows

Disassembly:
push rsi
sub rsp, 0x60
cmp qword [rcx + 0x10], 0
mov rsi, rcx
je 0x14001ec27
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], r15
call fcn.1400433b0
mov r8, rax
lea rdx, str.idata
xor r9d, r9d
mov rcx, rsi
call fcn.1400230d0
mov rcx, qword [rsi]
mov r15, rax
call fcn.1400433b0
mov r8, rax
lea rdx, str.image
xor r9d, r9d
mov rcx, rsi
call fcn.1400230d0
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], rax
cmp dword [rcx + 0x18], 1
jle 0x14001e97e
lea rcx, [0x140100778]
call fcn.1400232f0
mov eax, dword [0x140158230]
cmp dword [0x140157f58], eax
je 0x14001e837
lea rcx, str.include__FL_Fl_Pixmap.H__n
call fcn.1400232f0
mov eax, dword [0x140158230]
mov dword [0x140157f58], eax
mov rdx, r15
lea rcx, str.static_const_char__s_____n
call fcn.1400232f0
mov rax, qword [rsi + 0x10]
mov rdx, 0xffffffffffffffff
mov rcx, qword [rax + 0x28]
mov rcx, qword [rcx]
nop dword [rax + rax]
inc rdx
cmp byte [rcx + rdx], 0
jne 0x14001e860
call fcn.140023cb0
mov rax, qword [rsi + 0x10]
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x70]
lea rdx, [0x14010a9e8]
mov rcx, qword [rax + 0x28]
mov rcx, qword [rcx]
call fcn.140019510
mov eax, dword [rsp + 0x70]
test eax, eax
jns 0x14001e8c4
lea rcx, [0x14010a9f4]
call fcn.1400232f0
mov rax, qword [rsi + 0x10]
mov edx, dword [rsp + 0x70]
neg edx
shl edx, 2
mov rcx, qword [rax + 0x28]
mov rcx, qword [rcx + 8]
call fcn.140023cb0
mov edi, 2
jmp 0x14001e90a
mov edi, 1
cmp eax, edi
jl 0x14001e90a
lea ebx, [rdi + 7]
lea rcx, [0x14010a9f4]
call fcn.1400232f0
mov rax, qword [rsi + 0x10]
mov rdx, 0xffffffffffffffff
mov rcx, qword [rax + 0x28]
mov rcx, qword [rbx + rcx]
nop
inc rdx
cmp byte [rcx + rdx], 0
jne 0x14001e8f0
call fcn.140023cb0
inc edi
add rbx, 8
cmp edi, dword [rsp + 0x70]
jle 0x14001e8d0
mov rax, qword [rsi + 0x10]
cmp edi, dword [rax + 0x18]
jge 0x14001e954
movsxd rax, edi
lea rbx, [rax*8]
nop
lea rcx, [0x14010a9f4]
call fcn.1400232f0
mov rcx, qword [rsi + 0x10]
mov edx, dword [rcx + 8]
mov rcx, qword [rcx + 0x28]
imul edx, dword [rsp + 0x78]
mov rcx, qword [rcx + rbx]
call fcn.140023cb0
mov rax, qword [rsi + 0x10]
lea rbx, [rbx + 8]
inc edi
cmp edi, dword [rax + 0x18]
jl 0x14001e920
lea rcx, str._n__n
call fcn.1400232f0
mov r9, r15
lea r8, [0x1401012a0]
lea rdx, str.Fl_Pixmap
mov rcx, rsi
call fcn.14001e740
jmp 0x14001ec15
cmp dword [rcx + 0x10], 0
jne 0x14001ea28
lea rcx, [0x140100778]
call fcn.1400232f0
mov eax, dword [0x140158230]
cmp dword [0x140157f5c], eax
je 0x14001e9ba
lea rcx, str.include__FL_Fl_Bitmap.H__n
call fcn.1400232f0
mov eax, dword [0x140158230]
mov dword [0x140157f5c], eax
mov rdx, r15
lea rcx, str.static_const_unsigned_char__s____n
call fcn.1400232f0
mov rcx, qword [rsi + 0x10]
mov eax, dword [rcx + 8]
add eax, 7
cdq
and edx, 7
add edx, eax
sar edx, 3
imul edx, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx]
call fcn.1400233b0
lea rcx, [0x140101610]
call fcn.1400232f0
mov rcx, qword [rsi + 0x10]
lea r8, str._s___d___d
mov r9, r15
lea rdx, str.Fl_Bitmap
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 8]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14001e740
jmp 0x14001ec15
mov rcx, qword [rsi]
call fcn.14006f760
xor edx, edx
lea r8, str..jpg
nop dword [rax]
movzx ecx, byte [rax + rdx]
inc rdx
cmp cl, byte [r8 + rdx - 1]
jne 0x14001eb6b
cmp rdx, 5
jne 0x14001ea40
lea rcx, [0x140100778]
mov qword [rsp + 0x58], rbp
call fcn.1400232f0
mov eax, dword [0x140158230]
cmp dword [0x140157f64], eax
je 0x14001ea8f
lea rcx, str.include__FL_Fl_JPEG_Image.H__n
call fcn.1400232f0
mov eax, dword [0x140158230]
mov dword [0x140157f64], eax
mov rdx, r15
lea rcx, str.static_const_unsigned_char__s____n
call fcn.1400232f0
mov rcx, qword [rsi]
lea rdx, [0x140101508]
call fcn.140042140
mov rbp, rax
test rax, rax
je 0x14001eb2f
xor edx, edx
mov qword [rsp + 0x48], r14
mov rcx, rax
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
movsxd r14, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test r14, r14
je 0x14001eb21
mov edi, 1
mov rcx, r14
mov edx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r9, rbp
mov r8d, edi
mov rcx, rax
mov rdx, r14
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edx, r14d
mov rcx, rbx
call fcn.1400233b0
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov r14, qword [rsp + 0x48]
lea rcx, [0x140101610]
call fcn.1400232f0
mov rcx, qword [rsi]
call fcn.1400433b0
mov r9, rax
mov qword [rsp + 0x20], r15
lea r8, str.__s____s
mov rcx, rsi
lea rdx, str.Fl_JPEG_Image
call fcn.14001e740
mov rbp, qword [rsp + 0x58]
jmp 0x14001ec15
lea rcx, [0x140100778]
call fcn.1400232f0
mov eax, dword [0x140158230]
cmp dword [0x140157f60], eax
je 0x14001eb9d
lea rcx, str.include__FL_Fl_Image.H__n
call fcn.1400232f0
mov eax, dword [0x140158230]
mov dword [0x140157f60], eax
mov rdx, r15
lea rcx, str.static_const_unsigned_char__s____n
call fcn.1400232f0
mov rcx, qword [rsi + 0x10]
mov eax, dword [rcx + 0x14]
test eax, eax
jne 0x14001ebbe
mov eax, dword [rcx + 8]
imul eax, dword [rcx + 0x10]
mov edx, dword [rcx + 0xc]
mov rcx, qword [rcx + 0x28]
imul edx, eax
mov rcx, qword [rcx]
call fcn.1400233b0
lea rcx, [0x140101610]
call fcn.1400232f0
mov rcx, qword [rsi + 0x10]
lea r8, str._s___d___d___d___d
mov r9, r15
lea rdx, str.Fl_RGB_Image
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 8]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14001e740
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
add rsp, 0x60
pop rsi
ret