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

Disassembly:
push rbp
push rdi
push r12
push r15
sub rsp, 0xf8
mov rax, qword [0x1402fc2c8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x58], r9
mov r12, r9
mov qword [rsp + 0x50], r8
mov rdi, r8
mov qword [rsp + 0x60], rcx
mov rbp, rdx
mov r15, rcx
test rcx, rcx
je 0x1400d3a1e
test rdx, rdx
je 0x1400d3a1e
test r8, r8
je 0x1400d3a1e
mov r9d, dword [rdx + 0x15e0]
lea eax, [r9 - 1]
cmp eax, 0x20
ja 0x1400d3a02
mov r8d, dword [rdx + 0x15e4]
mov qword [rsp + 0xd8], r14
lea eax, [r8 - 4]
cmp eax, 0x3fc
ja 0x1400d39e4
mov r9d, dword [rdx + 0x15e8]
lea eax, [r9 - 4]
cmp eax, 0x3fc
ja 0x1400d39c9
mov eax, r9d
imul eax, r8d
cmp eax, 0x1000
jle 0x1400d28d7
lea r8, str.Invalid_value_for_cblockw_init__cblockh_init:_should_be___4096_n
mov edx, 1
mov rcx, r12
call fcn.1400cd690
xor eax, eax
jmp 0x1400d30d4
xor r14d, r14d
mov eax, r8d
mov ecx, r14d
cmp r8d, 1
jle 0x1400d28ef
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1400d28e6
mov eax, r9d
mov edx, r14d
cmp r9d, 1
jle 0x1400d2909
nop dword [rax + rax]
shr eax, 1
inc edx
cmp eax, 1
ja 0x1400d2900
mov eax, 1
shl eax, cl
cmp r8d, eax
jne 0x1400d39e4
mov ecx, edx
mov eax, 1
shl eax, cl
cmp r9d, eax
jne 0x1400d39e7
mov qword [rsp + 0xe8], rsi
mov r9d, 4
mov dword [r15 + 0x90], 1
mov esi, 0x8100
mov dword [r15 + 0x94], 1
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
cmp word [rbp + 0x491c], r14w
jne 0x1400d2a24
mov ecx, dword [rbp + 0x48fc]
lea r8d, [r9 - 1]
mov edx, r14d
sub ecx, 1
je 0x1400d29b6
sub ecx, 1
je 0x1400d2998
cmp ecx, 1
jne 0x1400d29d7
mov word [rbp + 0x491c], r9w
jmp 0x1400d29be
mov word [rbp + 0x491c], r8w
mov dword [rbp + 0x4918], 0x9ef21
mov dword [rbp + 0x4900], 0x7f281
jmp 0x1400d29d2
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 0x1400d2a08
sub ecx, 1
je 0x1400d29fe
cmp ecx, 0x80fc
je 0x1400d29f5
test edx, edx
je 0x1400d2a24
jmp 0x1400d2a10
mov word [rbp + 0x491c], si
jmp 0x1400d2a10
mov word [rbp + 0x491c], r9w
jmp 0x1400d2a10
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, r12
call fcn.1400cd690
mov ecx, dword [rbp + 0x12bc]
test ecx, ecx
jne 0x1400d2a45
mov qword [rbp + 0x12bc], 1
mov ecx, 1
mov dword [rbp + 0x14], 1
xorps xmm6, xmm6
movss xmm7, dword [0x1402dc90c]
mov qword [rsp + 0xf0], rbx
cmp dword [rbp + 0x14], r14d
je 0x1400d2bb5
mov ebx, 1
cmp ecx, ebx
jbe 0x1400d2bae
nop
mov eax, ebx
lea ecx, [rbx - 1]
movss xmm1, dword [rbp + rcx*4 + 0x12c0]
movaps xmm2, xmm7
movaps xmm0, xmm7
maxss xmm0, xmm1
movss xmm3, dword [rbp + rax*4 + 0x12c0]
maxss xmm2, xmm3
comiss xmm2, xmm0
jb 0x1400d2b9e
ucomiss xmm2, xmm3
jp 0x1400d2aa5
je 0x1400d2ab4
ucomiss xmm0, xmm1
jp 0x1400d2b5d
jne 0x1400d2b5d
ucomiss xmm2, xmm3
cvtps2pd xmm4, xmm1
cvtps2pd xmm5, xmm3
jp 0x1400d2b27
jne 0x1400d2b27
ucomiss xmm0, xmm1
jp 0x1400d2af4
jne 0x1400d2af4
movsd qword [rsp + 0x30], xmm4
lea r8, str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f_n
mov dword [rsp + 0x28], ecx
mov r9d, ebx
mov rcx, r12
movsd qword [rsp + 0x20], xmm5
mov edx, 2
call fcn.1400cd690
jmp 0x1400d2b9e
cvtss2sd xmm0, xmm0
mov r9d, ebx
lea r8, str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
mov edx, 2
movsd qword [rsp + 0x38], xmm0
movsd qword [rsp + 0x30], xmm4
mov dword [rsp + 0x28], ecx
mov rcx, r12
movsd qword [rsp + 0x20], xmm5
call fcn.1400cd690
jmp 0x1400d2b9e
movsd qword [rsp + 0x38], xmm4
lea r8, str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f_n
mov dword [rsp + 0x30], ecx
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
mov r9d, ebx
mov edx, 2
mov rcx, r12
movsd qword [rsp + 0x28], xmm0
movsd qword [rsp + 0x20], xmm5
call fcn.1400cd690
jmp 0x1400d2b9e
cvtss2sd xmm0, xmm0
mov r9d, ebx
lea r8, str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
mov edx, 2
cvtps2pd xmm1, xmm1
movsd qword [rsp + 0x40], xmm0
movsd qword [rsp + 0x38], xmm1
mov dword [rsp + 0x30], ecx
mov rcx, r12
cvtss2sd xmm2, xmm2
cvtps2pd xmm3, xmm3
movsd qword [rsp + 0x28], xmm2
movsd qword [rsp + 0x20], xmm3
call fcn.1400cd690
mov ecx, dword [rbp + 0x12bc]
inc ebx
cmp ebx, ecx
jb 0x1400d2a70
mov edx, ecx
jmp 0x1400d2c35
mov edx, ecx
cmp dword [rbp + 0x1c], r14d
je 0x1400d2c35
mov ebx, 1
cmp ecx, ebx
jbe 0x1400d2c35
nop word [rax + rax]
mov eax, ebx
lea edx, [rbx - 1]
movss xmm0, dword [rbp + rdx*4 + 0x1450]
movss xmm1, dword [rbp + rax*4 + 0x1450]
comiss xmm0, xmm1
jbe 0x1400d2c27
lea eax, [rcx - 1]
cmp ebx, eax
jne 0x1400d2bfa
ucomiss xmm1, xmm6
jp 0x1400d2bfa
je 0x1400d2c27
cvtps2pd xmm0, xmm0
mov r9d, ebx
lea r8, str.tcp_distoratio__d__f_should_be_strictly_greater_than_tcp_distoratio__d__f_n
mov rcx, r12
cvtps2pd xmm1, xmm1
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], edx
mov edx, 2
movsd qword [rsp + 0x20], xmm1
call fcn.1400cd690
mov edx, dword [rbp + 0x12bc]
inc ebx
mov ecx, edx
cmp ebx, edx
jb 0x1400d2bd0
mov r9d, dword [rbp + 0x4918]
mov qword [rsp + 0xe0], r13
test r9d, r9d
jg 0x1400d2d11
movsxd rax, edx
lea r13, [rdi + 0x10]
movss xmm2, dword [rbp + rax*4 + 0x12bc]
comiss xmm2, xmm6
jbe 0x1400d2d03
mov rcx, qword [rdi + 0x18]
xorps xmm3, xmm3
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
mov eax, dword [rcx + 8]
cvtsi2sd xmm3, rax
mov eax, dword [r13]
mulsd xmm2, qword [0x1402d6f90]
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 [0x1402dc934]
jbe 0x1400d2cec
mov eax, 0x80000000
mov dword [rbp + 0x4918], eax
jmp 0x1400d2dd6
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
mov dword [rbp + 0x4918], eax
jmp 0x1400d2dd6
mov eax, r14d
mov dword [rbp + 0x4918], eax
jmp 0x1400d2dd6
mov rcx, qword [rdi + 0x18]
xorps xmm3, xmm3
lea r13, [rdi + 0x10]
xorps xmm0, xmm0
xorps xmm2, xmm2
xorps xmm1, xmm1
mov r8d, r14d
mov eax, dword [rcx + 8]
cvtsi2sd xmm2, r9d
cvtsi2sd xmm3, rax
mov eax, dword [rdi + 0x10]
mulsd xmm2, qword [0x1402d6f90]
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
mov eax, r14d
mulsd xmm2, xmm0
mulsd xmm2, xmm1
divsd xmm3, xmm2
cvtpd2ps xmm0, xmm3
test edx, edx
je 0x1400d2dd6
mov ecx, eax
comiss xmm0, dword [rbp + rcx*4 + 0x12c0]
jbe 0x1400d2dab
movss dword [rbp + rcx*4 + 0x12c0], xmm0
mov r8d, 1
inc eax
cmp eax, dword [rbp + 0x12bc]
jb 0x1400d2d90
lea r13, [rdi + 0x10]
test r8d, r8d
je 0x1400d2dd6
lea r8, str.The_desired_maximum_codestream_size_has_limited_nat_least_one_of_the_desired_quality_layers_n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
lea r13, [rdi + 0x10]
movzx ecx, word [rbp + 0x491c]
movaps xmm6, xmmword [rsp + 0xc0]
lea eax, [rcx - 3]
cmp ax, 3
ja 0x1400d2f80
sub cx, 5
cmp cx, 1
jbe 0x1400d2f77
mov r8, r12
mov rdx, rdi
mov rcx, rbp
call fcn.1400d7710
mov r10d, dword [r13]
cmp r10d, 3
je 0x1400d2e34
mov r9d, r10d
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_n3_components___Number_of_components_of_input_image___d__is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
jmp 0x1400d2ffc
mov r8, qword [rdi + 0x18]
mov r9d, r14d
nop dword [rax + rax]
mov eax, r9d
shl rax, 6
mov ecx, dword [rax + r8 + 0x1c]
cmp ecx, 0xc
mov edx, dword [rax + r8 + 0x20]
mov eax, r14d
setne al
or eax, edx
jne 0x1400d2f0b
inc r9d
cmp r9d, r10d
jb 0x1400d2e40
movzx ecx, word [rbp + 0x491c]
sub ecx, 3
je 0x1400d2ec5
cmp ecx, 1
jne 0x1400d3004
mov r9d, dword [r8 + 8]
mov ecx, r14d
mov edx, dword [r8 + 0xc]
cmp r9d, 0x1000
mov eax, r14d
seta cl
cmp edx, 0x870
seta al
or ecx, eax
je 0x1400d3004
mov dword [rsp + 0x20], edx
lea r8, str.JPEG_2000_Profile_4__4k_dc_profile__requires:_nwidth___4096_and_height___2160_n___Image_size__d_x__d_is_not_compliant_n___Non_profile_4_codestream_will_be_generated_n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
jmp 0x1400d2ffc
mov r9d, dword [r8 + 8]
mov ecx, r14d
mov edx, dword [r8 + 0xc]
cmp r9d, 0x800
mov eax, r14d
seta cl
cmp edx, 0x438
seta al
or ecx, eax
je 0x1400d3004
mov dword [rsp + 0x20], edx
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_nwidth___2048_and_height___1080_n___Input_image_size__d_x__d_is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
jmp 0x1400d2ffc
mov eax, dword [str.signed]
lea r8, [rsp + 0x70]
movsd xmm0, qword [str.unsigned]
test edx, edx
mov dword [rsp + 0x68], eax
mov edx, 2
movzx eax, word [0x1402da9bc]
mov word [rsp + 0x6c], ax
movzx eax, byte [0x1402da9be]
mov byte [rsp + 0x6e], al
movzx eax, byte [0x1402da9c8]
mov byte [rsp + 0x78], al
lea rax, [rsp + 0x68]
cmove rax, r8
movsd qword [rsp + 0x70], xmm0
mov qword [rsp + 0x28], rax
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_nPrecision_of_each_component_shall_be_12_bits_unsigned___At_least_component__d_of_input_image___d_bits___s__is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.1400cd690
jmp 0x1400d2ffc
lea r8, str.JPEG_2000_Scalable_Digital_Cinema_profiles_not_yet_supported_n
jmp 0x1400d2fef
cmp cx, 7
jne 0x1400d2f8f
lea r8, str.JPEG_2000_Long_Term_Storage_profile_not_yet_supported_n
jmp 0x1400d2fef
mov edx, 0x100
movzx eax, cx
sub ax, dx
mov edx, 0x20b
cmp ax, dx
ja 0x1400d2fad
lea r8, str.JPEG_2000_Broadcast_profiles_not_yet_supported_n
jmp 0x1400d2fef
mov edx, 0x400
movzx eax, cx
sub ax, dx
mov edx, 0x49b
cmp ax, dx
ja 0x1400d2fcb
lea r8, str.JPEG_2000_IMF_profiles_not_yet_supported_n
jmp 0x1400d2fef
test cx, cx
jns 0x1400d3004
mov eax, 0x8000
cmp cx, ax
jne 0x1400d2fe3
lea r8, str.JPEG_2000_Part_2_profile_defined_nbut_no_Part_2_extension_enabled._nProfile_set_to_NONE._n
jmp 0x1400d2fef
cmp cx, si
je 0x1400d3004
lea r8, str.Unsupported_Part_2_extension_enabled_nProfile_set_to_NONE._n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
mov word [rbp + 0x491c], r14w
mov eax, dword [rbp + 0x4900]
mov dword [r15 + 0xe8], eax
movzx eax, word [rbp + 0x491c]
mov word [r15 + 0x70], ax
mov eax, dword [r15 + 0xfc]
mov ecx, eax
xor ecx, dword [rbp + 0x14]
and ecx, 1
xor ecx, eax
mov dword [r15 + 0xfc], ecx
mov edx, dword [rbp + 0x18]
add edx, edx
xor edx, ecx
and edx, 2
xor edx, ecx
mov dword [r15 + 0xfc], edx
mov eax, dword [rbp + 0x1c]
shl eax, 2
xor eax, edx
and eax, 4
xor eax, edx
mov dword [r15 + 0xfc], eax
cmp dword [rbp + 0x18], r14d
je 0x1400d3109
cmp qword [rbp + 0x20], r14
je 0x1400d3109
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.1400cd670
mov qword [r15 + 0xf0], rax
test rax, rax
jne 0x1400d30fa
lea r8, str.Not_enough_memory_to_allocate_copy_of_user_encoding_parameters_matrix__n
mov edx, 1
mov rcx, r12
call fcn.1400cd690
xor eax, eax
mov r13, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
movaps xmm7, xmmword [rsp + 0xb0]
mov r14, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140120140
add rsp, 0xf8
pop r15
pop r12
pop rdi
pop rbp
ret
mov rdx, qword [rbp + 0x20]
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp + 0xc]
mov rbx, 0xffffffffffffffff
mov dword [r15 + 0x7c], eax
mov eax, dword [rbp + 0x10]
mov dword [r15 + 0x80], eax
mov eax, dword [rbp + 4]
mov dword [r15 + 0x74], eax
mov eax, dword [rbp + 8]
mov dword [r15 + 0x78], eax
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1400d3196
nop dword [rax + rax]
cmp byte [rax + rbx + 1], r14b
lea rbx, [rbx + 1]
jne 0x1400d3140
lea rcx, [rbx + 1]
call fcn.1400cd670
mov qword [r15 + 0x88], rax
mov rcx, rax
test rax, rax
jne 0x1400d316f
lea r8, str.Not_enough_memory_to_allocate_copy_of_comment_string_n
jmp 0x1400d30a5
mov rdx, qword [rbp + 0x28]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400d3180
jmp 0x1400d323f
mov eax, dword [0x1402db208]
mov rdi, rbx
movups xmm0, xmmword [str.Created_by_OpenJPEG_version]
mov dword [rsp + 0x98], eax
movzx eax, byte [0x1402db20c]
movups xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x9c], al
lea rax, [rsp + 0x80]
movsd xmm0, qword [0x1402db200]
movsd qword [rsp + 0x90], xmm0
nop dword [rax]
cmp byte [rax + rdi + 1], r14b
lea rdi, [rdi + 1]
jne 0x1400d31e0
call fcn.1400cb950
mov rsi, rax
inc rbx
cmp byte [rax + rbx], r14b
jne 0x1400d31f3
lea rcx, [rdi + 1]
add rcx, rbx
call fcn.1400cd670
mov qword [r15 + 0x88], rax
test rax, rax
jne 0x1400d3220
lea r8, str.Not_enough_memory_to_allocate_comment_string_n
jmp 0x1400d30a5
mov r9, rsi
lea r8, [rsp + 0x80]
lea rdx, str._s_s
mov rcx, rax
call fcn.14008cc50
mov rdi, qword [rsp + 0x50]
mov eax, dword [rdi + 8]
sub eax, dword [r15 + 0x74]
cmp dword [rbp], r14d
je 0x1400d3288
movsxd rcx, dword [r15 + 0x7c]
cdqe
dec rax
add rax, rcx
cqo
idiv rcx
movsxd rcx, dword [r15 + 0x80]
mov dword [r15 + 0x90], eax
mov eax, dword [rdi + 0xc]
sub eax, dword [r15 + 0x78]
cdqe
dec rax
add rax, rcx
cqo
idiv rcx
mov dword [r15 + 0x94], eax
jmp 0x1400d329a
mov dword [r15 + 0x7c], eax
mov eax, dword [rdi + 0xc]
sub eax, dword [r15 + 0x78]
mov dword [r15 + 0x80], eax
cmp byte [rbp + 0x4908], r14b
je 0x1400d32b9
movzx eax, byte [rbp + 0x4909]
or dword [r15 + 0xfc], 8
mov byte [r15 + 0xf8], al
mov ecx, dword [r15 + 0x90]
mov edx, 0x1640
imul ecx, dword [r15 + 0x94]
call fcn.1400cd640
mov qword [r15 + 0xe0], rax
test rax, rax
jne 0x1400d32ea
lea r8, str.Not_enough_memory_to_allocate_tile_coding_parameters_n
jmp 0x1400d30a5
mov edx, dword [rbp + 0x12b8]
test edx, edx
je 0x1400d3317
mov eax, dword [rbp + 0x12bc]
lea rcx, [rbp + 0x38]
mov r9d, dword [r13]
mov r8d, dword [rbp + 0x15e0]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
call fcn.1400d4420
mov eax, dword [r15 + 0x90]
xor r9d, r9d
imul eax, dword [r15 + 0x94]
mov r10d, r9d
mov dword [rsp + 0x68], r9d
test eax, eax
je 0x1400d3933
nop dword [rax]
mov eax, r10d
imul r14, rax, 0x1640
mov eax, dword [rbp + 0x12bc]
add r14, qword [r15 + 0xe0]
mov dword [r14 + 8], eax
test eax, eax
je 0x1400d33d2
xor r11d, r11d
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r15 + 0xfc]
movzx eax, word [r15 + 0x70]
and r8d, 4
sub ax, 3
mov ecx, r9d
cmp ax, 3
ja 0x1400d3605
test r8d, r8d
je 0x1400d33a5
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1450], eax
lea rdx, [rcx + 5]
mov eax, dword [rbp + rcx*4 + 0x12c0]
mov dword [r14 + rdx*4], eax
test byte [r15 + 0xfc], 4
jne 0x1400d33c9
comiss xmm7, dword [r14 + rdx*4]
jb 0x1400d33c9
mov dword [r14 + rdx*4], r11d
inc r9d
cmp r9d, dword [r14 + 8]
jb 0x1400d3370
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]
mov dword [r14 + 0x10], eax
mov eax, dword [r14 + 0x1638]
and eax, 0xfffffffb
mov dword [r14 + 0x1638], eax
cmp dword [rbp + 0x12b8], r8d
je 0x1400d34ae
or eax, 4
xor edx, edx
mov dword [r14 + 0x1638], eax
cmp dword [rbp + 0x12b8], edx
jbe 0x1400d34ab
lea r9d, [r10 + 1]
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x94
cmp r9d, dword [rcx + rbp + 0x68]
jne 0x1400d34a1
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 0x1400d3430
dec r8d
mov dword [r14 + 0x1a4], r8d
mov edx, 0x438
mov ecx, dword [r13]
call fcn.1400cd640
mov qword [r14 + 0x15e0], rax
test rax, rax
je 0x1400d39bd
cmp qword [rbp + 0x4910], 0
je 0x1400d3626
mov eax, dword [r13]
imul eax, eax
shl eax, 2
mov ecx, eax
mov edi, eax
call fcn.1400cd670
mov rsi, qword [rbp + 0x4910]
mov rbx, rax
add rsi, rdi
test rax, rax
je 0x1400d39b1
mov ecx, edi
mov dword [r14 + 0x10], 2
call fcn.1400cd670
mov qword [r14 + 0x1610], rax
test rax, rax
je 0x1400d399d
mov rdx, qword [rbp + 0x4910]
mov r8d, edi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0x4910]
mov r8d, edi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, edi
call fcn.1400cd670
mov qword [r14 + 0x1608], rax
mov rcx, rbx
test rax, rax
je 0x1400d398c
mov r8d, dword [r13]
mov rdx, rax
call fcn.1400de320
test eax, eax
je 0x1400d3978
mov ecx, dword [r13]
shl rcx, 3
call fcn.1400cd670
mov qword [r14 + 0x1600], rax
test rax, rax
je 0x1400d3964
mov r8, qword [r14 + 0x1608]
mov rcx, rax
mov edx, dword [r13]
call fcn.1400ec680
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor r8d, r8d
cmp dword [r13], r8d
jbe 0x1400d35e5
nop dword [rax]
mov rcx, qword [r14 + 0x15e0]
mov eax, r8d
imul rdx, rax, 0x438
mov eax, dword [rsi + r8*4]
inc r8d
mov dword [rdx + rcx + 0x434], eax
cmp r8d, dword [r13]
jb 0x1400d35c0
mov rdi, qword [rsp + 0x50]
mov rcx, r14
mov rdx, rdi
call fcn.1400d3a30
test eax, eax
je 0x1400d3958
xor r9d, r9d
jmp 0x1400d36bf
lea rdx, [rcx + 5]
test r8d, r8d
je 0x1400d33a9
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1450], eax
jmp 0x1400d33b4
cmp dword [r14 + 0x10], 1
jne 0x1400d3674
cmp dword [r13], 3
jb 0x1400d3674
mov rax, qword [rdi + 0x18]
mov ecx, dword [rax]
cmp ecx, dword [rax + 0x40]
jne 0x1400d3657
cmp ecx, dword [rax + 0x80]
jne 0x1400d3657
mov ecx, dword [rax + 4]
cmp ecx, dword [rax + 0x44]
jne 0x1400d3657
cmp ecx, dword [rax + 0x84]
je 0x1400d3674
lea r8, str.Cannot_perform_MCT_on_components_with_different_sizes._Disabling_MCT._n
mov edx, 2
mov rcx, r12
call fcn.1400cd690
xor r9d, r9d
mov dword [r14 + 0x10], r9d
jmp 0x1400d3677
xor r9d, r9d
cmp dword [r13], 0
mov r8d, r9d
jbe 0x1400d36bf
mov ecx, r8d
shl rcx, 6
add rcx, qword [rdi + 0x18]
mov eax, r8d
cmp dword [rcx + 0x20], 0
jne 0x1400d36b6
mov ecx, dword [rcx + 0x18]
mov edx, 1
dec ecx
shl edx, cl
imul rcx, rax, 0x438
mov rax, qword [r14 + 0x15e0]
mov dword [rcx + rax + 0x434], edx
inc r8d
cmp r8d, dword [r13]
jb 0x1400d3681
cmp dword [r13], 0
mov r15d, r9d
jbe 0x1400d3909
nop dword [rax]
mov eax, dword [rbp + 0x30]
mov ecx, r9d
and eax, 1
mov r12d, r15d
imul r11, r12, 0x438
add r11, qword [r14 + 0x15e0]
mov dword [r11], eax
mov eax, dword [rbp + 0x15e0]
mov dword [r11 + 4], eax
mov eax, dword [rbp + 0x15e4]
cmp eax, 1
jle 0x1400d370b
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1400d3702
mov dword [r11 + 8], ecx
mov ecx, r9d
mov eax, dword [rbp + 0x15e8]
cmp eax, 1
jle 0x1400d3729
nop dword [rax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1400d3720
mov dword [r11 + 0xc], ecx
mov eax, dword [rbp + 0x15ec]
mov dword [r11 + 0x10], eax
mov eax, r9d
cmp dword [rbp + 0x15f0], 0
sete al
mov dword [r11 + 0x14], eax
mov eax, dword [rbp + 0x15f0]
neg eax
mov dword [r11 + 0x324], 2
sbb ecx, ecx
and ecx, 2
mov dword [r11 + 0x18], ecx
cmp r15d, dword [rbp + 0x15f4]
jne 0x1400d3775
mov eax, dword [rbp + 0x15f8]
jmp 0x1400d3778
mov eax, r9d
mov dword [r11 + 0x328], eax
test byte [rbp + 0x30], 1
je 0x1400d38ae
mov eax, dword [r11 + 4]
mov esi, r9d
sub eax, 1
movsxd rbx, eax
js 0x1400d38dc
lea rdi, [rbp + 0x1684]
movsxd rdx, dword [rbp + 0x15fc]
cmp esi, edx
jge 0x1400d3816
mov eax, dword [rdi - 0x84]
cmp eax, 1
jge 0x1400d37c0
mov ecx, 1
jmp 0x1400d37ce
mov ecx, r9d
jle 0x1400d37ce
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1400d37c5
mov rdx, r11
mov r8, rbx
mov dword [rdx + rbx*4 + 0x32c], ecx
mov eax, dword [rdi]
cmp eax, 1
jge 0x1400d37f3
mov ecx, 1
mov dword [rdx + rbx*4 + 0x3b0], ecx
jmp 0x1400d3897
mov ecx, r9d
jle 0x1400d3809
nop dword [rax + rax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1400d3800
mov dword [rdx + r8*4 + 0x3b0], ecx
jmp 0x1400d3897
mov r8d, dword [rbp + rdx*4 + 0x1680]
mov ecx, esi
sub ecx, edx
mov edx, dword [rbp + rdx*4 + 0x15fc]
inc ecx
sar edx, cl
sar r8d, cl
cmp edx, 1
jge 0x1400d383c
mov eax, 1
jmp 0x1400d384a
mov eax, r9d
jle 0x1400d384a
shr edx, 1
inc eax
cmp edx, 1
ja 0x1400d3841
mov r9d, 4
mov r10, rbx
imul r10, r9
mov rcx, r11
xor r9d, r9d
mov rdx, rbx
mov dword [rcx + rbx*4 + 0x32c], eax
cmp r8d, 1
jge 0x1400d387b
mov dword [r10 + r11 + 0x3b0], 1
jmp 0x1400d3897
mov eax, r9d
cmp r8d, 1
jle 0x1400d388f
shr r8d, 1
inc eax
cmp r8d, 1
ja 0x1400d3884
mov dword [r10 + r11 + 0x3b0], eax
inc esi
add rdi, 4
sub rbx, 1
jns 0x1400d37a3
mov rdi, qword [rsp + 0x50]
jmp 0x1400d38dc
cmp dword [r11 + 4], 0
mov r8d, r9d
jbe 0x1400d38dc
mov eax, r8d
inc r8d
mov dword [r11 + rax*4 + 0x32c], 0xf
mov dword [r11 + rax*4 + 0x3b0], 0xf
cmp r8d, dword [r11 + 4]
jb 0x1400d38b8
mov rdx, qword [rdi + 0x18]
mov rcx, r11
shl r12, 6
mov edx, dword [r12 + rdx + 0x18]
call fcn.1400e6be0
inc r15d
mov r9d, 0
cmp r15d, dword [r13]
jb 0x1400d36d0
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x68]
inc r10d
mov dword [rsp + 0x68], r10d
mov eax, dword [r15 + 0x90]
imul eax, dword [r15 + 0x94]
cmp r10d, eax
jb 0x1400d3340
mov rcx, qword [rbp + 0x4910]
test rcx, rcx
je 0x1400d394e
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor r11d, r11d
mov qword [rbp + 0x4910], r11
mov eax, 1
jmp 0x1400d30b4
lea r8, str.Failed_to_setup_j2k_mct_encoding_n
jmp 0x1400d30a5
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_norms__n
jmp 0x1400d30a5
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
lea r8, str.Failed_to_inverse_encoder_MCT_decoding_matrix__n
jmp 0x1400d30a5
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_decoding_matrix__n
jmp 0x1400d30a5
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
lea r8, str.Not_enough_memory_to_allocate_encoder_MCT_coding_matrix__n
jmp 0x1400d30a5
lea r8, str.Not_enough_memory_to_allocate_temp_buffer_n
jmp 0x1400d30a5
lea r8, str.Not_enough_memory_to_allocate_tile_component_coding_parameters_n
jmp 0x1400d30a5
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, r12
call fcn.1400cd690
xor eax, eax
jmp 0x1400d30d4
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, r12
call fcn.1400cd690
xor eax, eax
jmp 0x1400d30d4
lea r8, str.Invalid_number_of_resolutions_:__d_not_in_range__1__d__n
mov dword [rsp + 0x20], 0x21
mov edx, 1
mov rcx, r12
call fcn.1400cd690
xor eax, eax
jmp 0x1400d30dc