Function at 0x62e49660
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x39], dl
test ebp, ebp
je 0x62e49930
mov ebx, dword [esp + 0x64]
test ebx, ebx
jle 0x62e49910
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x62e49990
movzx ecx, al
cmp al, 0x40
je 0x62e49900
cmp ecx, 0x4c
je 0x62e496f0
test ecx, ecx
je 0x62e49820
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_unsupported_base16_variant.
mov dword [esp + 8], 8
mov eax, dword [esp + 0x74]
mov dword [esp + 4], 0x61
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [esp + 0x38], 0x4c
mov ecx, eax
and ecx, 0xf0000
cmp ecx, 0x20000
je 0x62e49839
cmp ecx, 0x30000
je 0x62e498f0
cmp ecx, 0x10000
jne 0x62e496af
mov byte [esp + 0x3a], 0x6c
and eax, 0xf0000000
cmp eax, 0x20000000
je 0x62e49853
ja 0x62e498d0
test eax, eax
jne 0x62e49848
mov ecx, 1
and edx, 0xfe
jne 0x62e49d98
mov ebx, dword [esp + 0x64]
sub ebx, ecx
cmp ebx, ecx
jbe 0x62e49e56
movzx edx, byte [esp + 0x39]
xor edi, edi
xor esi, esi
and edx, 1
mov byte [esp + 0x27], dl
mov edx, edi
jmp 0x62e497d9
test eax, eax
je 0x62e49880
cmp eax, 0x10000000
jne 0x62e497a2
movzx edx, byte [ebp + ebx]
movzx edi, byte [ebp + ebx + 1]
shl edx, 8
or edx, edi
test edx, 0xffffff00
jne 0x62e49950
sub ebx, ecx
cmp edx, 0xa
je 0x62e497cc
cmp edx, 0xd
je 0x62e497cc
cmp byte [esp + 0x27], 0
je 0x62e49d88
mov edi, edx
and edi, 0xfffffffd
cmp edi, 9
je 0x62e497cc
cmp edx, 0x20
jne 0x62e49d88
lea edi, [esi + ecx]
mov esi, edi
cmp ebx, ecx
jbe 0x62e499b0
cmp eax, 0x20000000
je 0x62e49890
jbe 0x62e49778
cmp eax, 0x30000000
je 0x62e498a8
cmp eax, 0x40000000
jne 0x62e497a2
movzx edx, byte [ebp + ebx + 3]
movzx edi, byte [ebp + ebx + 2]
shl edx, 8
or edi, edx
movzx edx, byte [ebp + ebx + 1]
shl edi, 8
or edx, edi
movzx edi, byte [ebp + ebx]
shl edx, 8
or edx, edi
jmp 0x62e49796
mov ecx, eax
mov byte [esp + 0x38], 0
and ecx, 0xf0000
cmp ecx, 0x20000
jne 0x62e49709
mov byte [esp + 0x3a], 0x6d
jmp 0x62e49722
cmp eax, 0x10000000
jne 0x62e496af
mov ecx, 2
cmp ecx, dword [esp + 0x64]
jbe 0x62e49745
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream_value_too_small.
mov dword [esp + 8], 5
jmp 0x62e496c7
movzx edx, byte [ebp + ebx]
jmp 0x62e497a2
movzx edx, byte [ebp + ebx + 1]
movzx edi, byte [ebp + ebx]
shl edx, 8
or edx, edi
jmp 0x62e49796
movzx edx, byte [ebp + ebx]
movzx edi, byte [ebp + ebx + 1]
shl edx, 8
or edi, edx
movzx edx, byte [ebp + ebx + 2]
shl edi, 8
or edx, edi
movzx edi, byte [ebp + ebx + 3]
shl edx, 8
or edx, edi
jmp 0x62e49796
lea ecx, [eax - 0x30000000]
and ecx, 0xe0000000
mov ecx, 4
jne 0x62e496af
jmp 0x62e49858
mov byte [esp + 0x3a], 0x75
jmp 0x62e49722
mov byte [esp + 0x38], 0x40
jmp 0x62e496f5
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream_size_value_out_of_bounds.
mov dword [esp + 8], 7
jmp 0x62e496c7
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream.
mov dword [esp + 8], 1
jmp 0x62e496c7
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_character_at_index:__d.
mov dword [esp], eax
mov dword [esp + 8], 8
mov dword [esp + 4], 0x61
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e496e0
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], 0x62ebfae4
mov dword [esp + 8], 1
jmp 0x62e496c7
sub dword [esp + 0x64], edi
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x64], ecx
jb 0x62e49862
movzx edi, byte [esp + 0x3a]
xor esi, esi
mov dword [esp + 0x28], ecx
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x34], 0
sub edi, 0x6d
mov dword [esp + 0x30], 0
and edi, 0xfffffff7
mov dword [esp + 0x2c], 0
mov edx, edi
mov byte [esp + 0x27], cl
mov byte [esp + 0x3b], dl
mov edx, dword [esp + 0x3c]
lea esi, [esi]
cmp eax, 0x20000000
je 0x62e49cd0
ja 0x62e49ad0
test eax, eax
je 0x62e49cc0
cmp eax, 0x10000000
jne 0x62e49a3b
movzx edx, byte [ebp + ebx]
movzx esi, byte [ebp + ebx + 1]
shl edx, 8
or edx, esi
test edx, 0xffffff00
jne 0x62e49950
mov esi, dword [esp + 0x28]
lea edi, [esi + ebx]
cmp edx, 0xa
je 0x62e49b10
cmp edx, 0xd
je 0x62e49b10
mov esi, edx
and esi, 0xfffffffd
cmp esi, 9
je 0x62e49bb8
cmp edx, 0x20
je 0x62e49bb8
cmp byte [esp + 0x27], 2
je 0x62e49a91
mov ebx, edi
lea ecx, [edx - 0x41]
cmp ecx, 5
ja 0x62e49ce8
cmp byte [esp + 0x3b], 0
je 0x62e49c7c
mov ecx, dword [esp + 0x28]
sub ebx, ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp], eax
mov dword [esp + 0xc], str._s:_invalid_character_in_base16_stream_at_index:__d.
mov dword [esp + 8], 1
mov dword [esp + 4], 0x63
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e496e0
cmp eax, 0x30000000
je 0x62e49c90
cmp eax, 0x40000000
jne 0x62e49a3b
movzx edx, byte [ebp + ebx + 3]
movzx esi, byte [ebp + ebx + 2]
shl edx, 8
or esi, edx
movzx edx, byte [ebp + ebx + 1]
shl esi, 8
or edx, esi
movzx esi, byte [ebp + ebx]
shl edx, 8
or edx, esi
jmp 0x62e49a2f
movzx esi, byte [esp + 0x27]
mov ebx, edi
mov byte [esp + 0x27], 3
sub esi, 1
mov ecx, esi
cmp cl, 1
jbe 0x62e49bf8
cmp byte [esp + 0x38], 0
je 0x62e49be8
movzx esi, byte [esp + 0x38]
cmp esi, dword [esp + 0x2c]
jne 0x62e49e0e
mov ecx, dword [esp + 0x28]
add dword [esp + 0x30], ecx
cmp byte [esp + 0x27], 1
mov dword [esp + 0x2c], 0
je 0x62e49a74
nop
cmp byte [esp + 0x27], 3
je 0x62e49a8b
cmp dword [esp + 0x64], ebx
ja 0x62e49a00
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x28]
test al, al
je 0x62e49b8c
cmp eax, dword [esp + 0x2c]
jb 0x62e49e6c
mov eax, dword [esp + 0x64]
add ecx, ecx
sub eax, dword [esp + 0x30]
xor edx, edx
div ecx
test edx, edx
jne 0x62e49e44
mov ebx, dword [esp + 0x68]
mov dword [ebx], eax
mov eax, 1
jmp 0x62e496e0
test byte [esp + 0x39], 1
je 0x62e49a91
cmp byte [esp + 0x27], 1
je 0x62e49d58
test byte [esp + 0x27], 1
jne 0x62e49a91
mov esi, dword [esp + 0x28]
mov ebx, edi
add dword [esp + 0x30], esi
jmp 0x62e49b6b
mov edi, dword [esp + 0x28]
add dword [esp + 0x30], edi
jmp 0x62e49b60
mov ebx, dword [esp + 0x28]
add ebx, edi
cmp dword [esp + 0x64], ebx
jbe 0x62e49c5b
cmp eax, 0x20000000
je 0x62e49df6
ja 0x62e49d10
test eax, eax
je 0x62e49de8
cmp eax, 0x10000000
jne 0x62e49c37
movzx ecx, byte [ebp + edi]
movzx esi, byte [ebp + edi + 1]
shl ecx, 8
or esi, ecx
mov dword [esp + 0x34], esi
test dword [esp + 0x34], 0xffffff00
jne 0x62e49e63
mov esi, dword [esp + 0x34]
cmp esi, 0xa
je 0x62e49d70
cmp esi, 0xd
je 0x62e49d70
mov byte [esp + 0x27], 0
mov ebx, edi
jmp 0x62e49b2a
lea ecx, [edx - 0x30]
cmp ecx, 9
ja 0x62e49a8b
add dword [esp + 0x2c], 1
mov byte [esp + 0x27], 1
jmp 0x62e49b6b
movzx edx, byte [ebp + ebx]
movzx esi, byte [ebp + ebx + 1]
shl edx, 8
or esi, edx
movzx edx, byte [ebp + ebx + 2]
shl esi, 8
or edx, esi
movzx esi, byte [ebp + ebx + 3]
shl edx, 8
or edx, esi
jmp 0x62e49a2f
movzx edx, byte [ebp + ebx]
jmp 0x62e49a3b
movzx edx, byte [ebp + ebx + 1]
movzx esi, byte [ebp + ebx]
shl edx, 8
or edx, esi
jmp 0x62e49a2f
lea ecx, [edx - 0x61]
cmp ecx, 5
ja 0x62e49c70
movzx esi, byte [esp + 0x3a]
lea ecx, [esi - 0x6c]
cmp cl, 1
ja 0x62e49a8b
jmp 0x62e49c7c
cmp eax, 0x30000000
je 0x62e49db8
cmp eax, 0x40000000
jne 0x62e49c37
movzx ecx, byte [ebp + edi + 3]
movzx esi, byte [ebp + edi + 2]
shl ecx, 8
or esi, ecx
movzx ecx, byte [ebp + edi + 1]
shl esi, 8
or ecx, esi
movzx esi, byte [ebp + edi]
shl ecx, 8
or esi, ecx
mov dword [esp + 0x34], esi
jmp 0x62e49c37
mov esi, dword [esp + 0x28]
mov byte [esp + 0x27], 2
mov ebx, edi
add dword [esp + 0x30], esi
jmp 0x62e49b6b
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x27], 0
add dword [esp + 0x30], ecx
jmp 0x62e49b2a
sub dword [esp + 0x64], esi
mov dword [esp + 0x3c], edx
jmp 0x62e499b8
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], 0x62ebfb4f
mov dword [esp + 8], 8
jmp 0x62e496c7
movzx ecx, byte [ebp + edi]
movzx esi, byte [ebp + edi + 1]
shl ecx, 8
or esi, ecx
movzx ecx, byte [ebp + edi + 2]
shl esi, 8
or ecx, esi
movzx esi, byte [ebp + edi + 3]
shl ecx, 8
or esi, ecx
mov dword [esp + 0x34], esi
jmp 0x62e49c37
movzx esi, byte [ebp + edi]
mov dword [esp + 0x34], esi
jmp 0x62e49c45
movzx ecx, byte [ebp + edi + 1]
movzx esi, byte [ebp + edi]
shl ecx, 8
or esi, ecx
mov dword [esp + 0x34], esi
jmp 0x62e49c37
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], 0x62ebfb94
mov eax, dword [esp + 0x74]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x63
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e496e0
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream_size.
jmp 0x62e49e1e
mov dword [esp + 0x3c], 0
jmp 0x62e499b8
mov dword [esp + 0x14], edi
jmp 0x62e49954
mov dword [esp + 0x10], str.libuna_base16_stream_size_to_byte_stream
mov dword [esp + 0xc], 0x62ebfc10
jmp 0x62e49e1e