Function at 0x140104c00
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push r13
push r14
sub rsp, 0x28
mov r14, rcx
mov ecx, 0x10000
mov r13d, r8d
mov rdi, rdx
call fcn.1401c5d54
mov rsi, rax
test rax, rax
jne 0x140104c33
xor eax, eax
add rsp, 0x28
pop r14
pop r13
pop rdi
pop rsi
ret
xor edx, edx
mov r8d, 0x280
mov rcx, rdi
call fcn.1401c0040
mov dword [rdi + 0x1c], 0x7fffffff
mov rcx, qword [r14 + 0x55ba0]
call fcn.1401c3f28
mov rcx, qword [r14 + 0x55ba0]
call fcn.1401c3f28
cmp eax, 0xd8
jne 0x140104c26
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], r12
mov r12d, 0xff00
mov qword [rsp + 0x20], r15
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r14 + 0x55ba0]
mov edx, 2
mov rcx, rsi
mov r8d, edx
call fcn.1401c1e14
test rax, rax
je 0x140104f87
movzx eax, byte [rsi + 1]
movzx r15d, byte [rsi]
movzx ebp, byte [rsi + 2]
shl bp, 8
shl r15w, 8
lea rbx, [rsi + 2]
or r15w, ax
movzx eax, byte [rsi + 3]
or bp, ax
sub bp, 2
cmp r15w, r12w
jbe 0x140104f87
mov r9, qword [r14 + 0x55ba0]
movzx r12d, bp
mov edx, 1
mov r8d, r12d
mov rcx, rsi
call fcn.1401c1e14
movzx edx, r15w
lea eax, [rdx - 0xffc0]
cmp eax, 0x1d
ja case.0x140104d2d.65474
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x104fc4]
mov ecx, dword [r8 + rax*4 + 0x104fa8]
add rcx, r8
jmp rcx
movzx eax, byte [rsi + 7]
mov ecx, eax
shr ecx, 4
imul ecx, eax
dec ecx
and ecx, 3
mov dword [rdi + 0x14], ecx
movzx eax, dl
mov dword [rdi], eax
movzx eax, byte [rsi]
mov dword [rdi + 4], eax
movzx eax, byte [rbx]
movzx ecx, byte [rsi + 1]
shl ecx, 8
or ecx, eax
mov dword [rdi + 8], ecx
movzx eax, byte [rsi + 4]
movzx ecx, byte [rsi + 3]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0xc], ecx
movzx eax, byte [rsi + 5]
add eax, dword [rdi + 0x14]
mov dword [rdi + 0x10], eax
cmp bp, 9
jne case.0x140104d2d.65474
cmp dword [r14 + 0x4458], 0
jne case.0x140104d2d.65474
mov rcx, qword [r14 + 0x55ba0]
call fcn.1401c3f28
jmp case.0x140104d2d.65474
test r13d, r13d
jne case.0x140104d2d.65474
lea rbp, [r12 + rsi]
mov rcx, rsi
cmp rsi, rbp
jae case.0x140104d2d.65474
nop dword [rax]
movzx ebx, byte [rcx]
inc rcx
mov eax, ebx
mov qword [rsp + 0x68], rcx
and eax, 0xffffffec
jne case.0x140104d2d.65474
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.140106640
movzx ecx, bx
mov qword [rdi + rcx*8 + 0x138], rax
mov qword [rdi + rcx*8 + 0x1d8], rax
mov rcx, qword [rsp + 0x68]
cmp rcx, rbp
jb 0x140104dc0
jmp case.0x140104d2d.65474
movzx eax, byte [rsi]
movzx ecx, byte [rsi + rax*2 + 1]
mov dword [rdi + 0x18], ecx
movzx eax, byte [rsi]
movzx ecx, byte [rsi + rax*2 + 3]
and ecx, 0xf
sub dword [rdi + 4], ecx
jmp case.0x140104d2d.65474
mov r8, rdi
mov edx, 0x40
sub r8, rsi
nop dword [rax + rax]
movzx ecx, byte [rbx - 1]
movzx eax, byte [rbx]
lea rbx, [rbx + 2]
shl cx, 8
or cx, ax
mov word [r8 + rbx + 0x34], cx
dec rdx
jne 0x140104e30
jmp case.0x140104d2d.65474
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
shl ecx, 8
or ecx, eax
mov dword [rdi + 0x1c], ecx
mov eax, 0xffda
mov r12d, 0xff00
cmp r15w, ax
jne 0x140104c90
mov eax, dword [rdi + 4]
cmp eax, 0x10
jg 0x140104f87
mov ecx, dword [rdi + 0x10]
cmp ecx, 6
jg 0x140104f87
test eax, eax
je 0x140104f87
cmp dword [rdi + 8], 0
je 0x140104f87
cmp dword [rdi + 0xc], 0
je 0x140104f87
test ecx, ecx
je 0x140104f87
test r13d, r13d
jne 0x140104f80
cmp qword [rdi + 0x138], 0
je 0x140104f87
lea rcx, [rdi + 0x140]
lea edx, [r13 + 0x13]
cmp qword [rcx], 0
jne 0x140104ede
mov rax, qword [rcx - 8]
mov qword [rcx], rax
add rcx, 8
dec rdx
jne 0x140104ed1
cmp dword [rdi + 0x14], edx
je 0x140104f40
lea rcx, [rdi + 0x148]
mov edx, 4
nop dword [rax + rax]
mov rax, qword [rdi + 0x140]
lea rcx, [rcx + 8]
mov qword [rcx - 8], rax
dec rdx
jne 0x140104f00
xor r8d, r8d
cmp dword [rdi + 0x14], r8d
jle 0x140104f40
nop dword [rax]
mov rax, qword [rdi + 0x138]
movzx ecx, r8w
inc r8w
mov qword [rdi + rcx*8 + 0x140], rax
movzx eax, r8w
cmp eax, dword [rdi + 0x14]
jl 0x140104f20
mov eax, dword [rdi + 0x10]
mov edx, 4
imul eax, dword [rdi + 0xc]
movsxd rcx, eax
call fcn.1401be1f8
lea r8, str.ljpeg_start__
mov rcx, r14
mov rdx, rax
mov qword [rdi + 0x278], rax
call fcn.140106a20
mov rcx, rsi
call fcn.1401c5dfc
mov dword [r14 + 0x4450], 1
mov eax, 1
jmp 0x140104f89
xor eax, eax
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
add rsp, 0x28
pop r14
pop r13
pop rdi
pop rsi
ret