Function at 0x4b3810
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2098
call fcn.0065b730
mov eax, dword [0x9c48d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
push esi
mov esi, 2
push edi
mov dword [ebp - 0x204c], ecx
mov dword [ebp - 0x2084], eax
mov dword [ebp - 0x2050], edx
cmp dword [ebp + 0x10], esi
jge 0x4b3863
push str.not_enough_data_to_determine_image_format
push 1
push 0x62
push str..mupdf_source_fitzload_jpx.c
push ecx
call fcn.004b35a0
xor ebx, ebx
cmp byte [eax], 0xff
jne 0x4b3872
cmp byte [eax + 1], 0x4f
jne 0x4b3872
xor esi, esi
push 0x203c
lea eax, [ebp - 0x2048]
push ebx
push eax
mov dword [ebp - 0x2088], esi
call fcn.0065b340
or eax, 0xffffffff
add esp, 0xc
mov dword [ebp - 0x2044], ebx
mov dword [ebp - 0x2048], ebx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp + 0x18], ebx
je 0x4b38b1
mov dword [ebp - 0x10], 1
push esi
call fcn.0050b790
mov edi, eax
mov eax, dword [ebp - 0x204c]
add esp, 4
cmp edi, ebx
je 0x4b38fc
mov dword [edi + 0x40], fcn.00449160
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0x4b3740
mov dword [edi + 0x30], eax
mov dword [edi + 0x38], 0x4b3720
mov dword [edi + 0x2c], eax
cmp dword [edi + 0x44], ebx
jne 0x4b391d
push str.Codec_provided_to_the_opj_setup_decoder_function_is_not_a_decompressor_handler._n
lea ecx, [edi + 0x2c]
push 1
push ecx
call fcn.00550870
add esp, 0xc
mov esi, edi
call fcn.0050b8f0
mov edx, dword [ebp - 0x204c]
push str.j2k_decode_failed
push 1
push 0x75
push str..mupdf_source_fitzload_jpx.c
push edx
call fcn.004b35a0
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x18]
lea edx, [ebp - 0x2048]
push edx
push eax
call ecx
add esp, 8
call fcn.0050b930
mov ecx, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [ebp - 0x2084]
mov dword [ebp - 0x2098], eax
mov dword [ebp - 0x2090], ebx
mov dword [ebp - 0x2094], ecx
cmp esi, ebx
je 0x4b39bf
test byte [esi + 0x44], 2
je 0x4b3963
mov dword [esi + 0x10], 0x4b3760
cmp esi, ebx
je 0x4b39bf
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x18], 0x4b37a0
mov dword [esi + 0x1c], 0x4b37e0
lea edx, [ebp - 0x2098]
mov dword [esi], edx
cdq
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
cmp dword [edi + 0x44], ebx
jne 0x4b39a4
push str.Codec_provided_to_the_opj_read_header_function_is_not_a_decompressor_handler._n
lea eax, [edi + 0x2c]
push 1
push eax
call fcn.00550870
add esp, 0xc
jmp 0x4b39bf
mov edx, dword [edi + 0x28]
mov eax, dword [edi]
lea ebx, [edi + 0x2c]
push ebx
lea ecx, [ebp - 0x2068]
push ecx
push edx
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x4b39e8
call fcn.0050b9b0
mov esi, edi
call fcn.0050b8f0
mov ecx, dword [ebp - 0x204c]
push str.Failed_to_read_JPX_header
push 1
push 0x88
push str..mupdf_source_fitzload_jpx.c
push ecx
call fcn.004b35a0
cmp dword [edi + 0x44], 0
je 0x4b3a07
mov edx, dword [ebp - 0x2068]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 4]
push ebx
push edx
push esi
push eax
call ecx
add esp, 0x10
test eax, eax
jne 0x4b3a3b
call fcn.0050b9b0
mov esi, edi
call fcn.0050b8f0
mov esi, dword [ebp - 0x2068]
call fcn.0050bcc0
mov edx, dword [ebp - 0x204c]
push str.Failed_to_decode_JPX_image
push 1
push 0x90
push str..mupdf_source_fitzload_jpx.c
push edx
call fcn.004b35a0
call fcn.0050b9b0
mov esi, edi
call fcn.0050b8f0
mov esi, dword [ebp - 0x2068]
test esi, esi
jne 0x4b3a6e
mov eax, dword [ebp - 0x204c]
push str.opj_decode_failed
push 1
push 0x98
push str..mupdf_source_fitzload_jpx.c
push eax
call fcn.004b35a0
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x2058], 1
cmp edi, 1
jle 0x4b3ad5
mov ecx, dword [esi + 0x18]
mov eax, 0x34
add ecx, 0x60
cmp dword [ecx], 0
je 0x4b3b31
mov edx, dword [esi + 0x18]
mov ebx, dword [edx + eax + 8]
cmp ebx, dword [edx + 8]
jne 0x4b3b53
mov ebx, dword [edx + eax + 0xc]
cmp ebx, dword [edx + 0xc]
jne 0x4b3b75
mov ebx, dword [edx + eax + 0x18]
cmp ebx, dword [edx + 0x18]
jne 0x4b3b97
mov edx, dword [ebp - 0x2058]
inc edx
add eax, 0x34
add ecx, 0x34
mov dword [ebp - 0x2058], edx
cmp edx, edi
jl 0x4b3a8b
mov eax, dword [esi + 0x18]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x2070], edx
mov edx, dword [eax + 0x20]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x207c], ecx
mov ecx, 1
mov dword [ebp - 0x2064], edi
mov dword [ebp - 0x2080], ebx
mov dword [ebp - 0x208c], edx
cmp eax, ecx
jne 0x4b3bb9
cmp edi, 4
jne 0x4b3bb9
mov edi, 3
mov dword [ebp - 0x2064], edi
mov dword [ebp - 0x205c], ecx
jmp 0x4b3c0a
call fcn.0050bcc0
mov ecx, dword [ebp - 0x204c]
push str.image_components_are_missing_data
push 1
push 0x9f
push str..mupdf_source_fitzload_jpx.c
push ecx
call fcn.004b35a0
call fcn.0050bcc0
mov edx, dword [ebp - 0x204c]
push str.image_components_have_different_width
push 1
push 0xa4
push str..mupdf_source_fitzload_jpx.c
push edx
call fcn.004b35a0
call fcn.0050bcc0
mov eax, dword [ebp - 0x204c]
push str.image_components_have_different_height
push 1
push 0xa9
push str..mupdf_source_fitzload_jpx.c
push eax
call fcn.004b35a0
call fcn.0050bcc0
mov ecx, dword [ebp - 0x204c]
push str.image_components_have_different_precision
push 1
push 0xae
push str..mupdf_source_fitzload_jpx.c
push ecx
call fcn.004b35a0
cmp eax, 3
jne 0x4b3bd3
cmp edi, 4
jne 0x4b3bd3
mov edi, eax
mov dword [ebp - 0x2064], edi
mov dword [ebp - 0x205c], ecx
jmp 0x4b3c0a
cmp edi, 2
jne 0x4b3be8
mov edi, ecx
mov dword [ebp - 0x2064], edi
mov dword [ebp - 0x205c], ecx
jmp 0x4b3c0a
cmp edi, 4
jle 0x4b3c00
mov edi, 4
mov dword [ebp - 0x2064], edi
mov dword [ebp - 0x205c], ecx
jmp 0x4b3c0a
mov dword [ebp - 0x205c], 0
mov eax, dword [ebp - 0x2050]
test eax, eax
je 0x4b3c23
cmp dword [eax + 0x1c], edi
jne 0x4b3c44
mov dword [ebp - 0x2078], eax
test eax, eax
jne 0x4b3c85
mov esi, dword [ebp - 0x204c]
sub edi, ecx
je 0x4b3c77
sub edi, 2
je 0x4b3c69
sub edi, ecx
jne 0x4b3c8b
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2078], ecx
jmp 0x4b3c8b
mov esi, dword [ebp - 0x204c]
push str.jpx_file_and_dict_colorspaces_do_not_match
push 0xc6
push str..mupdf_source_fitzload_jpx.c
push esi
call fcn.004b3370
add esp, 0x10
mov ecx, 1
jmp 0x4b3c29
mov edx, dword [esi + 0x18]
mov eax, dword [edx + 8]
mov dword [ebp - 0x2078], eax
jmp 0x4b3c8b
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2078], edx
jmp 0x4b3c8b
mov esi, dword [ebp - 0x204c]
mov eax, dword [esi + 0xc]
call fcn.004b3520
test eax, eax
je 0x4b3cf7
mov esi, dword [esi + 0xc]
mov eax, dword [esi]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea edx, [esi + ecx*4 + 8]
push 0
push edx
call fcn.0065e2c0
mov esi, dword [ebp - 0x204c]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov edi, edx
shl edi, 4
add edi, edx
add esp, 8
mov dword [ecx + edi*4 + 4], eax
test eax, eax
jne 0x4b3cf1
mov ecx, dword [ebp - 0x2070]
mov edx, dword [ebp - 0x2078]
push eax
mov eax, dword [ebp - 0x207c]
push eax
push ecx
push edx
push esi
call fcn.004b2650
add esp, 0x14
mov dword [ebp - 0x2054], eax
mov ebx, dword [ebp - 0x2080]
mov esi, dword [esi + 0xc]
mov eax, dword [esi]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov edx, dword [esi + ecx*4 + 4]
dec eax
mov dword [esi], eax
cmp edx, 1
jle 0x4b3d35
mov esi, dword [ebp - 0x2068]
call fcn.0050bcc0
mov eax, dword [ebp - 0x204c]
push str.out_of_memory_loading_jpx
push 0xdc
push str..mupdf_source_fitzload_jpx.c
push eax
call fcn.004b3660
mov eax, dword [ebp - 0x207c]
mov ecx, dword [ebp - 0x2054]
mov edi, dword [ecx + 0x2c]
test eax, eax
jle 0x4b3e24
mov edx, dword [ebp - 0x2070]
mov esi, dword [ebp - 0x205c]
mov dword [ebp - 0x2058], 0
mov dword [ebp - 0x2050], eax
xor eax, eax
mov dword [ebp - 0x2060], eax
test edx, edx
jle 0x4b3e12
mov ecx, dword [ebp - 0x2064]
add ecx, esi
mov dword [ebp - 0x206c], ecx
test ecx, ecx
jle 0x4b3dfb
mov esi, dword [ebp - 0x2058]
add esi, eax
add esi, esi
add esi, esi
xor edx, edx
mov dword [ebp - 0x2074], ecx
mov edi, edi
cmp dword [ebp - 0x208c], 0
mov eax, dword [ebp - 0x2068]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx + edx + 0x2c]
mov eax, dword [esi + eax]
je 0x4b3dcb
lea ecx, [ebx - 1]
mov ebx, 1
shl ebx, cl
add eax, ebx
mov ebx, dword [ebp - 0x2080]
cmp ebx, 8
jle 0x4b3dd5
lea ecx, [ebx - 8]
sar eax, cl
mov byte [edi], al
inc edi
add edx, 0x34
dec dword [ebp - 0x2074]
jne 0x4b3da0
mov edx, dword [ebp - 0x2070]
mov ecx, dword [ebp - 0x206c]
mov eax, dword [ebp - 0x2060]
mov esi, dword [ebp - 0x205c]
test esi, esi
jne 0x4b3e03
mov byte [edi], 0xff
inc edi
inc eax
mov dword [ebp - 0x2060], eax
cmp eax, edx
jl 0x4b3d86
add dword [ebp - 0x2058], edx
dec dword [ebp - 0x2050]
jne 0x4b3d68
mov esi, dword [ebp - 0x2068]
call fcn.0050bcc0
cmp dword [ebp - 0x205c], 0
je 0x4b3ea7
cmp dword [ebp - 0x2064], 4
jne 0x4b3e98
mov esi, dword [ebp - 0x204c]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0x207c]
mov ecx, dword [ebp - 0x2070]
push 0
push edx
push ecx
push eax
push esi
call fcn.004b2650
mov ecx, dword [ebp - 0x2054]
mov ebx, eax
add esp, 0x14
mov edi, ebx
mov eax, esi
call fcn.004b5590
mov esi, dword [ebp - 0x2054]
mov edi, dword [ebp - 0x204c]
call fcn.004b41c0
mov edi, ebx
mov dword [ebp - 0x2054], ebx
call fcn.004b2cc0
jmp 0x4b3ead
mov ebx, dword [ebp - 0x2054]
mov edi, ebx
call fcn.004b2cc0
jmp 0x4b3ead
mov ebx, dword [ebp - 0x2054]
cmp dword [ebp - 0x2088], 2
jne 0x4b40d8
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x2084]
xor eax, eax
lea edx, [edi - 8]
mov dword [ebp - 0x2060], edi
mov dword [ebp - 0x2050], eax
test edx, edx
jle 0x4b40d8
movzx edx, byte [eax + ecx]
movzx esi, byte [eax + ecx + 1]
movzx ebx, byte [eax + ecx + 5]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 3]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 4]
shl esi, 8
or esi, ebx
movzx ebx, byte [eax + ecx + 6]
shl esi, 8
or esi, ebx
movzx ebx, byte [eax + ecx + 7]
shl esi, 8
or esi, ebx
cmp edx, 8
jl 0x4b40b2
sub edi, eax
cmp edx, edi
jg 0x4b40b2
mov ebx, dword [ebp - 0x2050]
test ebx, ebx
jne 0x4b3f46
cmp esi, 0x6a703268
je 0x4b3f53
cmp ebx, 1
jne 0x4b3f6b
cmp esi, 0x72657320
jne 0x4b3f6b
lea ecx, [eax + ecx + 8]
xor eax, eax
lea edi, [edx - 8]
inc ebx
mov dword [ebp - 0x2060], edi
mov dword [ebp - 0x2050], ebx
jmp 0x4b3f89
cmp ebx, 2
jne 0x4b3f81
cmp esi, 0x72657363
jne 0x4b3f81
cmp edx, 0x12
jne 0x4b3f81
cmp edi, edx
jge 0x4b3f99
mov edi, dword [ebp - 0x2060]
add eax, edx
lea edx, [edi - 8]
cmp eax, edx
jl 0x4b3edc
jmp 0x4b40d2
movzx edx, byte [eax + ecx + 8]
fld qword [0x9ad9a0]
movzx esi, byte [eax + ecx + 9]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 0xb]
mov dword [ebp - 0x2074], edx
movzx edx, byte [eax + ecx + 0xa]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 0xd]
mov dword [ebp - 0x2058], edx
movzx edx, byte [eax + ecx + 0xc]
shl edx, 8
or edx, esi
movzx esi, byte [eax + ecx + 0xe]
mov dword [ebp - 0x2050], edx
movzx edx, byte [eax + ecx + 0xf]
shl esi, 8
or edx, esi
movsx esi, byte [eax + ecx + 0x10]
movsx eax, byte [eax + ecx + 0x11]
sub eax, 2
mov dword [ebp - 0x206c], eax
mov dword [ebp - 0x2060], edx
fild dword [ebp - 0x206c]
call fcn.0065d290
fild dword [ebp - 0x2050]
fidiv dword [ebp - 0x2060]
fmulp st(1)
fmul qword [0x9adf18]
call fcn.0065d070
fld qword [0x9ad9a0]
mov ebx, dword [ebp - 0x2054]
add esi, 0xfffffffe
mov dword [ebp - 0x206c], esi
fild dword [ebp - 0x206c]
mov dword [ebx + 0x20], eax
call fcn.0065d290
fild dword [ebp - 0x2074]
fidiv dword [ebp - 0x2058]
fmulp st(1)
fmul qword [0x9adf18]
call fcn.0065d070
mov dword [ebx + 0x24], eax
mov ecx, dword [ebx + 0x20]
test ecx, ecx
jle 0x4b4074
test eax, eax
jg 0x4b40d8
push eax
push ecx
mov ecx, dword [ebp - 0x204c]
push str.invalid_image_resolution___d___d_
push 0x120
push str..mupdf_source_fitzload_jpx.c
push ecx
call fcn.004b3370
mov eax, 0x60
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x20], eax
add esp, 0x18
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0065865c
mov esp, ebp
pop ebp
ret
push edx
mov edx, dword [ebp - 0x204c]
push esi
push str.impossibly_small_or_large_JP2_box___x___d_
push 0x10b
push str..mupdf_source_fitzload_jpx.c
push edx
call fcn.004b3370
add esp, 0x18
mov ebx, dword [ebp - 0x2054]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0065865c
mov esp, ebp
pop ebp
ret