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

Disassembly:
sub esp, 0x68
mov eax, dword [0x101e900c]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp], edx
push ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
push ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
test eax, eax
je 0x10094d66
test ebx, ebx
je 0x10094d66
test ebp, ebp
je 0x10094d66
mov ecx, dword [ebx + 0x15d8]
lea eax, [ecx - 1]
cmp eax, 0x20
ja 0x10094d53
push esi
push edi
mov edi, dword [ebx + 0x15dc]
lea eax, [edi - 4]
cmp eax, 0x3fc
ja 0x10094d4b
mov esi, dword [ebx + 0x15e0]
lea eax, [esi - 4]
cmp eax, 0x3fc
ja 0x10094d21
mov eax, esi
imul eax, edi
cmp eax, 0x1000
jle 0x10093574
push str.Invalid_value_for_cblockw_init__cblockh_init:_should_be___4096_n
push 1
push edx
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov eax, edi
xor ecx, ecx
cmp eax, 1
jle 0x10093588
nop dword [eax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x10093580
mov eax, esi
xor edx, edx
cmp eax, 1
jle 0x10093599
shr eax, 1
inc edx
cmp eax, 1
ja 0x10093591
mov eax, 1
shl eax, cl
cmp edi, eax
jne 0x10094d47
mov eax, 1
mov ecx, edx
shl eax, cl
cmp esi, eax
je 0x100935c6
push esi
push str.Invalid_value_for_cblockw_init:__d_not_a_power_of_2_in_range__4_1024__n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
mov ecx, dword [esp + 0x20]
mov edi, 0x8100
mov eax, dword [ebp + 0x10]
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x68], 1
mov dword [ecx + 0x6c], 1
cmp word [ebx + 0x4910], 0
jne 0x1009369d
mov eax, dword [ebx + 0x48f4]
xor ecx, ecx
lea esi, [ecx + 4]
lea edx, [ecx + 3]
sub eax, 1
je 0x10093634
sub eax, 1
je 0x10093617
sub eax, 1
jne 0x10093654
mov word [ebx + 0x4910], si
jmp 0x1009363b
mov word [ebx + 0x4910], dx
mov dword [ebx + 0x490c], 0x9ef21
mov dword [ebx + 0x48f8], 0x7f281
jmp 0x1009364f
mov word [ebx + 0x4910], dx
mov dword [ebx + 0x48f8], 0xfe502
mov dword [ebx + 0x490c], 0x13de43
mov ecx, 1
mov eax, dword [ebx + 0x48fc]
sub eax, 3
je 0x10093683
sub eax, 1
je 0x1009367a
sub eax, 0x80fc
je 0x10093671
test ecx, ecx
je 0x1009369d
jmp 0x1009368a
mov word [ebx + 0x4910], di
jmp 0x1009368a
mov word [ebx + 0x4910], si
jmp 0x1009368a
mov word [ebx + 0x4910], dx
push 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
push 2
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
mov ecx, dword [ebx + 0x12b4]
lea eax, [ebx + 0x12b8]
xorps xmm3, xmm3
test ecx, ecx
jne 0x100936cc
mov dword [ebx + 0x12b4], 1
mov ecx, 1
mov dword [ebx + 0x14], 1
mov dword [eax], 0
cmp dword [ebx + 0x14], 0
movss xmm0, dword [0x101e62d8]
je 0x10093822
mov esi, 1
cmp ecx, esi
jbe 0x1009381b
mov ebp, dword [esp + 0x10]
nop
movss xmm3, dword [eax + 4]
lea edi, [eax + 4]
movss xmm2, dword [eax]
movaps xmm1, xmm0
maxss xmm1, xmm3
maxss xmm0, xmm2
comiss xmm1, xmm0
jb 0x100937fb
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x10093764
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10093764
cvtps2pd xmm0, xmm0
sub esp, 0x10
lea eax, [esi - 1]
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
push eax
cvtps2pd xmm0, xmm1
sub esp, 0x10
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp], xmm0
push esi
push str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
push 2
push ebp
call fcn.1008aab0
add esp, 0x34
jmp 0x100937fb
ucomiss xmm1, xmm3
lea ecx, [esi - 1]
cvtps2pd xmm4, xmm2
lahf
cvtps2pd xmm5, xmm3
test ah, 0x44
jnp 0x100937a3
sub esp, 8
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm4
push ecx
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm5
push esi
push str.tcp_rates__d__f__corrected_as__f__should_be_strictly_lesser_than_tcp_rates__d__f_n
push 2
push ebp
call fcn.1008aab0
add esp, 0x2c
jmp 0x100937fb
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x100937d9
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm4
push ecx
sub esp, 8
movsd qword [esp], xmm5
push esi
push str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f__corrected_as__f__n
push 2
push ebp
call fcn.1008aab0
add esp, 0x2c
jmp 0x100937fb
sub esp, 8
movsd qword [esp], xmm4
push ecx
sub esp, 8
movsd qword [esp], xmm5
push esi
push str.tcp_rates__d__f_should_be_strictly_lesser_than_tcp_rates__d__f_n
push 2
push ebp
call fcn.1008aab0
add esp, 0x24
mov ecx, dword [ebx + 0x12b4]
inc esi
movss xmm0, dword [0x101e62d8]
mov eax, edi
cmp esi, ecx
jb 0x100936f0
mov ebp, dword [esp + 0x14]
xorps xmm3, xmm3
mov edx, ecx
jmp 0x100938b8
cmp dword [ebx + 0x1c], 0
mov edx, ecx
je 0x100938b8
mov esi, 1
cmp ecx, esi
jbe 0x100938b8
movss xmm0, dword [ebx + 0x1448]
lea edi, [ebx + 0x1448]
mov ebp, dword [esp + 0x10]
nop dword [eax]
movss xmm1, dword [edi + 4]
lea eax, [edi + 4]
movaps xmm2, xmm0
lea edi, [eax]
comiss xmm2, xmm1
movaps xmm0, xmm1
jbe 0x100938a7
lea eax, [ecx - 1]
cmp esi, eax
jne 0x10093875
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x100938a7
sub esp, 8
lea eax, [esi - 1]
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
push eax
cvtps2pd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
push esi
push str.tcp_distoratio__d__f_should_be_strictly_greater_than_tcp_distoratio__d__f_n
push 2
push ebp
call fcn.1008aab0
movss xmm0, dword [edi]
add esp, 0x24
xorps xmm3, xmm3
mov edx, dword [ebx + 0x12b4]
inc esi
mov ecx, edx
cmp esi, edx
jb 0x10093850
mov ebp, dword [esp + 0x14]
mov edi, dword [ebx + 0x490c]
mov dword [esp + 0x3c], 0x59b
test edi, edi
jg 0x10093a6f
movss xmm1, dword [ebx + edx*4 + 0x12b4]
comiss xmm1, xmm3
jbe 0x100939c4
mov ecx, dword [ebp + 0x18]
xorps xmm2, xmm2
xorps xmm0, xmm0
cvtps2pd xmm1, xmm1
mov eax, dword [ecx + 8]
cvtsi2sd xmm2, eax
shr eax, 0x1f
mulsd xmm1, qword [0x101e6350]
addsd xmm2, qword [eax*8 + 0x101e6560]
mov eax, dword [ebp + 0x10]
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 0xc]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 0x18]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 4]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mulsd xmm1, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
comiss xmm0, dword [0x101a65e8]
jbe 0x1009399d
mov eax, 0x7fffffff
jmp 0x100939c6
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp + 0x48], xmm0
fld qword [esp + 0x48]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp qword [esp + 0x48]
cvttsd2si eax, qword [esp + 0x48]
add esp, 8
jmp 0x100939c6
xor eax, eax
mov dword [ebx + 0x490c], eax
mov esi, dword [esp + 0x10]
movzx eax, word [ebx + 0x4910]
mov ecx, eax
cmp eax, 3
jb 0x100939e3
cmp eax, 6
jbe 0x100939f3
lea eax, [ecx - 0x400]
mov ecx, 0x59b
cmp ax, cx
ja 0x100939fe
mov edx, dword [esp + 0x20]
mov dword [edx + 0x10], 1
movzx ecx, word [ebx + 0x4910]
mov edx, ecx
lea eax, [ecx - 3]
cmp ax, 3
ja 0x10093d5c
cmp ecx, 5
je 0x10093d3e
cmp ecx, 6
je 0x10093d3e
push esi
push ebp
push ebx
call fcn.10092a40
mov eax, dword [esp + 0x20]
add esp, 0xc
movzx ebp, word [ebx + 0x4910]
mov ebx, dword [eax + 0x10]
cmp ebx, 3
je 0x10093bfc
push ebx
push 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
push 2
push esi
call fcn.1008aab0
mov ebx, dword [esp + 0x2c]
add esp, 0x10
mov ebp, dword [esp + 0x14]
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
mov ax, word [ebx + 0x4910]
mov ecx, 0x400
sub ax, cx
xor esi, esi
mov ecx, 0x59b
cmp ax, cx
ja 0x10093afa
cmp edx, 1
lea edx, [ebx + 0x12b8]
jne 0x10093b00
movss xmm0, dword [edx]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10093b00
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x18]
imul eax, dword [ecx + 0xc]
imul eax, dword [ecx + 8]
imul eax, dword [ebp + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 4]
imul eax, edi
cvtpd2ps xmm1, xmm0
imul eax, dword [ecx]
shl eax, 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edx], xmm1
jmp 0x10093b00
lea edx, [ebx + 0x12b8]
mov ecx, dword [ebp + 0x18]
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
mov eax, dword [ecx + 8]
cvtsi2sd xmm2, eax
shr eax, 0x1f
mulsd xmm1, qword [0x101e6350]
addsd xmm2, qword [eax*8 + 0x101e6560]
mov eax, dword [ebp + 0x10]
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 0xc]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 0x18]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mov eax, dword [ecx + 4]
xor ecx, ecx
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101e6560]
mulsd xmm1, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
cmp dword [ebx + 0x12b4], ecx
jbe 0x100939cc
mov eax, edx
comiss xmm0, dword [eax]
jbe 0x10093bcf
movss dword [eax], xmm0
mov esi, 1
inc ecx
add eax, 4
cmp ecx, dword [ebx + 0x12b4]
jb 0x10093bc1
test esi, esi
je 0x100939cc
mov esi, dword [esp + 0x10]
push str.The_desired_maximum_codestream_size_has_limited_nat_least_one_of_the_desired_quality_layers_n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
jmp 0x100939d0
mov ecx, dword [eax + 0x18]
xor edx, edx
add ecx, 0x20
mov esi, dword [ecx - 8]
xor eax, eax
mov edi, dword [ecx]
cmp esi, 0xc
setne al
or eax, edi
jne 0x10093cd1
inc edx
add ecx, 0x34
cmp edx, ebx
jb 0x10093c04
mov eax, ebp
mov ebp, dword [esp + 0x14]
sub eax, 3
je 0x10093c83
sub eax, 1
jne 0x10093e2c
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, 0x1000
cmp eax, edx
mov eax, 0x870
sbb ecx, ecx
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
or ecx, eax
je 0x10093e2c
push esi
push edx
push 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
push 2
push dword [esp + 0x20]
call fcn.1008aab0
mov ebx, dword [esp + 0x30]
add esp, 0x14
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, 0x800
cmp eax, edx
mov eax, 0x438
sbb ecx, ecx
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
or ecx, eax
je 0x10093e2c
push esi
push edx
push 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
push 2
push dword [esp + 0x20]
call fcn.1008aab0
mov ebx, dword [esp + 0x30]
add esp, 0x14
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
mov eax, dword [str.signed]
lea ecx, [esp + 0x48]
movq xmm0, qword [str.unsigned]
test edi, edi
mov dword [esp + 0x40], eax
mov ax, word [0x101a334c]
mov word [esp + 0x44], ax
mov al, byte [0x101a334e]
mov byte [esp + 0x46], al
mov al, byte [0x101a3358]
mov byte [esp + 0x50], al
lea eax, [esp + 0x40]
cmove eax, ecx
movq qword [esp + 0x48], xmm0
push eax
push esi
push edx
push 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
push 2
push dword [esp + 0x24]
call fcn.1008aab0
mov ebx, dword [esp + 0x34]
add esp, 0x18
mov ebp, dword [esp + 0x14]
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
push str.JPEG_2000_Scalable_Digital_Cinema_profiles_not_yet_supported_n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
cmp ecx, 7
jne 0x10093d7f
push str.JPEG_2000_Long_Term_Storage_profile_not_yet_supported_n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
lea eax, [edx - 0x100]
mov edi, 0x20b
cmp ax, di
ja 0x10093dad
push str.JPEG_2000_Broadcast_profiles_not_yet_supported_n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
lea eax, [edx - 0x400]
mov edx, 0x59b
cmp ax, dx
ja 0x10093ddd
push esi
push ebp
push ebx
call fcn.10093260
push esi
push ebp
push ebx
call fcn.10090570
add esp, 0x18
test eax, eax
jne 0x10093e30
mov word [ebx + 0x4910], ax
jmp 0x10093e30
test cx, cx
jns 0x10093e30
mov eax, 0x8000
cmp cx, ax
jne 0x10093e07
push str.JPEG_2000_Part_2_profile_defined_nbut_no_Part_2_extension_enabled._nProfile_set_to_NONE._n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
mov eax, 0x8100
cmp cx, ax
je 0x10093e30
push str.Unsupported_Part_2_extension_enabled_nProfile_set_to_NONE._n
push 2
push esi
call fcn.1008aab0
add esp, 0xc
xor eax, eax
mov word [ebx + 0x4910], ax
jmp 0x10093e30
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov eax, dword [ebx + 0x48f8]
mov dword [edi + 0xa0], eax
mov ax, word [ebx + 0x4910]
mov word [edi + 0x50], ax
mov eax, dword [ebx + 0x14]
xor eax, dword [edi + 0xb0]
and eax, 1
xor eax, dword [edi + 0xb0]
mov dword [edi + 0xb0], eax
mov ecx, dword [ebx + 0x18]
add ecx, ecx
xor ecx, eax
and ecx, 2
xor ecx, eax
mov dword [edi + 0xb0], ecx
mov eax, dword [ebx + 0x1c]
shl eax, 2
xor eax, ecx
and eax, 4
xor eax, ecx
mov dword [edi + 0xb0], eax
cmp dword [ebx + 0x18], 0
je 0x10093eef
cmp dword [ebx + 0x20], 0
je 0x10093eef
mov eax, dword [ebx + 0x15d8]
imul eax, dword [ebx + 0x12b4]
lea esi, [eax + eax*2]
shl esi, 2
push esi
call fcn.1008aa70
add esp, 4
mov dword [edi + 0xa8], eax
test eax, eax
jne 0x10093ee2
push str.Not_enough_memory_to_allocate_copy_of_user_encoding_parameters_matrix__n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
push esi
push dword [ebx + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x5c], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x60], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x58], eax
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x10093f73
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093f11
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.1008aa70
mov ecx, eax
add esp, 4
mov dword [edi + 0x64], ecx
test ecx, ecx
jne 0x10093f57
push str.Not_enough_memory_to_allocate_copy_of_comment_string_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov edx, dword [ebx + 0x24]
nop word [eax + eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x10093f60
jmp 0x10094022
movups xmm0, xmmword [str.Created_by_OpenJPEG_version]
mov eax, dword [0x101a4de8]
lea esi, [esp + 0x54]
mov dword [esp + 0x6c], eax
lea ecx, [esi + 1]
mov al, byte [0x101a4dec]
movups xmmword [esp + 0x54], xmm0
mov byte [esp + 0x70], al
movq xmm0, qword [0x101a4de0]
movq qword [esp + 0x64], xmm0
mov al, byte [esi]
inc esi
test al, al
jne 0x10093fa6
sub esi, ecx
call fcn.1008a550
mov edi, eax
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093fc0
sub ecx, edx
lea eax, [ecx + 1]
add eax, esi
push eax
call fcn.1008aa70
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [edx + 0x64], eax
test eax, eax
jne 0x1009400a
push str.Not_enough_memory_to_allocate_comment_string_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
push edi
lea ecx, [esp + 0x58]
push ecx
push str._s_s
push eax
call fcn.10040e40
mov edi, dword [esp + 0x30]
add esp, 0x10
cmp dword [ebx], 0
je 0x10094116
mov eax, dword [edi + 0x5c]
test eax, eax
jne 0x1009405a
push str.Invalid_tile_width_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov edi, dword [edi + 0x60]
test edi, edi
jne 0x10094089
push str.Invalid_tile_height_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
cdq
mov ecx, edx
mov esi, eax
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
push ecx
push esi
sub eax, dword [edx + 0x54]
cdq
add eax, esi
adc edx, ecx
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov ebx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x68], ebx
mov eax, edi
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x20]
push ecx
push esi
sub eax, dword [ebp + 0x58]
cdq
add eax, esi
adc edx, ecx
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov ecx, eax
xor edx, edx
mov eax, 0xffff
mov dword [ebp + 0x6c], ecx
div ecx
cmp ebx, eax
jbe 0x1009412e
push ecx
push ebx
push str.Invalid_number_of_tiles_:__u_x__u__maximum_fixed_by_jpeg2000_norm_is_65535_tiles__n
push 1
push dword [esp + 0x20]
call fcn.1008aab0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov eax, dword [ebp + 8]
sub eax, dword [edi + 0x54]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x20]
sub eax, dword [ebp + 0x58]
mov dword [ebp + 0x60], eax
jmp 0x10094132
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x4900], 0
je 0x1009414e
mov al, byte [ebx + 0x4901]
or dword [ebp + 0xb0], 8
mov byte [ebp + 0xac], al
mov eax, dword [ebp + 0x68]
imul eax, dword [ebp + 0x6c]
push 0x160c
push eax
call fcn.1008aa30
add esp, 8
mov dword [ebp + 0x9c], eax
test eax, eax
jne 0x10094195
push str.Not_enough_memory_to_allocate_tile_coding_parameters_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov eax, dword [ebp + 0x68]
xor ecx, ecx
imul eax, dword [ebp + 0x6c]
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x10094b5b
nop word [eax + eax]
mov eax, dword [ebx + 0x12b4]
xor esi, esi
imul edi, ecx, 0x160c
add edi, dword [ebp + 0x9c]
mov dword [esp + 0x18], edi
mov dword [edi + 8], eax
test eax, eax
je 0x10094243
lea ecx, [edi + 0x14]
lea edx, [ebx + 0x12b8]
nop dword [eax + eax]
movzx eax, word [ebp + 0x50]
cmp eax, 3
jb 0x100941ee
cmp eax, 6
jbe 0x100941fe
add eax, 0xfffffc00
cmp ax, word [esp + 0x3c]
ja 0x10094340
test byte [ebp + 0xb0], 4
je 0x10094213
mov eax, dword [edx + 0x190]
mov dword [ecx + 0x142c], eax
mov eax, dword [edx]
mov dword [ecx], eax
test byte [ebp + 0xb0], 4
jne 0x10094233
movss xmm0, dword [0x101e62d8]
comiss xmm0, dword [ecx]
jb 0x10094233
mov dword [ecx], 0
inc esi
add edx, 4
add ecx, 4
cmp esi, dword [edi + 8]
jb 0x100941e0
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
xor ebp, ebp
mov eax, dword [ebx + 0x28]
mov dword [esi], eax
mov eax, dword [ebx + 0x2c]
mov dword [esi + 4], eax
movsx eax, byte [ebx + 0x4902]
and dword [esi + 0x1608], 0xfffffffb
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x12b0]
test eax, eax
je 0x1009435e
xor ebx, ebx
test eax, eax
je 0x10094366
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x40], ecx
add esi, 0x1b0
lea edx, [eax + 0x34]
lea edi, [eax + 0x60]
cmp ecx, dword [edi]
jne 0x100942e5
mov ecx, dword [esp + 0x14]
mov eax, dword [edx]
cmp eax, dword [ecx + 0x10]
jae 0x10094bbf
mov eax, dword [edx - 4]
mov dword [esi - 8], eax
mov eax, dword [edx]
mov dword [esi - 4], eax
mov eax, dword [edx + 4]
mov dword [esi], eax
mov eax, dword [edx + 8]
mov dword [esi + 4], eax
mov ecx, dword [ecx + 0x10]
cmp dword [edx + 0xc], ecx
cmovb ecx, dword [edx + 0xc]
inc ebp
mov dword [esi + 8], ecx
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x2c]
mov dword [esi + 0x28], eax
add esi, 0x94
add edx, 0x94
mov eax, dword [esp + 0x1c]
inc ebx
add edi, 0x94
mov eax, dword [eax + 0x12b0]
cmp ebx, eax
jb 0x10094292
mov ebx, dword [esp + 0x1c]
test ebp, ebp
je 0x1009436c
push dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push dword [ebx + 0x12b4]
push dword [edi + 0x10]
push dword [ebx + 0x15d8]
push eax
push dword [esp + 0x40]
lea eax, [ebx + 0x30]
push eax
call fcn.1008da80
mov esi, dword [esp + 0x34]
lea eax, [ebp - 1]
add esp, 0x1c
or dword [esi + 0x1608], 4
mov dword [esi + 0x1a4], eax
jmp 0x10094370
test byte [ebp + 0xb0], 4
je 0x10094213
mov eax, dword [edx + 0x190]
mov dword [ecx + 0x142c], eax
jmp 0x10094217
mov dword [esi + 0x1a4], ebp
jmp 0x10094370
mov ebx, dword [esp + 0x1c]
jmp 0x10094370
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
push 0x438
push dword [ebp + 0x10]
call fcn.1008aa30
add esp, 8
mov dword [esi + 0x15d0], eax
test eax, eax
je 0x10094cf9
cmp dword [ebx + 0x4908], 0
je 0x10094933
mov esi, dword [ebp + 0x10]
imul esi, esi
shl esi, 2
push esi
call fcn.1008aa70
mov ebx, dword [ebx + 0x4908]
mov edi, eax
add esp, 4
add ebx, esi
test edi, edi
je 0x10094cd1
mov ebp, dword [esp + 0x18]
push esi
mov dword [ebp + 0x10], 2
call fcn.1008aa70
add esp, 4
mov dword [ebp + 0x15ec], eax
test eax, eax
je 0x10094cbe
mov ebp, dword [esp + 0x1c]
push esi
push dword [ebp + 0x4908]
push eax
call sub.VCRUNTIME140.dll_memcpy
push esi
push dword [ebp + 0x4908]
push edi
call sub.VCRUNTIME140.dll_memcpy
push esi
call fcn.1008aa70
mov esi, dword [esp + 0x34]
add esp, 0x1c
mov dword [esi + 0x15e8], eax
test eax, eax
je 0x10094cab
mov ebp, dword [esp + 0x14]
push dword [ebp + 0x10]
push eax
push edi
call fcn.1009c120
add esp, 0xc
test eax, eax
je 0x10094c95
mov eax, dword [ebp + 0x10]
shl eax, 3
push eax
call fcn.1008aa70
add esp, 4
mov dword [esi + 0x15e4], eax
test eax, eax
je 0x10094c7f
push dword [esi + 0x15e8]
push dword [ebp + 0x10]
push eax
call fcn.1014fab0
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor edx, edx
add esp, 0x10
cmp dword [ebp + 0x10], edx
jbe 0x1009449d
mov edi, dword [esp + 0x18]
xor esi, esi
nop dword [eax]
mov ecx, dword [edi + 0x15d0]
lea esi, [esi + 0x438]
mov eax, dword [ebx + edx*4]
inc edx
mov dword [ecx + esi - 4], eax
cmp edx, dword [ebp + 0x10]
jb 0x10094480
mov esi, dword [esp + 0x18]
xor ebp, ebp
mov ebx, 1
cmp dword [esi + 0x10], 2
mov dword [esp + 0x24], ebp
jne 0x10094872
cmp dword [esi + 0x15e8], ebp
je 0x100945ed
mov eax, dword [esi + 0x15f8]
cmp dword [esi + 0x15f4], eax
jne 0x1009451f
add eax, 0xa
mov dword [esi + 0x15f8], eax
lea eax, [eax + eax*4]
shl eax, 2
push eax
push dword [esi + 0x15f0]
call fcn.1008aa90
mov edx, eax
add esp, 8
test edx, edx
je 0x10094bd0
mov ecx, dword [esi + 0x15f4]
mov eax, dword [esi + 0x15f8]
sub eax, ecx
mov dword [esi + 0x15f0], edx
lea eax, [eax + eax*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
push ebp
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0x15f4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x15f0]
lea ebp, [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x24], ebp
test eax, eax
je 0x1009454c
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov dword [ebp + 0xc], 0
mov edi, dword [esp + 0x14]
mov dword [ebp + 8], ebx
mov dword [ebp + 4], ebx
mov dword [ebp], 2
mov edi, dword [edi + 0x10]
imul edi, edi
mov dword [esp + 0x28], 2
lea eax, [edi*4]
push eax
mov dword [esp + 0x44], eax
call fcn.1008aa70
mov esi, eax
add esp, 4
mov dword [ebp + 0xc], esi
test esi, esi
je 0x10094c57
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x15e8]
mov eax, dword [ebp]
mov eax, dword [eax*4 + 0x101a18d8]
cmp eax, 0x1008cf20
jne 0x100945d0
test edi, edi
je 0x100945d8
nop dword [eax + eax]
movss xmm0, dword [ebx]
lea ebx, [ebx + 4]
push ecx
movss dword [esp], xmm0
push esi
call fcn.10089ee0
add esp, 8
add esi, 4
sub edi, 1
jne 0x100945b0
jmp 0x100945d8
push edi
push esi
push ebx
call eax
add esp, 0xc
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x28]
mov dword [ebp + 0x10], eax
inc dword [esi + 0x15f4]
mov eax, dword [esi + 0x15f8]
cmp dword [esi + 0x15f4], eax
jne 0x10094662
add eax, 0xa
mov dword [esi + 0x15f8], eax
lea eax, [eax + eax*4]
shl eax, 2
push eax
push dword [esi + 0x15f0]
call fcn.1008aa90
mov edx, eax
add esp, 8
test edx, edx
je 0x10094bef
mov ecx, dword [esi + 0x15f4]
mov dword [esi + 0x15f0], edx
lea eax, [ecx + ecx*4]
lea esi, [edx + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x15f8]
sub eax, ecx
lea eax, [eax + eax*4]
shl eax, 2
push eax
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
test ebp, ebp
je 0x1009465e
lea eax, [esi - 0x14]
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x15f4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x15f0]
lea ebp, [eax + ecx*4]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1009468b
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov dword [ebp + 0xc], 0
mov eax, dword [esp + 0x14]
mov dword [ebp + 8], ebx
inc ebx
mov dword [ebp + 4], 2
mov dword [ebp], 2
mov edi, dword [eax + 0x10]
mov dword [esp + 0x28], ebx
lea ebx, [edi*4]
push ebx
mov dword [esp + 0x34], ebx
call fcn.1008aa70
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
je 0x10094c57
push ebx
call fcn.1008aa70
mov ebx, eax
add esp, 4
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x10094c45
mov ecx, dword [esi + 0x15d0]
xor esi, esi
cmp edi, 4
jb 0x1009474d
lea edx, [edi - 4]
shr edx, 2
inc edx
lea esi, [edx*4]
nop dword [eax]
movd xmm0, dword [ecx + 0x434]
cvtdq2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [ecx + 0x86c]
cvtdq2ps xmm0, xmm0
movss dword [eax + 4], xmm0
movd xmm0, dword [ecx + 0xca4]
cvtdq2ps xmm0, xmm0
movss dword [eax + 8], xmm0
movd xmm0, dword [ecx + 0x10dc]
add ecx, 0x10e0
cvtdq2ps xmm0, xmm0
movss dword [eax + 0xc], xmm0
add eax, 0x10
sub edx, 1
jne 0x10094700
cmp esi, edi
jae 0x1009477a
mov edx, edi
add ecx, 0x434
sub edx, esi
nop dword [eax + eax]
movd xmm0, dword [ecx]
lea eax, [eax + 4]
cvtdq2ps xmm0, xmm0
add ecx, 0x438
movss dword [eax - 4], xmm0
sub edx, 1
jne 0x10094760
mov eax, dword [ebp]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax*4 + 0x101a18d8]
cmp eax, 0x1008cf20
jne 0x100947b6
test edi, edi
je 0x100947be
sub ebx, esi
movss xmm0, dword [esi + ebx]
push ecx
movss dword [esp], xmm0
push esi
call fcn.10089ee0
add esp, 8
add esi, 4
sub edi, 1
jne 0x10094794
mov ebx, dword [esp + 0x40]
jmp 0x100947be
push edi
push esi
push ebx
call eax
add esp, 0xc
push ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov esi, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
inc dword [esi + 0x15f4]
mov eax, dword [esi + 0x1604]
cmp dword [esi + 0x1600], eax
jne 0x1009483a
add eax, 0xa
mov dword [esi + 0x1604], eax
lea eax, [eax + eax*4]
shl eax, 2
push eax
push dword [esi + 0x15fc]
call fcn.1008aa90
mov edx, eax
add esp, 8
test edx, edx
je 0x10094c1a
mov ecx, dword [esi + 0x1600]
mov eax, dword [esi + 0x1604]
sub eax, ecx
mov dword [esi + 0x15fc], edx
lea eax, [eax + eax*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0x1600]
mov ecx, dword [esi + 0x15fc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
or dword [ecx + edx*4 + 0x10], 1
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + edx*4], eax
mov dword [ecx + edx*4 + 0xc], ebp
inc dword [esi + 0x1600]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x30], edx
cmp dword [ebp + 0x10], edx
jbe 0x10094b3f
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x40], ecx
nop word [eax + eax]
mov ebp, dword [esi + 0x15d0]
mov eax, dword [ebx + 0x28]
add ebp, ecx
and eax, 1
xor ecx, ecx
mov dword [ebp], eax
mov eax, dword [ebx + 0x15d8]
mov dword [ebp + 4], eax
mov eax, dword [ebx + 0x15dc]
cmp eax, 1
jle 0x100948cf
shr eax, 1
inc ecx
cmp eax, 1
ja 0x100948c7
mov dword [ebp + 8], ecx
xor ecx, ecx
mov eax, dword [ebx + 0x15e0]
cmp eax, 1
jle 0x100948e8
nop
shr eax, 1
inc ecx
cmp eax, 1
ja 0x100948e0
mov dword [ebp + 0xc], ecx
mov eax, dword [ebx + 0x15e4]
mov dword [ebp + 0x10], eax
xor eax, eax
cmp dword [ebx + 0x15e8], eax
sete al
mov dword [ebp + 0x14], eax
mov eax, dword [ebx + 0x15e8]
neg eax
mov dword [ebp + 0x324], 2
sbb eax, eax
and eax, 2
mov dword [ebp + 0x18], eax
cmp edx, dword [ebx + 0x15ec]
jne 0x100949c3
mov eax, dword [ebx + 0x15f0]
jmp 0x100949c5
cmp dword [esi + 0x10], 1
jne 0x10094975
cmp dword [ebp + 0x10], 3
jb 0x10094975
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
cmp ecx, dword [eax + 0x34]
jne 0x1009495b
cmp ecx, dword [eax + 0x68]
jne 0x1009495b
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 0x38]
jne 0x1009495b
cmp ecx, dword [eax + 0x6c]
je 0x10094975
push str.Cannot_perform_MCT_on_components_with_different_sizes._Disabling_MCT._n
push 2
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
mov dword [esi + 0x10], 0
xor edi, edi
cmp dword [ebp + 0x10], edi
jbe 0x1009487a
xor ebx, ebx
xor esi, esi
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + esi + 0x20], 0
jne 0x100949ab
mov eax, dword [esp + 0x18]
mov edx, 1
mov ecx, dword [ecx + esi + 0x18]
dec ecx
shl edx, cl
mov eax, dword [eax + 0x15d0]
mov dword [eax + ebx + 0x434], edx
inc edi
add esi, 0x34
add ebx, 0x438
cmp edi, dword [ebp + 0x10]
jb 0x10094984
mov esi, dword [esp + 0x18]
jmp 0x10094876
xor eax, eax
mov dword [ebp + 0x328], eax
xor ecx, ecx
test byte [ebx + 0x28], 1
je 0x10094b90
mov esi, dword [ebp + 4]
sub esi, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
js 0x10094b02
lea eax, [ebx + 0x167c]
mov dword [esp + 0x28], eax
mov edx, dword [ebx + 0x15f4]
cmp ecx, edx
jge 0x10094a61
mov eax, dword [eax - 0x84]
cmp eax, 1
jge 0x10094a11
mov ecx, 1
jmp 0x10094a20
xor ecx, ecx
cmp eax, 1
jle 0x10094a20
shr eax, 1
inc ecx
cmp eax, 1
ja 0x10094a18
mov eax, dword [esp + 0x28]
mov edx, ebp
mov dword [edx + esi*4 + 0x32c], ecx
mov eax, dword [eax]
cmp eax, 1
jge 0x10094a45
mov ecx, 1
mov dword [edx + esi*4 + 0x3b0], ecx
jmp 0x10094ad9
xor ecx, ecx
cmp eax, 1
jle 0x10094a58
nop dword [eax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x10094a50
mov dword [edx + esi*4 + 0x3b0], ecx
jmp 0x10094ad9
mov eax, dword [ebx + edx*4 + 0x15f4]
sub ecx, edx
mov edx, dword [ebx + edx*4 + 0x1678]
inc ecx
sar eax, cl
sar edx, cl
cmp eax, 1
jge 0x10094a82
mov ecx, 1
jmp 0x10094a98
xor ecx, ecx
cmp eax, 1
jle 0x10094a98
nop dword [eax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x10094a90
mov edi, esi
mov ebx, esi
mov eax, ebp
mov esi, 4
imul esi, ebx
mov dword [eax + edi*4 + 0x32c], ecx
cmp edx, 1
jge 0x10094abf
mov dword [esi + ebp + 0x3b0], 1
jmp 0x10094ad5
xor eax, eax
cmp edx, 1
jle 0x10094ace
shr edx, 1
inc eax
cmp edx, 1
ja 0x10094ac6
mov dword [esi + ebp + 0x3b0], eax
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
inc ecx
mov esi, dword [esp + 0x38]
add eax, 4
sub esi, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], esi
jns 0x100949f5
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x24]
push dword [ecx + eax + 0x18]
push ebp
call fcn.1014fab0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x40]
inc edx
add dword [esp + 0x24], 0x34
add ecx, 0x438
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
cmp edx, dword [edi + 0x10]
jb 0x100948a0
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp + 0x68]
imul eax, dword [ebp + 0x6c]
cmp ecx, eax
jb 0x100941b0
mov ecx, dword [ebx + 0x4908]
test ecx, ecx
je 0x10094b78
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov dword [ebx + 0x4908], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
cmp dword [ebp + 4], ecx
jbe 0x10094b06
lea eax, [ebp + 0x3b0]
nop
mov dword [eax - 0x84], 0xf
lea eax, [eax + 4]
mov dword [eax - 4], 0xf
inc ecx
cmp ecx, dword [ebp + 4]
jb 0x10094ba0
jmp 0x10094b06
push ebx
push str.Invalid_compno0_for_POC__d_n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
push dword [esi + 0x15f0]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esi + 0x15f0], ebp
mov dword [esi + 0x15f8], ebp
mov dword [esi + 0x15f4], ebp
jmp 0x10094c54
push dword [esi + 0x15f0]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esi + 0x15f0], 0
mov dword [esi + 0x15f8], 0
mov dword [esi + 0x15f4], 0
jmp 0x10094c54
push dword [esi + 0x15fc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esi + 0x15fc], 0
mov dword [esi + 0x1604], 0
mov dword [esi + 0x1600], 0
jmp 0x10094c54
push dword [ebp + 0xc]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [ebp + 0xc], 0
add esp, 4
push str.Failed_to_setup_j2k_mct_encoding_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
push str.Not_enough_memory_to_allocate_encoder_MCT_norms__n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
push str.Failed_to_inverse_encoder_MCT_decoding_matrix__n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
push str.Not_enough_memory_to_allocate_encoder_MCT_decoding_matrix__n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
push str.Not_enough_memory_to_allocate_encoder_MCT_coding_matrix__n
push 1
push dword [esp + 0x1c]
jmp 0x10094d2a
push str.Not_enough_memory_to_allocate_temp_buffer_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
push str.Not_enough_memory_to_allocate_tile_component_coding_parameters_n
push 1
push dword [esp + 0x18]
call fcn.1008aab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
push esi
push str.Invalid_value_for_cblockh_init:__d_not_a_power_of_2_not_in_range__4_1024__n
push 1
push edx
call fcn.1008aab0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret
mov edx, dword [esp + 0x10]
push edi
push str.Invalid_value_for_cblockw_init:__d_not_a_power_of_2_in_range__4_1024__n
jmp 0x10094d27
push 0x21
push ecx
push str.Invalid_number_of_resolutions_:__d_not_in_range__1__d__n
push 1
push edx
call fcn.1008aab0
add esp, 0x14
mov ecx, dword [esp + 0x6c]
xor eax, eax
pop ebp
pop ebx
xor ecx, esp
call fcn.101044b9
add esp, 0x68
ret