Function at 0x1400e8591
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
xor r15d, r15d
mov rbx, qword [rsp + 0x1e8]
mov rsi, rcx
mov qword [rsp + 0x1c8], rdx
mov rcx, rbx
xor edx, edx
mov qword [rsp + 0x1d0], r8
mov r8d, 0xc
mov qword [rsp + 0x1d8], r9
call fcn.14000d01d
mov qword [rbx], 8
mov rcx, rsi
mov dword [rbx + 8], r15d
call fcn.1400e73a5
mov dword [rsp + 0x88], eax
mov rax, qword [rsi + 0xd0]
cmp dword [rsp + 0x88], 0
mov qword [rsi + 0xc0], rax
mov rax, qword [rsi + 0xd8]
mov qword [rsi + 0xc8], rax
je 0x1400e8d96
cmp qword [rsp + 0x1f0], 0
mov qword [rsp + 0xb0], rsi
je 0x1400e8646
lea rcx, str.req_comp_must_be_1_if_loading_paletted_image_without_expansion
test byte [rsp + 0x1e0], 1
je 0x1400ea425
mov r9d, dword [rsp + 0x1f8]
mov r8, qword [rsp + 0x1f0]
lea rcx, [rsp + 0xb0]
mov edx, dword [rsp + 0x1e0]
call fcn.1400e7474
test eax, eax
je 0x1400e8d6c
mov eax, dword [rsp + 0xd0]
cmp eax, 8
jle 0x1400e868f
lea rcx, str.PNG_not_supported:_unsupported_color_depth
cmp eax, 0x10
je 0x1400e8694
jmp 0x1400ea425
mov eax, 8
xor r14d, r14d
cmp dword [rsp + 0x1e0], 0
mov rdi, qword [rsp + 0xc8]
mov dword [rbx], eax
mov qword [rsp + 0xc8], r14
mov rsi, qword [rsp + 0xb0]
jne 0x1400e86c3
mov r15, rdi
jmp 0x1400e8d32
mov ebp, dword [rsi + 0xc]
cmp ebp, 1
je 0x1400e86bb
cmp qword [rsp + 0x1f0], 0
jne 0x1400e8d1d
mov ebx, dword [rsi + 4]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rsi]
cmp eax, 8
jne 0x1400e89ef
mov r8d, dword [rsp + 0x50]
xor r9d, r9d
mov edx, ebx
mov ecx, 1
call fcn.1400e51de
mov r15, rax
test rax, rax
je 0x1400e8a2b
mov eax, ebp
lea r13d, [rbp*8 - 9]
xor r10d, r10d
xor r11d, r11d
imul eax, ebx
xor r9d, r9d
lea r12, [0x1401b6150]
mov rbp, r13
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x50], r9d
jle 0x1400e8d0c
mov edx, r11d
lea rax, [rdx + rdi]
mov qword [rsp + 0x48], rax
mov eax, r10d
add rax, r15
cmp ebp, 0x19
ja case.0x1400e8a9c.3
movsxd rcx, dword [r12 + r13*4]
add rcx, r12
jmp rcx
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
mov r8b, byte [rdx + rcx - 1]
mov byte [rax + rcx*2 - 1], 0xff
mov byte [rax + rcx*2 - 2], r8b
jmp 0x1400e8764
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
add rax, 3
mov r8b, byte [rdx + rcx - 1]
mov byte [rax - 1], r8b
mov byte [rax - 2], r8b
mov byte [rax - 3], r8b
jmp 0x1400e8787
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
mov r8b, byte [rdx + rcx - 1]
mov byte [rax + rcx*4 - 1], 0xff
mov byte [rax + rcx*4 - 2], r8b
mov byte [rax + rcx*4 - 3], r8b
mov byte [rax + rcx*4 - 4], r8b
jmp 0x1400e87b0
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
mov r8b, byte [rdx + rcx*2 - 2]
mov byte [rax + rcx - 1], r8b
jmp 0x1400e87dd
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
add rax, 3
mov r8b, byte [rdx + rcx*2 - 2]
mov byte [rax - 1], r8b
mov byte [rax - 2], r8b
mov byte [rax - 3], r8b
jmp 0x1400e87fb
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
mov r8b, byte [rdx + rcx*2 - 2]
mov byte [rax + rcx*4 - 2], r8b
mov byte [rax + rcx*4 - 3], r8b
mov byte [rax + rcx*4 - 4], r8b
mov r8b, byte [rdx + rcx*2 - 1]
mov byte [rax + rcx*4 - 1], r8b
jmp 0x1400e8824
lea ecx, [rbx - 1]
test ecx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
dec ecx
add rax, 4
add qword [rsp + 0x48], 3
mov r8b, byte [rdx]
mov byte [rax - 4], r8b
mov r8b, byte [rdx + 1]
mov byte [rax - 3], r8b
mov r8b, byte [rdx + 2]
mov byte [rax - 1], 0xff
mov byte [rax - 2], r8b
jmp 0x1400e8857
lea r8d, [rbx - 1]
test r8d, r8d
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
dec r8d
inc rax
add qword [rsp + 0x48], 3
movzx ecx, byte [rdx]
movzx r14d, byte [rdx + 1]
imul ecx, ecx, 0x4d
imul r14d, r14d, 0x96
add ecx, r14d
movzx r14d, byte [rdx + 2]
imul r14d, r14d, 0x1d
add ecx, r14d
mov byte [rax - 1], ch
jmp 0x1400e8891
lea r8d, [rbx - 1]
test r8d, r8d
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
dec r8d
add rax, 2
add qword [rsp + 0x48], 3
movzx ecx, byte [rdx]
movzx r14d, byte [rdx + 1]
imul ecx, ecx, 0x4d
imul r14d, r14d, 0x96
add ecx, r14d
movzx r14d, byte [rdx + 2]
mov byte [rax - 1], 0xff
imul r14d, r14d, 0x1d
add ecx, r14d
mov byte [rax - 2], ch
jmp 0x1400e88d5
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
movzx r8d, byte [rdx + rcx*4 - 4]
movzx r14d, byte [rdx + rcx*4 - 3]
imul r8d, r8d, 0x4d
imul r14d, r14d, 0x96
add r8d, r14d
movzx r14d, byte [rdx + rcx*4 - 2]
imul r14d, r14d, 0x1d
add r8d, r14d
mov edx, r8d
mov byte [rax + rcx - 1], dh
jmp 0x1400e891c
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
movzx r8d, byte [rdx + rcx*4 - 4]
movzx r14d, byte [rdx + rcx*4 - 3]
imul r8d, r8d, 0x4d
imul r14d, r14d, 0x96
add r8d, r14d
movzx r14d, byte [rdx + rcx*4 - 2]
imul r14d, r14d, 0x1d
add r8d, r14d
mov edx, r8d
mov byte [rax + rcx*2 - 2], dh
mov rdx, qword [rsp + 0x48]
mov r8b, byte [rdx + rcx*4 - 1]
mov byte [rax + rcx*2 - 1], r8b
jmp 0x1400e895e
lea ecx, [rbx - 1]
test ecx, ecx
js 0x1400e89da
mov rdx, qword [rsp + 0x48]
dec ecx
add rax, 3
add qword [rsp + 0x48], 4
mov r8b, byte [rdx]
mov byte [rax - 3], r8b
mov r8b, byte [rdx + 1]
mov byte [rax - 2], r8b
mov r8b, byte [rdx + 2]
mov byte [rax - 1], r8b
jmp 0x1400e89ac
mov eax, dword [rsp + 0x88]
inc r9d
add r10d, ebx
add r11d, eax
jmp 0x1400e8733
mov ecx, dword [rsp + 0x50]
imul ecx, ebx
add ecx, ecx
call fcn.14000cfc9
mov r15, rax
test rax, rax
je 0x1400e8a2b
mov eax, ebp
lea r13d, [rbp*8 - 9]
xor r10d, r10d
xor r11d, r11d
imul eax, ebx
xor r9d, r9d
lea r12, [0x1401b61b8]
mov rbp, r13
mov dword [rsp + 0x48], eax
jmp 0x1400e8a49
mov rcx, rdi
call fcn.14000cfde
lea rcx, [0x1401b5ebc]
jmp 0x1400e8a84
mov eax, dword [rsp + 0x48]
inc r9d
add r10d, ebx
add r11d, eax
mov eax, dword [rsp + 0x50]
cmp r9d, eax
jge 0x1400e8d0c
mov edx, r11d
mov eax, r10d
add rdx, rdx
add rax, rax
add rdx, rdi
add rax, r15
cmp ebp, 0x19
jbe 0x1400e8a95
mov rcx, rdi
call fcn.14000cfde
mov rcx, r15
call fcn.14000cfde
lea rcx, str.Unsupported_format_conversion
call fcn.1400e7465
mov dword [rsi + 0xc], 1
jmp 0x1400ea42a
movsxd rcx, dword [r12 + r13*4]
add rcx, r12
jmp rcx
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*2 - 2]
mov word [rax + rcx*4 - 2], 0xffff
mov word [rax + rcx*4 - 4], r8w
jmp 0x1400e8aa0
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*2 - 2]
add rax, 6
mov word [rax - 2], r8w
mov word [rax - 4], r8w
mov word [rax - 6], r8w
jmp 0x1400e8abe
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*2 - 2]
mov word [rax + rcx*8 - 2], 0xffff
mov word [rax + rcx*8 - 4], r8w
mov word [rax + rcx*8 - 6], r8w
mov word [rax + rcx*8 - 8], r8w
jmp 0x1400e8ae6
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*4 - 4]
mov word [rax + rcx*2 - 2], r8w
jmp 0x1400e8b14
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*4 - 4]
add rax, 6
mov word [rax - 2], r8w
mov word [rax - 4], r8w
mov word [rax - 6], r8w
jmp 0x1400e8b2f
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
mov r8w, word [rdx + rcx*4 - 4]
mov word [rax + rcx*8 - 4], r8w
mov word [rax + rcx*8 - 6], r8w
mov word [rax + rcx*8 - 8], r8w
mov r8w, word [rdx + rcx*4 - 2]
mov word [rax + rcx*8 - 2], r8w
jmp 0x1400e8b57
lea ecx, [rbx - 1]
test ecx, ecx
js 0x1400e8a3c
mov r8w, word [rdx]
dec ecx
add rdx, 6
add rax, 8
mov word [rax - 8], r8w
mov r8w, word [rdx - 4]
mov word [rax - 6], r8w
mov r8w, word [rdx - 2]
mov word [rax - 2], 0xffff
mov word [rax - 4], r8w
jmp 0x1400e8b8b
lea r8d, [rbx - 1]
test r8d, r8d
js 0x1400e8a3c
movzx ecx, word [rdx]
movzx r14d, word [rdx + 2]
dec r8d
add rdx, 6
add rax, 2
imul r14d, r14d, 0x96
imul ecx, ecx, 0x4d
add ecx, r14d
movzx r14d, word [rdx - 2]
imul r14d, r14d, 0x1d
add ecx, r14d
sar ecx, 8
mov word [rax - 2], cx
jmp 0x1400e8bc6
lea r8d, [rbx - 1]
test r8d, r8d
js 0x1400e8a3c
movzx ecx, word [rdx]
movzx r14d, word [rdx + 2]
dec r8d
add rdx, 6
add rax, 4
imul r14d, r14d, 0x96
imul ecx, ecx, 0x4d
add ecx, r14d
movzx r14d, word [rdx - 2]
mov word [rax - 2], 0xffff
imul r14d, r14d, 0x1d
add ecx, r14d
sar ecx, 8
mov word [rax - 4], cx
jmp 0x1400e8c08
xor r8d, r8d
inc r8
cmp ebx, r8d
js 0x1400e8a3c
movzx ecx, word [rdx + r8*8 - 8]
movzx r14d, word [rdx + r8*8 - 6]
imul ecx, ecx, 0x4d
imul r14d, r14d, 0x96
add ecx, r14d
movzx r14d, word [rdx + r8*8 - 4]
imul r14d, r14d, 0x1d
add ecx, r14d
sar ecx, 8
mov word [rax + r8*2 - 2], cx
jmp 0x1400e8c4f
xor ecx, ecx
inc rcx
cmp ebx, ecx
js 0x1400e8a3c
movzx r8d, word [rdx + rcx*8 - 8]
movzx r14d, word [rdx + rcx*8 - 6]
imul r8d, r8d, 0x4d
imul r14d, r14d, 0x96
add r8d, r14d
movzx r14d, word [rdx + rcx*8 - 4]
imul r14d, r14d, 0x1d
add r8d, r14d
sar r8d, 8
mov word [rax + rcx*4 - 4], r8w
mov r8w, word [rdx + rcx*8 - 2]
mov word [rax + rcx*4 - 2], r8w
jmp 0x1400e8c8e
lea ecx, [rbx - 1]
test ecx, ecx
js 0x1400e8a3c
mov r8w, word [rdx]
dec ecx
add rdx, 8
add rax, 6
mov word [rax - 6], r8w
mov r8w, word [rdx - 6]
mov word [rax - 4], r8w
mov r8w, word [rdx - 4]
mov word [rax - 2], r8w
jmp 0x1400e8cdb
mov rcx, rdi
call fcn.14000cfde
mov dword [rsi + 0xc], 1
jmp 0x1400e8d32
mov dword [rsi + 0xc], 1
test rdi, rdi
jne 0x1400e86bb
jmp 0x1400ea42a
mov eax, dword [rsi]
mov rdi, qword [rsp + 0x1c8]
cmp qword [rsp + 0x1f0], 0
mov dword [rdi], eax
mov rdi, qword [rsp + 0x1d0]
mov eax, dword [rsi + 4]
mov dword [rdi], eax
je 0x1400e8d67
mov eax, 1
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi], eax
jmp 0x1400e8d6f
mov eax, dword [rsi + 8]
jmp 0x1400e8d5b
xor r15d, r15d
mov rcx, qword [rsp + 0xc8]
call fcn.14000cfde
mov rcx, qword [rsp + 0xc0]
call fcn.14000cfde
mov rcx, qword [rsp + 0xb8]
jmp 0x1400ea417
mov ecx, 0x4888
call fcn.14000cfc9
mov rbx, rax
test rax, rax
jne 0x1400e8dc0
lea rdx, [0x1401b5ebc]
lea rcx, [0x1401b5eac]
call fcn.14000de53
jmp 0x1400ea41e
mov r8d, 0x4888
xor edx, edx
mov rcx, rax
call fcn.14000d01d
mov eax, 0xffffffff
lea r12, [0x1400e6066]
lea rbp, [0x1400e5e1c]
shl rax, 0x20
mov qword [rbx], rsi
lea rdi, [0x1400e5cad]
mov rcx, rbx
mov qword [rbx + 0x4870], r12
mov qword [rbx + 0x4878], rbp
mov qword [rbx + 0x4880], rdi
mov qword [rbx + 0x4848], rax
mov byte [rbx + 0x4828], 0xff
call fcn.1400e7253
mov dword [rsp + 0x48], 1
cmp al, 0xd8
je 0x1400e8e43
lea rdx, str.Corrupt_JPEG
lea rcx, [0x1401b5eac]
xor r13d, r13d
call fcn.14000de53
mov dword [rsp + 0x48], r13d
mov rax, qword [rsi + 0xd0]
mov rcx, rbx
mov qword [rsi + 0xc0], rax
mov rax, qword [rsi + 0xd8]
mov qword [rsi + 0xc8], rax
call fcn.14000cfde
cmp dword [rsp + 0x48], 0
je 0x1400ea41e
mov ecx, 0x4888
call fcn.14000cfc9
lea rcx, [0x1401b5ebc]
mov rbx, rax
test rax, rax
je 0x1400ea425
xor edx, edx
mov rcx, rax
mov r8d, 0x4888
call fcn.14000d01d
mov eax, 0xffffffff
xor r10d, r10d
xor r9d, r9d
xor r11d, r11d
shl rax, 0x20
mov qword [rbx], rsi
mov rcx, rbx
mov qword [rbx + 0x4870], r12
mov qword [rbx + 0x4878], rbp
mov qword [rbx + 0x4880], rdi
mov dword [rsi + 8], r9d
mov qword [rbx + 0x46d8], r10
mov qword [rbx + 0x46e0], r10
mov qword [rbx + 0x4738], r10
mov qword [rbx + 0x4740], r10
mov qword [rbx + 0x4798], r10
mov qword [rbx + 0x47a0], r10
mov qword [rbx + 0x47f8], r10
mov qword [rbx + 0x4800], r10
mov dword [rbx + 0x4868], r11d
mov qword [rbx + 0x4848], rax
mov byte [rbx + 0x4828], 0xff
call fcn.1400e7253
cmp al, 0xd8
jne 0x1400e935f
mov rcx, rbx
call fcn.1400e7253
movzx edx, al
lea eax, [rdx - 0xc0]
cmp eax, 2
jbe 0x1400e8f74
mov rcx, rbx
call fcn.1400e6e7c
test eax, eax
je 0x1400e9e21
mov rcx, rbx
call fcn.1400e7253
movzx edx, al
cmp edx, 0xff
jne 0x1400e8f35
mov rcx, qword [rbx]
call fcn.1400e4a3d
test eax, eax
je 0x1400e8f50
jmp 0x1400e935f
xor eax, eax
cmp edx, 0xc2
mov rsi, qword [rbx]
sete al
mov dword [rbx + 0x4830], eax
mov rcx, rsi
call fcn.1400e68a6
mov edi, eax
cmp eax, 0xa
jle 0x1400e935f
mov rcx, rsi
call fcn.1400e6867
lea rdx, str.JPEG_format_not_supported:_8_bit_only
cmp al, 8
jne 0x1400e8fe6
mov rcx, rsi
call fcn.1400e68a6
lea rdx, str.JPEG_format_not_supported:_delayed_height
mov dword [rsi + 4], eax
test eax, eax
je 0x1400e8fe6
mov rcx, rsi
call fcn.1400e68a6
mov dword [rsi], eax
test eax, eax
je 0x1400e935f
cmp dword [rsi + 4], 0x1000000
jbe 0x1400e8ff7
lea rdx, str.Very_large_image__corrupt__
lea rcx, [0x1401b5eac]
call fcn.14000de53
jmp 0x1400e9e21
cmp eax, 0x1000000
ja 0x1400e8fdf
mov rcx, rsi
call fcn.1400e6867
movzx edx, al
sub eax, 3
cmp al, 1
jbe 0x1400e9019
cmp edx, 1
jne 0x1400e935f
mov dword [rsi + 8], edx
lea rax, [rbx + 0x46d0]
xor ecx, ecx
xor r8d, r8d
inc ecx
add rax, 0x60
mov qword [rax - 0x60], r8
mov qword [rax - 0x48], r8
cmp edx, ecx
jg 0x1400e9025
lea edx, [rdx + rdx*2]
add edx, 8
cmp edi, edx
jne 0x1400e935f
xor eax, eax
lea r12, str.RGBAdobe
lea r13, [rbx + 0x46a0]
mov dword [rbx + 0x4850], eax
mov rbp, r12
mov eax, ebp
mov edi, dword [rsi + 8]
sub eax, r12d
cmp edi, eax
jle 0x1400e90ec
mov rcx, rsi
call fcn.1400e6867
movzx eax, al
mov dword [r13], eax
cmp dword [rsi + 8], 3
jne 0x1400e9090
movzx edx, byte [rbp]
cmp eax, edx
jne 0x1400e9090
inc dword [rbx + 0x4850]
mov rcx, rsi
call fcn.1400e6867
movzx edx, al
sar edx, 4
mov dword [r13 + 4], edx
je 0x1400e935f
cmp edx, 4
jg 0x1400e935f
mov edx, eax
and eax, 0xf
and edx, 0xf
mov dword [r13 + 8], eax
lea eax, [rdx - 1]
cmp al, 3
ja 0x1400e935f
mov rcx, rsi
add r13, 0x60
inc rbp
call fcn.1400e6867
movzx eax, al
mov dword [r13 - 0x54], eax
cmp eax, 3
jle 0x1400e9061
jmp 0x1400e935f
mov ebp, dword [rsi + 4]
mov r12d, dword [rsi]
xor r9d, r9d
mov r8d, edi
mov edx, ebp
mov ecx, r12d
call fcn.1400e4968
test eax, eax
je 0x1400e911e
mov r13d, dword [rsp + 0x48]
lea rax, [rbx + 0x46a4]
xor edx, edx
mov qword [rsp + 0x50], rax
mov r15d, r13d
jmp 0x1400e912a
lea rdx, str.Image_too_large_to_decode
jmp 0x1400e8fe6
cmp edi, edx
jle 0x1400e9149
mov ecx, dword [rax]
cmp r15d, ecx
cmovl r15d, ecx
mov ecx, dword [rax + 4]
cmp r13d, ecx
cmovl r13d, ecx
inc edx
add rax, 0x60
jmp 0x1400e912a
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
cmp edi, r8d
jle 0x1400e9180
mov eax, r15d
mov r9, rcx
cdq
idiv dword [rcx]
test edx, edx
jne 0x1400e935f
mov eax, r13d
add rcx, 0x60
cdq
idiv dword [r9 + 4]
test edx, edx
jne 0x1400e935f
inc r8d
jmp 0x1400e9151
lea r8d, [r15*8]
xor edx, edx
lea ecx, [r13*8]
mov dword [rbx + 0x4688], r15d
lea eax, [r12 + r8 - 1]
mov dword [rbx + 0x469c], ecx
mov rdi, qword [rsp + 0x50]
lea r14d, [r13 - 1]
div r8d
mov dword [rbx + 0x468c], r13d
mov dword [rbx + 0x4698], r8d
xor edx, edx
mov r12d, 8
mov dword [rbx + 0x4690], eax
lea eax, [rbp + rcx - 1]
xor ebp, ebp
div ecx
mov dword [rbx + 0x4694], eax
lea eax, [r15 - 1]
mov dword [rsp + 0x58], eax
cmp ebp, dword [rsi + 8]
jge 0x1400e9396
mov eax, dword [rsi]
mov ecx, dword [rdi]
mov edx, dword [rsp + 0x58]
mov r9d, dword [rdi + 4]
imul eax, ecx
add eax, edx
xor edx, edx
div r15d
xor edx, edx
mov dword [rdi + 0x18], eax
mov eax, dword [rsi + 4]
imul eax, r9d
add eax, r14d
div r13d
mov dword [rdi + 0x1c], eax
imul ecx, dword [rbx + 0x4690]
xor eax, eax
shl ecx, 3
mov dword [rdi + 0x20], ecx
imul r9d, dword [rbx + 0x4694]
mov qword [rdi + 0x4c], rax
mov qword [rdi + 0x3c], rax
shl r9d, 3
mov qword [rdi + 0x44], rax
mov dword [rdi + 0x24], r9d
mov edx, r9d
call fcn.1400e4940
test eax, eax
jne 0x1400e9261
movsxd rax, ebp
xor r11d, r11d
imul rax, rax, 0x60
mov qword [rbx + rax + 0x46d8], r11
jmp 0x1400e92c1
imul ecx, r9d
add ecx, 0xf
movsxd rcx, ecx
call fcn.14000cfc9
mov qword [rdi + 0x34], rax
test rax, rax
je 0x1400e92c1
add rax, 0xf
and rax, 0xfffffffffffffff0
cmp dword [rbx + 0x4830], 0
mov qword [rdi + 0x2c], rax
je 0x1400e92f8
mov ecx, dword [rdi + 0x20]
mov r9d, 0xf
mov r8d, 2
mov eax, ecx
cdq
idiv r12d
mov dword [rdi + 0x54], eax
mov eax, dword [rdi + 0x24]
cdq
idiv r12d
mov edx, dword [rdi + 0x24]
mov dword [rdi + 0x58], eax
call fcn.1400e51de
mov qword [rdi + 0x3c], rax
test rax, rax
jne 0x1400e92ec
lea rdx, [0x1401b5ebc]
lea rcx, [0x1401b5eac]
call fcn.14000de53
lea edx, [rbp + 1]
mov rcx, rbx
call fcn.1400e73f2
test eax, eax
jne 0x1400e9396
jmp 0x1400e9e21
add rax, 0xf
and rax, 0xfffffffffffffff0
mov qword [rdi + 0x4c], rax
inc ebp
add rdi, 0x60
jmp 0x1400e91e2
cmp byte [rbx + 0x4828], 0xff
je 0x1400e9cfa
mov rcx, rbx
call fcn.1400e7253
movzx eax, al
lea edx, [rax - 0xd0]
cmp edx, 7
jbe 0x1400e9396
mov edx, eax
cmp edx, 0xd9
je 0x1400e9d38
cmp edx, 0xda
jne 0x1400e936b
mov rcx, qword [rbx]
call fcn.1400e68a6
mov rcx, qword [rbx]
mov esi, eax
call fcn.1400e6867
movzx eax, al
lea edx, [rax - 1]
mov dword [rbx + 0x4854], eax
cmp edx, 3
jbe 0x1400e93a3
lea rdx, str.Corrupt_JPEG
jmp 0x1400e8fe6
cmp edx, 0xdc
jne 0x1400e9d23
mov rcx, qword [rbx]
call fcn.1400e68a6
mov rcx, qword [rbx]
mov esi, eax
call fcn.1400e68a6
cmp esi, 4
jne 0x1400e935f
mov rdx, qword [rbx]
cmp eax, dword [rdx + 4]
jne 0x1400e935f
mov rcx, rbx
call fcn.1400e7253
movzx edx, al
jmp 0x1400e9328
mov rdx, qword [rbx]
cmp eax, dword [rdx + 8]
jg 0x1400e935f
lea eax, [rax + rax + 6]
cmp esi, eax
jne 0x1400e935f
xor esi, esi
mov rcx, qword [rbx]
cmp dword [rbx + 0x4854], esi
jle 0x1400e9448
call fcn.1400e6867
mov rcx, qword [rbx]
movzx edi, al
call fcn.1400e6867
movzx ecx, al
mov rax, qword [rbx]
mov edx, ecx
mov r8d, dword [rax + 8]
xor eax, eax
cmp r8d, eax
jle 0x1400e93fe
lea r9, [rax + 1]
imul r10, r9, 0x60
cmp edi, dword [rbx + r10 + 0x4640]
je 0x1400e93fe
mov rax, r9
jmp 0x1400e93e2
cmp eax, r8d
je 0x1400e9e21
movsxd r8, eax
sar ecx, 4
imul r8, r8, 0x60
add r8, rbx
mov dword [r8 + 0x46b0], ecx
cmp ecx, 3
jg 0x1400e935f
mov ecx, edx
inc rsi
and ecx, 0xf
and dl, 0xc
mov dword [r8 + 0x46b4], ecx
jne 0x1400e935f
mov dword [rbx + rsi*4 + 0x4854], eax
jmp 0x1400e93b5
call fcn.1400e6867
mov rcx, qword [rbx]
movzx eax, al
mov dword [rbx + 0x4834], eax
call fcn.1400e6867
mov rcx, qword [rbx]
movzx eax, al
mov dword [rbx + 0x4838], eax
call fcn.1400e6867
mov esi, dword [rbx + 0x4830]
movzx edx, al
mov ecx, eax
and eax, 0xf
sar edx, 4
mov dword [rbx + 0x4840], eax
and ecx, 0xf
mov dword [rbx + 0x483c], edx
test esi, esi
je 0x1400e94d3
mov eax, dword [rbx + 0x4834]
cmp eax, 0x3f
jg 0x1400e935f
mov r8d, dword [rbx + 0x4838]
cmp eax, r8d
setg al
cmp r8d, 0x3f
setg r8b
or eax, r8d
cmp cl, 0xd
seta cl
or al, cl
jne 0x1400e935f
cmp edx, 0xd
jg 0x1400e935f
jmp 0x1400e94f1
or edx, dword [rbx + 0x4834]
jne 0x1400e935f
test cl, cl
jne 0x1400e935f
mov dword [rbx + 0x4838], 0x3f
mov rcx, rbx
call fcn.1400e4a7e
test esi, esi
jne 0x1400e97c9
xor ebp, ebp
lea rax, [rbx + 0x1a48]
cmp dword [rbx + 0x4854], 1
mov qword [rsp + 0x78], rax
jne 0x1400e963f
movsxd r15, dword [rbx + 0x4858]
mov r13, r15
imul r15, r15, 0x60
add r15, rbx
mov eax, dword [r15 + 0x46bc]
lea ebp, [rax + 7]
mov eax, dword [r15 + 0x46c0]
sar ebp, 3
lea edi, [rax + 7]
sar edi, 3
cmp edi, esi
jle 0x1400e9303
xor r12d, r12d
cmp ebp, r12d
jle 0x1400e9636
movsxd rax, dword [r15 + 0x46b4]
movsxd rdx, dword [r15 + 0x46ac]
lea r14, [rsp + 0xb0]
movsxd rcx, dword [r15 + 0x46b0]
mov dword [rsp + 0x28], r13d
imul r8, rax, 0x690
shl rdx, 7
shl rax, 0xa
imul rcx, rcx, 0x690
lea rdx, [rbx + rdx + 0x3488]
lea rax, [rbx + rax + 0x3688]
mov qword [rsp + 0x30], rdx
mov rdx, r14
mov qword [rsp + 0x20], rax
lea r9, [rbx + r8 + 0x1a48]
lea r8, [rbx + rcx + 8]
mov rcx, rbx
call fcn.1400e6b67
test eax, eax
je 0x1400e9e21
mov edx, dword [r15 + 0x46c4]
mov r8, r14
mov eax, edx
imul eax, esi
shl eax, 3
cdqe
lea rcx, [rax + r12*8]
add rcx, qword [r15 + 0x46d0]
call qword [rbx + 0x4870]
mov eax, dword [rbx + 0x486c]
dec eax
mov dword [rbx + 0x486c], eax
test eax, eax
jg 0x1400e962e
cmp dword [rbx + 0x4824], 0x17
jg 0x1400e9615
mov rcx, rbx
call fcn.1400e68f6
mov al, byte [rbx + 0x4828]
add eax, 0x30
cmp al, 7
ja 0x1400e9303
mov rcx, rbx
call fcn.1400e4a7e
inc r12
jmp 0x1400e9552
inc esi
jmp 0x1400e9547
inc ebp
cmp ebp, dword [rbx + 0x4694]
jge 0x1400e9303
xor r12d, r12d
cmp r12d, dword [rbx + 0x4690]
jge 0x1400e963d
xor r13d, r13d
cmp dword [rbx + 0x4854], r13d
jle 0x1400e9785
movsxd rdi, dword [rbx + r13*4 + 0x4858]
xor r15d, r15d
mov dword [rsp + 0x58], edi
imul rdi, rdi, 0x60
add rdi, rbx
cmp r15d, dword [rdi + 0x46a8]
jge 0x1400e977d
lea rax, [rbx + 8]
xor r14d, r14d
mov qword [rsp + 0x70], rax
mov eax, dword [rdi + 0x46a4]
mov esi, dword [rdi + 0x46a8]
cmp eax, r14d
jle 0x1400e9775
imul eax, r12d
lea rdx, [rsp + 0xb0]
movsxd rcx, dword [rdi + 0x46b0]
mov qword [rsp + 0x60], rdx
movsxd rdx, dword [rdi + 0x46ac]
imul esi, ebp
imul rcx, rcx, 0x690
add eax, r14d
shl rdx, 7
shl eax, 3
lea rdx, [rbx + rdx + 0x3488]
add esi, r15d
mov dword [rsp + 0x68], eax
movsxd rax, dword [rdi + 0x46b4]
mov qword [rsp + 0x30], rdx
mov edx, dword [rsp + 0x58]
imul r8, rax, 0x690
shl rax, 0xa
lea rax, [rbx + rax + 0x3688]
mov dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x78]
lea r9, [rax + r8]
mov rax, qword [rsp + 0x70]
lea r8, [rax + rcx]
mov rcx, rbx
call fcn.1400e6b67
test eax, eax
je 0x1400e9e21
mov edx, dword [rdi + 0x46c4]
movsxd rax, dword [rsp + 0x68]
inc r14d
mov r8, qword [rsp + 0x60]
imul esi, edx
lea ecx, [rsi*8]
movsxd rcx, ecx
add rcx, rax
add rcx, qword [rdi + 0x46d0]
call qword [rbx + 0x4870]
jmp 0x1400e9696
inc r15d
jmp 0x1400e967d
inc r13
jmp 0x1400e965a
mov eax, dword [rbx + 0x486c]
dec eax
mov dword [rbx + 0x486c], eax
test eax, eax
jg 0x1400e97c1
cmp dword [rbx + 0x4824], 0x17
jg 0x1400e97a8
mov rcx, rbx
call fcn.1400e68f6
mov al, byte [rbx + 0x4828]
add eax, 0x30
cmp al, 7
ja 0x1400e9303
mov rcx, rbx
call fcn.1400e4a7e
inc r12d
jmp 0x1400e964e
xor edi, edi
cmp dword [rbx + 0x4854], 1
jne 0x1400e9bdd
movsxd rbp, dword [rbx + 0x4858]
xor r10d, r10d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x60], ebp
imul rbp, rbp, 0x60
add rbp, rbx
mov eax, dword [rbp + 0x46bc]
add eax, 7
sar eax, 3
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x46c0]
add eax, 7
sar eax, 3
mov dword [rsp + 0x78], eax
mov edi, dword [rsp + 0x58]
cmp dword [rsp + 0x78], edi
jle 0x1400e9303
xor r13d, r13d
cmp dword [rsp + 0x70], r13d
jle 0x1400e9bd2
mov edi, dword [rsp + 0x58]
imul edi, dword [rbp + 0x46f8]
movsxd rsi, dword [rbx + 0x4834]
add edi, r13d
shl edi, 6
movsxd rdi, edi
add rdi, rdi
add rdi, qword [rbp + 0x46f0]
test esi, esi
jne 0x1400e9887
movsxd rax, dword [rbp + 0x46b0]
mov r9d, dword [rsp + 0x60]
mov rdx, rdi
mov rcx, rbx
imul rax, rax, 0x690
lea r8, [rbx + rax + 8]
call fcn.1400e6d23
test eax, eax
jne 0x1400e9b8e
jmp 0x1400e9e21
movsxd r12, dword [rbp + 0x46b4]
mov ecx, dword [rbx + 0x4840]
imul rax, r12, 0x690
cmp dword [rbx + 0x483c], 0
lea rax, [rbx + rax + 0x1a48]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx + 0x4844]
jne 0x1400e99f5
test eax, eax
je 0x1400e98cc
dec eax
mov dword [rbx + 0x4844], eax
jmp 0x1400e9b8e
shl r12, 0xa
mov r14d, 1
add r12, 0x3688
shl r14d, cl
cmp dword [rbx + 0x4824], 0xf
jg 0x1400e98f1
mov rcx, rbx
call fcn.1400e68f6
mov edx, dword [rbx + 0x4820]
mov eax, edx
shr eax, 0x17
add rax, rax
add rax, rbx
movsx eax, word [rax + r12]
mov ecx, eax
test eax, eax
je 0x1400e9968
mov r8d, eax
mov r9d, dword [rbx + 0x4824]
and ecx, 0xf
sar r8d, 4
and r8d, 0xf
add r8d, esi
cmp ecx, r9d
jle 0x1400e9936
lea rdx, str.Combined_length_longer_than_code_bits_available
jmp 0x1400e8fe6
shl edx, cl
sar eax, 8
lea esi, [r8 + 1]
movsxd r8, r8d
mov dword [rbx + 0x4820], edx
imul eax, r14d
lea rdx, [0x1401b65c0]
sub r9d, ecx
movzx edx, byte [rdx + r8]
mov dword [rbx + 0x4824], r9d
mov word [rdi + rdx*2], ax
jmp 0x1400e99e4
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1400e6973
test eax, eax
js 0x1400e935f
mov edx, eax
sar edx, 4
and eax, 0xf
jne 0x1400e99bd
cmp edx, 0xe
jg 0x1400e99b8
mov eax, 1
mov ecx, edx
shl eax, cl
mov dword [rbx + 0x4844], eax
test edx, edx
je 0x1400e99ad
mov rcx, rbx
call fcn.1400e6ac7
add dword [rbx + 0x4844], eax
dec dword [rbx + 0x4844]
jmp 0x1400e9b8e
add esi, 0x10
jmp 0x1400e99e4
add edx, esi
lea rcx, [0x1401b65c0]
lea esi, [rdx + 1]
movsxd rdx, edx
movzx r15d, byte [rcx + rdx]
mov edx, eax
mov rcx, rbx
call fcn.1400e6a52
imul eax, r14d
mov word [rdi + r15*2], ax
cmp dword [rbx + 0x4838], esi
jge 0x1400e98e0
jmp 0x1400e9b8e
mov r12d, 1
shl r12d, cl
mov r14d, r12d
test eax, eax
je 0x1400e9ac1
dec eax
mov dword [rbx + 0x4844], eax
cmp dword [rbx + 0x4838], esi
jl 0x1400e9b8e
lea rax, [0x1401b65c0]
movzx r15d, byte [rax + rsi]
add r15, r15
add r15, rdi
cmp word [r15], 0
je 0x1400e9a61
mov rcx, rbx
call fcn.1400e6b23
test eax, eax
je 0x1400e9a61
mov ax, word [r15]
test r14w, ax
jne 0x1400e9a61
mov ecx, eax
lea edx, [rax + r12]
sub ecx, r12d
test ax, ax
mov eax, ecx
cmovg eax, edx
mov word [r15], ax
inc rsi
jmp 0x1400e9a11
mov edx, eax
mov r15d, eax
sar edx, 4
and r15d, 0xf
jne 0x1400e9afc
cmp edx, 0xe
jle 0x1400e9ad7
movsxd rsi, esi
mov eax, dword [rbx + 0x4838]
cmp eax, esi
jl 0x1400e9b8e
lea rcx, [0x1401b65c0]
movzx r9d, byte [rcx + rsi]
add r9, r9
add r9, rdi
cmp word [r9], 0
jne 0x1400e9b39
test edx, edx
jne 0x1400e9b84
inc esi
mov word [r9], r15w
cmp esi, eax
jg 0x1400e9b8e
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.1400e6973
test eax, eax
jns 0x1400e9a66
jmp 0x1400e935f
mov eax, 1
mov ecx, edx
shl eax, cl
dec eax
mov dword [rbx + 0x4844], eax
test edx, edx
je 0x1400e9b2f
mov rcx, rbx
call fcn.1400e6ac7
add dword [rbx + 0x4844], eax
jmp 0x1400e9b2f
dec r15d
mov dword [rsp + 0x80], edx
jne 0x1400e935f
mov rcx, rbx
movsx r15d, r14w
call fcn.1400e6b23
mov edx, dword [rsp + 0x80]
test eax, eax
jne 0x1400e9a7d
neg r15d
jmp 0x1400e9a7d
mov edx, 0x40
jmp 0x1400e9a7d
mov rcx, rbx
mov dword [rsp + 0x8c], edx
mov qword [rsp + 0x80], r9
call fcn.1400e6b23
mov edx, dword [rsp + 0x8c]
test eax, eax
je 0x1400e9b86
mov r9, qword [rsp + 0x80]
mov ax, word [r9]
test r14w, ax
jne 0x1400e9b86
mov r10d, eax
lea ecx, [rax + r12]
sub r10d, r12d
test ax, ax
cmovle ecx, r10d
mov word [r9], cx
jmp 0x1400e9b86
dec edx
inc rsi
jmp 0x1400e9a80
mov eax, dword [rbx + 0x486c]
dec eax
mov dword [rbx + 0x486c], eax
test eax, eax
jg 0x1400e9bca
cmp dword [rbx + 0x4824], 0x17
jg 0x1400e9bb1
mov rcx, rbx
call fcn.1400e68f6
mov al, byte [rbx + 0x4828]
add eax, 0x30
cmp al, 7
ja 0x1400e9303
mov rcx, rbx
call fcn.1400e4a7e
inc r13d
jmp 0x1400e9823
inc dword [rsp + 0x58]
jmp 0x1400e9812
inc edi
cmp edi, dword [rbx + 0x4694]
jge 0x1400e9303
xor ebp, ebp
cmp ebp, dword [rbx + 0x4690]
jge 0x1400e9bdb
xor r12d, r12d
cmp dword [rbx + 0x4854], r12d
jle 0x1400e9c92
movsxd rsi, dword [rbx + r12*4 + 0x4858]
xor r13d, r13d
mov r15, rsi
imul rsi, rsi, 0x60
add rsi, rbx
cmp r13d, dword [rsi + 0x46a8]
jge 0x1400e9c8a
xor r14d, r14d
mov ecx, dword [rsi + 0x46a4]
mov edx, dword [rsi + 0x46a8]
cmp ecx, r14d
jle 0x1400e9c85
imul edx, edi
movsxd rax, dword [rsi + 0x46b0]
mov r9d, r15d
imul ecx, ebp
imul rax, rax, 0x690
add edx, r13d
imul edx, dword [rsi + 0x46f8]
add ecx, r14d
lea r8, [rbx + rax + 8]
add edx, ecx
mov rcx, rbx
shl edx, 6
movsxd rdx, edx
add rdx, rdx
add rdx, qword [rsi + 0x46f0]
call fcn.1400e6d23
test eax, eax
je 0x1400e9e21
inc r14d
jmp 0x1400e9c24
inc r13d
jmp 0x1400e9c18
inc r12
jmp 0x1400e9bf6
mov eax, dword [rbx + 0x486c]
dec eax
mov dword [rbx + 0x486c], eax
test eax, eax
jg 0x1400e9cce
cmp dword [rbx + 0x4824], 0x17
jg 0x1400e9cb5
mov rcx, rbx
call fcn.1400e68f6
mov al, byte [rbx + 0x4828]
add eax, 0x30
cmp al, 7
ja 0x1400e9303
mov rcx, rbx
call fcn.1400e4a7e
inc ebp
jmp 0x1400e9beb
call fcn.1400e4a3d
test eax, eax
jne 0x1400e9d13
mov rcx, qword [rbx]
call fcn.1400e6867
movzx edx, al
dec eax
cmp al, 0xfd
jbe 0x1400e9d18
mov rcx, qword [rbx]
cmp edx, 0xff
je 0x1400e9cd5
mov rcx, qword [rbx]
call fcn.1400e4a3d
test eax, eax
jne 0x1400e9d13
mov rcx, qword [rbx]
call fcn.1400e6867
movzx edx, al
jmp 0x1400e9cef
mov edx, 0xff
mov byte [rbx + 0x4828], dl
jmp 0x1400e9310
mov rcx, rbx
call fcn.1400e6e7c
test eax, eax
jne 0x1400e9396
jmp 0x1400e9df6
cmp dword [rbx + 0x4830], 0
je 0x1400e9df6
lea rbp, [rbx + 0x46ac]
xor r14d, r14d
mov rax, qword [rbx]
cmp r14d, dword [rax + 8]
jge 0x1400e9df6
mov eax, dword [rbp + 0x10]
xor r12d, r12d
lea edi, [rax + 7]
mov eax, dword [rbp + 0x14]
sar edi, 3
lea esi, [rax + 7]
sar esi, 3
cmp esi, r12d
jle 0x1400e9dea
xor r13d, r13d
cmp edi, r13d
jle 0x1400e9de5
mov r8d, dword [rbp + 0x4c]
movsxd rax, dword [rbp]
imul r8d, r12d
shl rax, 7
lea rcx, [rbx + rax + 0x3488]
xor eax, eax
add r8d, r13d
shl r8d, 6
movsxd r8, r8d
add r8, r8
add r8, qword [rbp + 0x44]
mov dx, word [r8 + rax]
imul dx, word [rcx + rax]
mov word [r8 + rax], dx
add rax, 2
cmp rax, 0x80
jne 0x1400e9da9
mov edx, dword [rbp + 0x18]
mov eax, r12d
imul eax, edx
shl eax, 3
cdqe
lea rcx, [rax + r13*8]
inc r13
add rcx, qword [rbp + 0x24]
call qword [rbx + 0x4870]
jmp 0x1400e9d79
inc r12d
jmp 0x1400e9d71
inc r14d
add rbp, 0x60
jmp 0x1400e9d4f
mov rax, qword [rbx]
cmp dword [rsp + 0x1e0], 0
mov ebp, dword [rax + 8]
jne 0x1400e9e2e
cmp ebp, 2
jg 0x1400ea42f
mov eax, dword [rsp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x1e0], eax
test ebp, ebp
jg 0x1400e9e7a
mov rcx, rbx
call fcn.1400e745d
jmp 0x1400e9fdc
cmp ebp, 3
jne 0x1400e9e0f
mov ebp, dword [rbx + 0x4850]
mov r14d, dword [rsp + 0x48]
cmp ebp, 3
je 0x1400e9e7a
cmp dword [rsp + 0x1e0], 2
mov rax, qword [rbx + 0x4848]
jg 0x1400e9e59
test rax, rax
jne 0x1400e9e6a
xor r14d, r14d
test rax, rax
mov ebp, 3
sete r14b
jmp 0x1400e9e7a
mov eax, dword [rsp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x1e0], eax
mov ebp, eax
xor eax, eax
mov ecx, 8
lea rdi, [rsp + 0x90]
movabs r12, 0x100000001
rep stosd dword [rdi], eax
lea rax, [rsp + 0xb0]
lea rdi, [0x1400e4acd]
movabs r13, 0x200000001
mov qword [rsp + 0x60], rax
mov rsi, rax
mov rax, qword [rbx]
mov eax, dword [rax]
lea ecx, [rax + 3]
call fcn.14000cfc9
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x44], rax
test rax, rax
je 0x1400e9fc8
mov eax, dword [rbx + 0x4688]
mov rcx, qword [rsp + 0x50]
mov r8, qword [rbx]
cdq
idiv dword [rcx]
mov r9d, eax
mov dword [rsi + 0x18], eax
mov eax, dword [rbx + 0x468c]
cdq
idiv dword [rcx + 4]
mov ecx, dword [r8]
xor edx, edx
mov dword [rsi + 0x1c], eax
sar eax, 1
mov dword [rsi + 0x24], eax
lea eax, [rcx + r9 - 1]
div r9d
xor r9d, r9d
mov dword [rsi + 0x28], r9d
mov dword [rsi + 0x20], eax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x2c]
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rax
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x30
mov rdx, qword [rsp + rax + 0xc8]
mov rax, rdi
cmp rdx, r12
je 0x1400e9f81
lea rax, [0x1400e4ad1]
cmp rdx, r13
je 0x1400e9f81
movabs r9, 0x100000002
lea rax, [0x1400e7293]
cmp rdx, r9
je 0x1400e9f81
movabs r9, 0x200000002
lea rax, [0x1400e4afc]
cmp rdx, r9
jne 0x1400e9f81
mov rax, qword [rbx + 0x4880]
mov qword [rsi], rax
add rsi, 0x30
inc dword [rsp + 0x88]
add qword [rsp + 0x50], 0x60
cmp dword [rsp + 0x88], ebp
jne 0x1400e9eb6
mov edx, ecx
mov r8d, dword [r8 + 4]
mov ecx, dword [rsp + 0x1e0]
mov r9d, 1
call fcn.1400e51de
xor edx, edx
mov dword [rsp + 0x50], edx
mov r15, rax
test rax, rax
jne 0x1400ea000
mov rcx, rbx
call fcn.1400e745d
lea rcx, [0x1401b5ebc]
call fcn.1400e7465
xor r15d, r15d
jmp 0x1400ea414
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov rdx, r10
mov dword [rsp + 0x28], 3
call qword [rbx + 0x4878]
inc dword [rsp + 0x50]
mov rax, qword [rbx]
mov edi, dword [rsp + 0x50]
cmp edi, dword [rax + 4]
jae 0x1400ea3d0
mov esi, dword [rsp + 0x1e0]
imul esi, dword [rax]
lea r13, [rbx + 0x46c0]
xor r10d, r10d
mov eax, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
imul esi, eax
add rsi, r15
mov eax, dword [rdi + 0x24]
mov r12, qword [rdi + 0x10]
mov r11d, dword [rdi + 0x18]
mov r9d, dword [rdi + 0x20]
mov dword [rsp + 0x88], eax
mov eax, dword [rdi + 0x1c]
mov rdx, r12
mov r8, qword [rdi + 8]
mov dword [rsp + 0x58], eax
mov ecx, dword [rsp + 0x58]
mov rax, qword [rdi]
sar ecx, 1
cmp dword [rsp + 0x88], ecx
jge 0x1400ea06f
mov rdx, r8
mov r8, r12
mov qword [rsp + 0x68], r10
mov rcx, qword [r13 + 0x28]
mov dword [rsp + 0x20], r11d
call rax
mov r10, qword [rsp + 0x68]
mov qword [rsp + r10*8 + 0x90], rax
mov eax, dword [rsp + 0x88]
inc eax
cmp dword [rsp + 0x58], eax
jle 0x1400ea0a0
mov dword [rdi + 0x24], eax
jmp 0x1400ea0c2
xor eax, eax
mov qword [rdi + 8], r12
mov dword [rdi + 0x24], eax
mov eax, dword [rdi + 0x28]
inc eax
mov dword [rdi + 0x28], eax
cmp eax, dword [r13]
jge 0x1400ea0c2
movsxd rax, dword [r13 + 4]
add r12, rax
mov qword [rdi + 0x10], r12
inc r10
add rdi, 0x30
add r13, 0x60
cmp ebp, r10d
jg 0x1400ea033
mov rax, qword [rbx]
cmp dword [rsp + 0x1e0], 3
mov r10, qword [rsp + 0x90]
mov edx, dword [rax]
jne 0x1400ea26e
mov eax, dword [rax + 8]
cmp eax, 3
jne 0x1400ea141
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
test r14d, r14d
je 0x1400e9fe4
xor eax, eax
mov rdx, qword [rbx]
cmp eax, dword [rdx]
jae 0x1400e9ffc
mov edx, eax
add rsi, 3
inc eax
mov cl, byte [r10 + rdx]
mov byte [rsi - 3], cl
mov cl, byte [r8 + rdx]
mov byte [rsi - 2], cl
mov dl, byte [r9 + rdx]
mov byte [rsi], 0xff
mov byte [rsi - 1], dl
jmp 0x1400ea114
cmp eax, 4
jne 0x1400ea247
mov ecx, dword [rbx + 0x484c]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
test ecx, ecx
jne 0x1400ea1c0
mov r13, qword [rsp + 0xa8]
xor r11d, r11d
mov rax, qword [rbx]
cmp r11d, dword [rax]
jae 0x1400e9ffc
mov edi, r11d
add rsi, 3
inc r11d
movzx r12d, byte [r13 + rdi]
movzx ecx, byte [r10 + rdi]
mov edx, r12d
call fcn.1400e4b34
mov edx, r12d
mov byte [rsi - 3], al
movzx ecx, byte [r8 + rdi]
call fcn.1400e4b34
mov edx, r12d
mov byte [rsi - 2], al
movzx ecx, byte [r9 + rdi]
call fcn.1400e4b34
mov byte [rsi], 0xff
mov byte [rsi - 1], al
jmp 0x1400ea16f
cmp ecx, 2
mov rax, qword [rbx + 0x4878]
mov rcx, rsi
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x28], 3
mov rdx, r10
jne 0x1400ea240
call rax
mov r10, qword [rsp + 0xa8]
xor r8d, r8d
mov rax, qword [rbx]
cmp r8d, dword [rax]
jae 0x1400e9ffc
mov cl, byte [rsi]
mov eax, r8d
add rsi, 3
inc r8d
movzx r9d, byte [r10 + rax]
not ecx
movzx ecx, cl
mov edx, r9d
call fcn.1400e4b34
mov cl, byte [rsi - 2]
mov edx, r9d
mov byte [rsi - 3], al
not ecx
movzx ecx, cl
call fcn.1400e4b34
mov cl, byte [rsi - 1]
mov edx, r9d
mov byte [rsi - 2], al
not ecx
movzx ecx, cl
call fcn.1400e4b34
mov byte [rsi - 1], al
jmp 0x1400ea1eb
call rax
jmp 0x1400e9ffc
xor eax, eax
mov rdx, qword [rbx]
cmp eax, dword [rdx]
jae 0x1400e9ffc
mov edx, eax
add rsi, 3
inc eax
mov dl, byte [r10 + rdx]
mov byte [rsi], 0xff
mov byte [rsi - 1], dl
mov byte [rsi - 2], dl
mov byte [rsi - 3], dl
jmp 0x1400ea249
test r14d, r14d
je 0x1400ea2bb
mov r9, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x98]
xor edx, edx
mov rax, qword [rbx]
cmp edx, dword [rax]
jae 0x1400e9ffc
mov ecx, edx
movzx r8d, byte [r10 + rcx]
movzx eax, byte [r11 + rcx]
movzx ecx, byte [r9 + rcx]
imul r8d, r8d, 0x4d
imul eax, eax, 0x96
imul ecx, ecx, 0x1d
add eax, r8d
add eax, ecx
mov byte [rsi + rdx], ah
inc rdx
jmp 0x1400ea285
cmp dword [rax + 8], 4
je 0x1400ea2c8
xor eax, eax
jmp 0x1400ea3b8
mov edx, dword [rbx + 0x484c]
test edx, edx
jne 0x1400ea375
mov rax, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
xor r11d, r11d
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx]
cmp r11d, dword [rax]
jae 0x1400e9ffc
mov edi, r11d
movzx eax, byte [r13 + rdi]
movzx ecx, byte [r10 + rdi]
mov edx, eax
mov dword [rsp + 0x88], eax
call fcn.1400e4b34
movzx ecx, byte [r12 + rdi]
mov edx, dword [rsp + 0x88]
movzx r8d, al
call fcn.1400e4b34
mov edx, dword [rsp + 0x88]
imul r8d, r8d, 0x4d
movzx r9d, al
mov rax, qword [rsp + 0x58]
imul r9d, r9d, 0x96
movzx ecx, byte [rax + rdi]
call fcn.1400e4b34
add r8d, r9d
mov byte [rsi + r11 + 1], 0xff
movzx eax, al
imul eax, eax, 0x1d
add eax, r8d
movzx eax, ah
mov byte [rsi + r11], al
inc r11
jmp 0x1400ea2f6
xor eax, eax
cmp edx, 2
jne 0x1400ea3b8
mov r9, qword [rsp + 0xa8]
xor r8d, r8d
mov rax, qword [rbx]
cmp r8d, dword [rax]
jae 0x1400e9ffc
mov eax, r8d
mov cl, byte [r10 + rax]
movzx edx, byte [r9 + rax]
not ecx
movzx ecx, cl
call fcn.1400e4b34
mov byte [rsi + r8 + 1], 0xff
mov byte [rsi + r8], al
inc r8
jmp 0x1400ea387
mov rdx, qword [rbx]
cmp eax, dword [rdx]
jae 0x1400e9ffc
mov edx, eax
inc eax
mov cl, byte [r10 + rdx]
mov byte [rsi + rdx], cl
jmp 0x1400ea3b8
mov rcx, rbx
call fcn.1400e745d
mov rax, qword [rbx]
mov rdi, qword [rsp + 0x1c8]
mov edx, dword [rax]
mov dword [rdi], edx
mov rdi, qword [rsp + 0x1d0]
mov edx, dword [rax + 4]
mov dword [rdi], edx
cmp dword [rax + 8], 3
mov eax, 3
cmovl eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x1d8]
mov edi, dword [rsp + 0x48]
mov dword [rax], edi
mov rcx, rbx
call fcn.14000cfde
jmp 0x1400ea44b
lea rcx, str.Image_not_of_any_known_type__or_corrupt
call fcn.1400e7465
xor r15d, r15d
jmp 0x1400ea44b
mov dword [rsp + 0x1e0], 3
xor r14d, r14d
cmp ebp, 3
je 0x1400e9e33
jmp 0x1400e9e7a
mov rax, r15
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret