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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push r12
push r13
push r15
sub rsp, 0xa8
mov r15, r9
mov r13, r8
mov rbp, rdx
mov r12, rcx
test rcx, rcx
je 0x1400e721e
test rdx, rdx
je 0x1400e721e
test r8, r8
je 0x1400e721e
mov r9d, dword [rdx + 0x15e0]
lea eax, [r9 - 1]
cmp eax, 0x20
ja 0x1400e7202
mov r9d, dword [rdx + 0x15e4]
lea eax, [r9 - 4]
cmp eax, 0x3fc
ja 0x1400e71dd
mov r8d, dword [rdx + 0x15e8]
lea eax, [r8 - 4]
cmp eax, 0x3fc
ja 0x1400e71b5
mov eax, r8d
imul eax, r9d
cmp eax, 0x1000
jle 0x1400e61fd
lea r8, str.Invalid_value_for_cblockw_init__cblockh_init:_should_be___4096_n
mov edx, 1
mov rcx, r15
call fcn.1400ead70
xor eax, eax
add rsp, 0xa8
pop r15
pop r13
pop r12
pop rbp
ret
mov qword [rsp + 0xd8], rbx
xor ebx, ebx
mov eax, r9d
mov ecx, ebx
cmp r9d, 1
jle 0x1400e621b
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e6212
mov eax, r8d
mov edx, ebx
cmp r8d, 1
jle 0x1400e622f
sar eax, 1
inc edx
cmp eax, 1
jg 0x1400e6226
mov eax, 1
shl eax, cl
cmp r9d, eax
jne 0x1400e624c
mov ecx, edx
mov eax, 1
shl eax, cl
cmp r8d, eax
je 0x1400e6267
mov r9d, r8d
lea r8, str.Invalid_value_for_cblockw_init:__d_not_a_power_of_2_in_range__4_1024__n
mov edx, 1
mov rcx, r15
call fcn.1400ead70
xor eax, eax
jmp 0x1400e6e0a
mov qword [rsp + 0x98], rdi
mov dword [r12 + 0x90], 1
mov dword [r12 + 0x94], 1
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
mov edi, 0x8100
cmp word [rbp + 0x491c], bx
jne 0x1400e6359
mov ecx, dword [rbp + 0x48fc]
mov r9d, 4
mov edx, ebx
lea r8d, [r9 - 1]
dec ecx
je 0x1400e62ec
dec ecx
je 0x1400e62ce
dec ecx
jne 0x1400e630d
mov word [rbp + 0x491c], r9w
jmp 0x1400e62f4
mov word [rbp + 0x491c], r8w
mov dword [rbp + 0x4918], 0x9ef21
mov dword [rbp + 0x4900], 0x7f281
jmp 0x1400e6308
mov word [rbp + 0x491c], r8w
mov dword [rbp + 0x4900], 0xfe502
mov dword [rbp + 0x4918], 0x13de43
mov edx, 1
mov ecx, dword [rbp + 0x4904]
sub ecx, r8d
je 0x1400e633d
dec ecx
je 0x1400e6333
sub ecx, 0x80fc
je 0x1400e632a
test edx, edx
je 0x1400e6359
jmp 0x1400e6345
mov word [rbp + 0x491c], di
jmp 0x1400e6345
mov word [rbp + 0x491c], r9w
jmp 0x1400e6345
mov word [rbp + 0x491c], r8w
lea r8, str.Deprecated_fields_cp_cinema_or_cp_rsiz_are_used_nPlease_consider_using_only_the_rsiz_field_nSee_openjpeg.h_documentation_for_more_details_n
mov edx, 2
mov rcx, r15
call fcn.1400ead70
cmp dword [rbp + 0x12bc], ebx
jne 0x1400e6373
mov qword [rbp + 0x12bc], 1
mov dword [rbp + 0x14], 1
movss xmm7, dword [0x140161ce8]
xorps xmm6, xmm6
cmp dword [rbp + 0x14], ebx
je 0x1400e64e9
mov ebx, 1
cmp dword [rbp + 0x12bc], ebx
jbe 0x1400e6566
nop dword [rax + rax]
mov eax, ebx
lea ecx, [rbx - 1]
movss xmm3, dword [rbp + rax*4 + 0x12c0]
movss xmm4, dword [rbp + rcx*4 + 0x12c0]
movaps xmm2, xmm3
comiss xmm7, xmm2
movaps xmm0, xmm4
movaps xmm1, xmm4
jb 0x1400e63c8
movaps xmm2, xmm7
comiss xmm7, xmm0
jb 0x1400e63d0
movaps xmm0, xmm7
comiss xmm2, xmm0
jb 0x1400e64d9
ucomiss xmm2, xmm3
jp 0x1400e6455
jne 0x1400e6455
ucomiss xmm0, xmm1
jp 0x1400e6419
jne 0x1400e6419
cvtps2pd xmm0, xmm1
cvtps2pd xmm1, xmm3
lea r8, str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f_n
mov r9d, ebx
mov edx, 2
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov rcx, r15
movsd qword [rsp + 0x20], xmm1
call fcn.1400ead70
jmp 0x1400e64d9
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm4
cvtps2pd xmm2, xmm3
lea r8, str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
mov r9d, ebx
mov edx, 2
movsd qword [rsp + 0x38], xmm0
movsd qword [rsp + 0x30], xmm1
mov dword [rsp + 0x28], ecx
mov rcx, r15
movsd qword [rsp + 0x20], xmm2
call fcn.1400ead70
jmp 0x1400e64d9
ucomiss xmm0, xmm1
jp 0x1400e6498
jne 0x1400e6498
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
lea r8, str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f_n
movsd qword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], ecx
cvtss2sd xmm1, xmm2
mov r9d, ebx
mov edx, 2
mov rcx, r15
cvtps2pd xmm2, xmm3
movsd qword [rsp + 0x28], xmm1
movsd qword [rsp + 0x20], xmm2
call fcn.1400ead70
jmp 0x1400e64d9
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtss2sd xmm2, xmm2
lea r8, str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
mov r9d, ebx
mov edx, 2
movsd qword [rsp + 0x40], xmm0
movsd qword [rsp + 0x38], xmm1
cvtps2pd xmm3, xmm3
mov dword [rsp + 0x30], ecx
mov rcx, r15
movsd qword [rsp + 0x28], xmm2
movsd qword [rsp + 0x20], xmm3
call fcn.1400ead70
inc ebx
cmp ebx, dword [rbp + 0x12bc]
jb 0x1400e63a0
jmp 0x1400e6566
cmp dword [rbp + 0x1c], ebx
je 0x1400e6568
mov ebx, 1
cmp dword [rbp + 0x12bc], ebx
jbe 0x1400e6566
nop dword [rax + rax]
lea ecx, [rbx - 1]
mov eax, ebx
movss xmm1, dword [rbp + rax*4 + 0x1450]
movss xmm0, dword [rbp + rcx*4 + 0x1450]
comiss xmm0, xmm1
jbe 0x1400e655c
mov eax, dword [rbp + 0x12bc]
dec eax
cmp ebx, eax
jne 0x1400e652f
ucomiss xmm1, xmm6
jp 0x1400e652f
je 0x1400e655c
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
lea r8, str.tcp_distoratio__d__f_should_be_strictly_greater_than_tcp_distoratio__d__f_n
mov r9d, ebx
mov edx, 2
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov rcx, r15
movsd qword [rsp + 0x20], xmm1
call fcn.1400ead70
inc ebx
cmp ebx, dword [rbp + 0x12bc]
jb 0x1400e6500
xor ebx, ebx
mov r8d, dword [rbp + 0x4918]
test r8d, r8d
jg 0x1400e6638
movsxd rax, dword [rbp + 0x12bc]
movss xmm2, dword [rbp + rax*4 + 0x12bc]
comiss xmm2, xmm6
jbe 0x1400e662d
mov rcx, qword [r13 + 0x18]
xorps xmm3, xmm3
xorps xmm0, xmm0
cvtps2pd xmm2, xmm2
mulsd xmm2, qword [0x140167950]
xorps xmm1, xmm1
mov eax, dword [rcx + 8]
cvtsi2sd xmm3, rax
mov eax, dword [r13 + 0x10]
cvtsi2sd xmm0, rax
mov eax, dword [rcx + 0xc]
cvtsi2sd xmm1, rax
mov eax, dword [rcx + 0x18]
mulsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [rcx]
mulsd xmm3, xmm1
xorps xmm1, xmm1
mulsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [rcx + 4]
cvtsi2sd xmm1, rax
mulsd xmm2, xmm0
mulsd xmm2, xmm1
divsd xmm3, xmm2
cvtpd2ps xmm0, xmm3
comiss xmm0, dword [0x1401754e8]
jbe 0x1400e6616
mov dword [rbp + 0x4918], 0x7fffffff
jmp 0x1400e66fc
cvtps2pd xmm0, xmm0
call sub.msvcrt.dll_floor
cvttsd2si eax, xmm0
mov dword [rbp + 0x4918], eax
jmp 0x1400e66fc
mov dword [rbp + 0x4918], ebx
jmp 0x1400e66fc
cmp dword [rbp + 0x12bc], 0
mov rcx, qword [r13 + 0x18]
xorps xmm3, xmm3
mov eax, dword [rcx + 8]
xorps xmm0, xmm0
xorps xmm1, xmm1
movd xmm2, r8d
mov edx, ebx
cvtdq2pd xmm2, xmm2
cvtsi2sd xmm3, rax
mov eax, dword [r13 + 0x10]
mulsd xmm2, qword [0x140167950]
cvtsi2sd xmm0, rax
mov eax, dword [rcx + 0xc]
cvtsi2sd xmm1, rax
mov eax, dword [rcx + 0x18]
mulsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [rcx]
mulsd xmm3, xmm1
xorps xmm1, xmm1
mulsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [rcx + 4]
cvtsi2sd xmm1, rax
mulsd xmm2, xmm0
mov eax, ebx
mulsd xmm2, xmm1
divsd xmm3, xmm2
cvtpd2ps xmm0, xmm3
jbe 0x1400e66fc
nop dword [rax + rax]
mov ecx, eax
comiss xmm0, dword [rbp + rcx*4 + 0x12c0]
jbe 0x1400e66da
movss dword [rbp + rcx*4 + 0x12c0], xmm0
mov edx, 1
inc eax
cmp eax, dword [rbp + 0x12bc]
jb 0x1400e66c0
test edx, edx
je 0x1400e66fc
lea r8, str.The_desired_maximum_codestream_size_has_limited_nat_least_one_of_the_desired_quality_layers_n
mov edx, 2
mov rcx, r15
call fcn.1400ead70
movzx ecx, word [rbp + 0x491c]
movaps xmm6, xmmword [rsp + 0x80]
lea eax, [rcx - 3]
cmp ax, 3
ja 0x1400e6754
sub cx, 5
cmp cx, 1
jbe 0x1400e674b
mov r8, r15
mov rdx, r13
mov rcx, rbp
call fcn.1400e5690
movzx edx, word [rbp + 0x491c]
mov r8, r15
mov rcx, r13
call fcn.1400e3600
test eax, eax
jne 0x1400e67d7
jmp 0x1400e67d0
lea r8, str.JPEG_2000_Scalable_Digital_Cinema_profiles_not_yet_supported_n
jmp 0x1400e67c3
cmp cx, 7
jne 0x1400e6763
lea r8, str.JPEG_2000_Long_Term_Storage_profile_not_yet_supported_n
jmp 0x1400e67c3
mov edx, 0x100
movzx eax, cx
sub ax, dx
mov edx, 0x20b
cmp ax, dx
ja 0x1400e6781
lea r8, str.JPEG_2000_Broadcast_profiles_not_yet_supported_n
jmp 0x1400e67c3
mov edx, 0x400
movzx eax, cx
sub ax, dx
mov edx, 0x49b
cmp ax, dx
ja 0x1400e679f
lea r8, str.JPEG_2000_IMF_profiles_not_yet_supported_n
jmp 0x1400e67c3
mov eax, 0x8000
test ax, cx
je 0x1400e67d7
cmp cx, ax
jne 0x1400e67b7
lea r8, str.JPEG_2000_Part_2_profile_defined_nbut_no_Part_2_extension_enabled._nProfile_set_to_NONE._n
jmp 0x1400e67c3
cmp cx, di
je 0x1400e67d7
lea r8, str.Unsupported_Part_2_extension_enabled_nProfile_set_to_NONE._n
mov edx, 2
mov rcx, r15
call fcn.1400ead70
mov word [rbp + 0x491c], bx
mov eax, dword [rbp + 0x4900]
mov dword [r12 + 0xe8], eax
movzx eax, word [rbp + 0x491c]
mov word [r12 + 0x70], ax
mov eax, dword [r12 + 0xfc]
xor eax, dword [rbp + 0x14]
and eax, 1
xor dword [r12 + 0xfc], eax
mov eax, dword [r12 + 0xfc]
mov ecx, dword [rbp + 0x18]
add ecx, ecx
xor ecx, eax
and ecx, 2
xor ecx, eax
mov dword [r12 + 0xfc], ecx
mov eax, dword [rbp + 0x1c]
shl eax, 2
xor eax, ecx
and eax, 4
xor eax, ecx
mov dword [r12 + 0xfc], eax
cmp dword [rbp + 0x18], 0
je 0x1400e689d
cmp qword [rbp + 0x20], 0
je 0x1400e689d
movsxd rcx, dword [rbp + 0x15e0]
movsxd rax, dword [rbp + 0x12bc]
imul rcx, rax
lea rbx, [rcx + rcx*2]
shl rbx, 2
mov rcx, rbx
call fcn.1400d9100
mov qword [r12 + 0xf0], rax
test rax, rax
jne 0x1400e688e
lea r8, str.Not_enough_memory_to_allocate_copy_of_user_encoding_parameters_matrix__n
lea edx, [rax + 1]
mov rcx, r15
call fcn.1400ead70
xor eax, eax
jmp 0x1400e6dfd
mov rdx, qword [rbp + 0x20]
mov r8, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0xc]
or rbx, 0xffffffffffffffff
mov qword [rsp + 0xa0], rsi
mov dword [r12 + 0x7c], eax
mov eax, dword [rbp + 0x10]
mov dword [r12 + 0x80], eax
mov eax, dword [rbp + 4]
mov dword [r12 + 0x74], eax
mov eax, dword [rbp + 8]
mov dword [r12 + 0x78], eax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1400e6937
cmp byte [rax + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1400e68d5
lea rcx, [rbx + 1]
call fcn.1400d9100
mov rcx, rax
mov qword [r12 + 0x88], rax
test rax, rax
jne 0x1400e6912
lea r8, str.Not_enough_memory_to_allocate_copy_of_comment_string_n
lea edx, [rax + 1]
mov rcx, r15
call fcn.1400ead70
xor eax, eax
jmp 0x1400e6df5
mov rdx, qword [rbp + 0x28]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rcx, [rcx + 1]
lea rdx, [rdx + 1]
mov byte [rcx - 1], al
test al, al
jne 0x1400e6920
jmp 0x1400e69d5
mov eax, dword [0x1401a14f8]
movups xmm0, xmmword [str.Created_by_OpenJPEG_version]
movsd xmm1, qword [0x1401a14f0]
mov dword [rsp + 0x68], eax
movzx eax, byte [0x1401a14fc]
mov rdi, rbx
mov byte [rsp + 0x6c], al
lea rax, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
movsd qword [rsp + 0x60], xmm1
nop
cmp byte [rax + rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x1400e6970
call fcn.1400d7d50
mov rsi, rax
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400e6983
lea rcx, [rdi + 1]
add rcx, rbx
call fcn.1400d9100
mov qword [r12 + 0x88], rax
test rax, rax
jne 0x1400e69be
lea r8, str.Not_enough_memory_to_allocate_comment_string_n
lea edx, [rax + 1]
mov rcx, r15
call fcn.1400ead70
xor eax, eax
jmp 0x1400e6df5
lea r8, [rsp + 0x50]
lea rdx, [0x1401a1530]
mov r9, rsi
mov rcx, rax
call sub.msvcrt.dll_sprintf
mov eax, dword [r13 + 8]
sub eax, dword [r12 + 0x74]
cmp dword [rbp], 0
je 0x1400e6a26
movsxd rcx, dword [r12 + 0x7c]
cdqe
dec rax
add rax, rcx
cqo
idiv rcx
movsxd rcx, dword [r12 + 0x80]
mov dword [r12 + 0x90], eax
mov eax, dword [r13 + 0xc]
sub eax, dword [r12 + 0x78]
cdqe
dec rax
add rax, rcx
cqo
idiv rcx
mov dword [r12 + 0x94], eax
jmp 0x1400e6a3c
mov dword [r12 + 0x7c], eax
mov eax, dword [r13 + 0xc]
sub eax, dword [r12 + 0x78]
mov dword [r12 + 0x80], eax
cmp byte [rbp + 0x4908], 0
je 0x1400e6a5d
movzx eax, byte [rbp + 0x4909]
or dword [r12 + 0xfc], 8
mov byte [r12 + 0xf8], al
mov ecx, dword [r12 + 0x94]
mov edx, 0x1640
imul ecx, dword [r12 + 0x90]
call fcn.1400d90d0
mov qword [r12 + 0xe0], rax
test rax, rax
jne 0x1400e6a9e
lea r8, str.Not_enough_memory_to_allocate_tile_coding_parameters_n
lea edx, [rax + 1]
mov rcx, r15
call fcn.1400ead70
xor eax, eax
jmp 0x1400e6df5
mov edx, dword [rbp + 0x12b8]
test edx, edx
je 0x1400e6acb
mov eax, dword [rbp + 0x12bc]
mov r9d, dword [r13 + 0x10]
mov r8d, dword [rbp + 0x15e0]
lea rcx, [rbp + 0x38]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.1400e0540
mov eax, dword [r12 + 0x94]
xor edx, edx
mov qword [rsp + 0x90], r14
mov ecx, edx
mov dword [rsp + 0xd0], edx
imul eax, dword [r12 + 0x90]
test eax, eax
je 0x1400e712b
nop word [rax + rax]
mov eax, ecx
imul r14, rax, 0x1640
mov eax, dword [rbp + 0x12bc]
add r14, qword [r12 + 0xe0]
mov dword [r14 + 8], eax
test eax, eax
je 0x1400e6b87
xor r9d, r9d
movzx eax, word [r12 + 0x70]
sub ax, 3
cmp ax, 3
ja 0x1400e6c68
test byte [r12 + 0xfc], 4
je 0x1400e6b52
mov ecx, edx
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1450], eax
mov ecx, edx
mov eax, dword [rbp + rcx*4 + 0x12c0]
mov dword [r14 + rcx*4 + 0x14], eax
test byte [r12 + 0xfc], 4
jne 0x1400e6b78
comiss xmm7, dword [r14 + rcx*4 + 0x14]
jb 0x1400e6b78
mov dword [r14 + rcx*4 + 0x14], r9d
inc edx
cmp edx, dword [r14 + 8]
jb 0x1400e6b22
mov ecx, dword [rsp + 0xd0]
mov eax, dword [rbp + 0x30]
xor r8d, r8d
mov dword [r14], eax
mov eax, dword [rbp + 0x34]
mov dword [r14 + 4], eax
movsx eax, byte [rbp + 0x490a]
and dword [r14 + 0x1638], 0xfffffffb
mov dword [r14 + 0x10], eax
cmp dword [rbp + 0x12b8], r8d
je 0x1400e6c8d
or dword [r14 + 0x1638], 4
xor edx, edx
cmp dword [rbp + 0x12b8], edx
jbe 0x1400e6c5b
lea r9d, [rcx + 1]
nop dword [rax]
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x94
cmp r9d, dword [rcx + rbp + 0x68]
jne 0x1400e6c51
mov eax, r8d
imul rcx, rax, 0x94
inc r8d
mov eax, dword [rcx + rbp + 0x38]
mov dword [rcx + r14 + 0x1a8], eax
mov eax, dword [rcx + rbp + 0x3c]
mov dword [rcx + r14 + 0x1ac], eax
mov eax, dword [rcx + rbp + 0x40]
mov dword [rcx + r14 + 0x1b0], eax
mov eax, dword [rcx + rbp + 0x44]
mov dword [rcx + r14 + 0x1b4], eax
mov eax, dword [rcx + rbp + 0x48]
mov dword [rcx + r14 + 0x1b8], eax
mov eax, dword [rcx + rbp + 0x58]
mov dword [rcx + r14 + 0x1c8], eax
mov eax, dword [rcx + rbp + 0x68]
mov dword [rcx + r14 + 0x1d8], eax
inc edx
cmp edx, dword [rbp + 0x12b8]
jb 0x1400e6be0
lea eax, [r8 - 1]
mov dword [r14 + 0x1a4], eax
jmp 0x1400e6c94
test byte [r12 + 0xfc], 4
je 0x1400e6b52
mov ecx, edx
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1450], eax
jmp 0x1400e6b60
mov dword [r14 + 0x1a4], r8d
mov ecx, dword [r13 + 0x10]
mov edx, 0x438
call fcn.1400d90d0
mov qword [r14 + 0x15e0], rax
test rax, rax
je 0x1400e71a9
cmp qword [rbp + 0x4910], 0
je 0x1400e6e21
mov eax, dword [r13 + 0x10]
imul eax, eax
shl eax, 2
mov ecx, eax
mov edi, eax
call fcn.1400d9100
mov rsi, qword [rbp + 0x4910]
add rsi, rdi
mov rbx, rax
test rax, rax
je 0x1400e719d
mov ecx, edi
mov dword [r14 + 0x10], 2
call fcn.1400d9100
mov qword [r14 + 0x1610], rax
test rax, rax
je 0x1400e7189
mov rdx, qword [rbp + 0x4910]
mov r8d, edi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp + 0x4910]
mov r8d, edi
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, edi
call fcn.1400d9100
mov rcx, rbx
mov qword [r14 + 0x1608], rax
test rax, rax
je 0x1400e7178
mov r8d, dword [r13 + 0x10]
mov rdx, rax
call fcn.1400f4de0
test eax, eax
je 0x1400e7164
mov ecx, dword [r13 + 0x10]
shl rcx, 3
call fcn.1400d9100
mov qword [r14 + 0x1600], rax
test rax, rax
je 0x1400e7150
mov r8, qword [r14 + 0x1608]
mov edx, dword [r13 + 0x10]
mov rcx, rax
call fcn.1400f4eb0
mov rcx, rbx
call fcn.1400d90f0
xor r9d, r9d
mov r8d, r9d
cmp dword [r13 + 0x10], r9d
jbe 0x1400e6dc4
nop
mov rcx, qword [r14 + 0x15e0]
mov eax, r8d
inc r8d
imul rdx, rax, 0x438
mov eax, dword [rsi + rax*4]
mov dword [rdx + rcx + 0x434], eax
cmp r8d, dword [r13 + 0x10]
jb 0x1400e6da0
mov rdx, r13
mov rcx, r14
call fcn.1400e75e0
test eax, eax
jne 0x1400e6ebe
lea r8, str.Failed_to_setup_j2k_mct_encoding_n
mov edx, 1
mov rcx, r15
call fcn.1400ead70
xor eax, eax
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x98]
movaps xmm7, xmmword [rsp + 0x70]
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa8
pop r15
pop r13
pop r12
pop rbp
ret
cmp dword [r14 + 0x10], 1
jne 0x1400e6e6e
cmp dword [r13 + 0x10], 3
jb 0x1400e6e6e
mov rax, qword [r13 + 0x18]
mov ecx, dword [rax]
cmp ecx, dword [rax + 0x40]
jne 0x1400e6e52
cmp ecx, dword [rax + 0x80]
jne 0x1400e6e52
mov ecx, dword [rax + 4]
cmp ecx, dword [rax + 0x44]
jne 0x1400e6e52
cmp ecx, dword [rax + 0x84]
je 0x1400e6e6e
lea r8, str.Cannot_perform_MCT_on_components_with_different_sizes._Disabling_MCT._n
mov edx, 2
mov rcx, r15
call fcn.1400ead70
xor edx, edx
mov dword [r14 + 0x10], edx
jmp 0x1400e6e70
xor edx, edx
cmp dword [r13 + 0x10], 0
mov r8d, edx
jbe 0x1400e6ec0
nop word [rax + rax]
mov eax, r8d
mov r9d, r8d
shl rax, 6
add rax, qword [r13 + 0x18]
cmp dword [rax + 0x20], 0
jne 0x1400e6eb5
mov ecx, dword [rax + 0x18]
mov rax, qword [r14 + 0x15e0]
mov edx, 1
dec ecx
shl edx, cl
imul rcx, r9, 0x438
mov dword [rcx + rax + 0x434], edx
inc r8d
cmp r8d, dword [r13 + 0x10]
jb 0x1400e6e80
xor edx, edx
cmp dword [r13 + 0x10], 0
mov esi, edx
jbe 0x1400e7102
nop dword [rax]
mov eax, dword [rbp + 0x30]
mov r15d, esi
mov ecx, edx
and eax, 1
imul r10, r15, 0x438
add r10, qword [r14 + 0x15e0]
mov dword [r10], eax
mov eax, dword [rbp + 0x15e0]
mov dword [r10 + 4], eax
mov eax, dword [rbp + 0x15e4]
cmp eax, 1
jle 0x1400e6f0a
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e6f01
mov dword [r10 + 8], ecx
mov eax, dword [rbp + 0x15e8]
mov ecx, edx
cmp eax, 1
jle 0x1400e6f29
nop dword [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e6f20
mov dword [r10 + 0xc], ecx
mov eax, dword [rbp + 0x15ec]
mov dword [r10 + 0x10], eax
cmp dword [rbp + 0x15f0], 0
mov eax, edx
sete al
mov dword [r10 + 0x14], eax
mov eax, dword [rbp + 0x15f0]
mov dword [r10 + 0x324], 2
neg eax
sbb ecx, ecx
and ecx, 2
mov dword [r10 + 0x18], ecx
cmp esi, dword [rbp + 0x15f4]
jne 0x1400e6f7a
mov eax, dword [rbp + 0x15f8]
mov dword [r10 + 0x328], eax
jmp 0x1400e6f81
mov dword [r10 + 0x328], edx
test byte [rbp + 0x30], 1
je 0x1400e70a3
mov eax, dword [r10 + 4]
mov ebx, edx
dec eax
movsxd rdi, eax
js 0x1400e70d4
lea r9, [rdi + 0xec]
lea r11, [rbp + 0x1684]
lea r9, [r10 + r9*4]
nop
movsxd rcx, dword [rbp + 0x15fc]
cmp ebx, ecx
jge 0x1400e701e
mov eax, dword [r11 - 0x84]
cmp eax, 1
jge 0x1400e6fd4
mov dword [r9 - 0x84], 1
jmp 0x1400e6ff0
mov ecx, edx
cmp eax, 1
jle 0x1400e6fe9
nop dword [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e6fe0
mov dword [r9 - 0x84], ecx
mov eax, dword [r11]
cmp eax, 1
jge 0x1400e7004
mov dword [r9], 1
jmp 0x1400e708e
mov ecx, edx
cmp eax, 1
jle 0x1400e7019
nop dword [rax + rax]
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e7010
mov dword [r9], ecx
jmp 0x1400e708e
mov rdx, rcx
mov eax, ebx
mov r8d, dword [rbp + rdx*4 + 0x1680]
sub eax, ecx
lea ecx, [rax + 1]
mov eax, dword [rbp + rdx*4 + 0x15fc]
xor edx, edx
sar eax, cl
sar r8d, cl
cmp eax, 1
jge 0x1400e7050
mov dword [r9 - 0x84], 1
jmp 0x1400e7067
mov ecx, edx
cmp eax, 1
jle 0x1400e7060
sar eax, 1
inc ecx
cmp eax, 1
jg 0x1400e7057
mov dword [r9 - 0x84], ecx
cmp r8d, 1
jge 0x1400e7076
mov dword [r9], 1
jmp 0x1400e708e
mov eax, edx
cmp r8d, 1
jle 0x1400e708b
nop
sar r8d, 1
inc eax
cmp r8d, 1
jg 0x1400e7080
mov dword [r9], eax
inc ebx
add r11, 4
sub r9, 4
dec rdi
jns 0x1400e6fb0
jmp 0x1400e70d4
cmp dword [r10 + 4], 0
mov r8d, edx
jbe 0x1400e70d4
nop dword [rax]
mov eax, r8d
inc r8d
mov dword [r10 + rax*4 + 0x32c], 0xf
mov dword [r10 + rax*4 + 0x3b0], 0xf
cmp r8d, dword [r10 + 4]
jb 0x1400e70b0
mov rax, qword [r13 + 0x18]
shl r15, 6
mov rcx, r10
mov edx, dword [r15 + rax + 0x18]
call fcn.1400f5a60
inc esi
mov edx, 0
cmp esi, dword [r13 + 0x10]
jb 0x1400e6ed0
mov r15, qword [rsp + 0xe8]
mov ecx, dword [rsp + 0xd0]
mov eax, dword [r12 + 0x94]
inc ecx
mov dword [rsp + 0xd0], ecx
imul eax, dword [r12 + 0x90]
cmp ecx, eax
jb 0x1400e6b00
mov rcx, qword [rbp + 0x4910]
test rcx, rcx
je 0x1400e7146
call fcn.1400d90f0
xor r9d, r9d
mov qword [rbp + 0x4910], r9
mov eax, 1
jmp 0x1400e6ded
mov rcx, rbx
call fcn.1400d90f0
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_norms__n
jmp 0x1400e6dde
mov rcx, rbx
call fcn.1400d90f0
lea r8, str.Failed_to_inverse_encoder_MCT_decoding_matrix__n
jmp 0x1400e6dde
call fcn.1400d90f0
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_decoding_matrix__n
jmp 0x1400e6dde
mov rcx, rbx
call fcn.1400d90f0
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_coding_matrix__n
jmp 0x1400e6dde
lea r8, str.Not_enough_memory_to_allocate_temp_buffer_n
jmp 0x1400e6dde
lea r8, str.Not_enough_memory_to_allocate_tile_component_coding_parameters_n
jmp 0x1400e6dde
mov r9d, r8d
lea r8, str.Invalid_value_for_cblockh_init:__d_not_a_power_of_2_not_in_range__4_1024__n
mov edx, 1
mov rcx, r15
call fcn.1400ead70
xor eax, eax
add rsp, 0xa8
pop r15
pop r13
pop r12
pop rbp
ret
lea r8, str.Invalid_value_for_cblockw_init:__d_not_a_power_of_2_in_range__4_1024__n
mov edx, 1
mov rcx, r15
call fcn.1400ead70
xor eax, eax
add rsp, 0xa8
pop r15
pop r13
pop r12
pop rbp
ret
lea r8, str.Invalid_number_of_resolutions_:__d_not_in_range__1__d__n
mov edx, 1
mov rcx, r15
mov dword [rsp + 0x20], 0x21
call fcn.1400ead70
xor eax, eax
add rsp, 0xa8
pop r15
pop r13
pop r12
pop rbp
ret