Function at 0x62e49e80
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
test ecx, ecx
je 0x62e4a150
mov edi, dword [esp + 0x64]
test edi, edi
js 0x62e4a118
mov esi, dword [esp + 0x68]
test esi, esi
je 0x62e4a170
mov ebx, dword [esp + 0x6c]
test ebx, ebx
js 0x62e4a138
movzx ebx, al
cmp al, 0x40
je 0x62e4a068
cmp ebx, 0x4c
je 0x62e49f10
test ebx, ebx
je 0x62e4a040
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_unsupported_base16_variant.
mov dword [esp + 8], 8
mov eax, dword [esp + 0x78]
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 + 0x39], 0x4c
mov ebx, eax
and ebx, 0xf0000
cmp ebx, 0x20000
je 0x62e4a059
cmp ebx, 0x30000
je 0x62e4a108
cmp ebx, 0x10000
jne 0x62e49ed7
mov byte [esp + 0x3a], 0x6c
and eax, 0xf0000000
cmp eax, 0x20000000
je 0x62e4a083
ja 0x62e4a0e8
test eax, eax
jne 0x62e4a078
mov ebx, 1
cmp ebx, dword [esp + 0x64]
ja 0x62e4a190
test dl, 0xfe
jne 0x62e4a700
mov esi, dword [esp + 0x64]
and edx, 1
mov byte [esp + 0x38], dl
sub esi, ebx
cmp ebx, esi
jae 0x62e4a7c8
xor edi, edi
xor edx, edx
jmp 0x62e49ff7
test eax, eax
je 0x62e4a0c0
cmp eax, 0x10000000
jne 0x62e49fc1
movzx edx, byte [ecx + esi]
movzx ebp, byte [ecx + esi + 1]
shl edx, 8
or edx, ebp
test edx, 0xffffff00
jne 0x62e4a1b0
sub esi, ebx
cmp edx, 0xa
je 0x62e49feb
cmp edx, 0xd
je 0x62e49feb
cmp byte [esp + 0x38], 0
je 0x62e4a6f0
mov ebp, edx
and ebp, 0xfffffffd
cmp ebp, 9
je 0x62e49feb
cmp edx, 0x20
jne 0x62e4a6f0
add edi, ebx
mov ebp, edi
cmp ebx, esi
jae 0x62e4a1f0
cmp eax, 0x20000000
je 0x62e4a0d0
jbe 0x62e49f98
cmp eax, 0x30000000
je 0x62e4a090
cmp eax, 0x40000000
jne 0x62e49fc1
movzx edx, byte [ecx + esi + 3]
movzx ebp, byte [ecx + esi + 2]
shl edx, 8
or ebp, edx
movzx edx, byte [ecx + esi + 1]
shl ebp, 8
or edx, ebp
movzx ebp, byte [ecx + esi]
shl edx, 8
or edx, ebp
jmp 0x62e49fb5
mov ebx, eax
mov byte [esp + 0x39], 0
and ebx, 0xf0000
cmp ebx, 0x20000
jne 0x62e49f29
mov byte [esp + 0x3a], 0x6d
jmp 0x62e49f42
mov byte [esp + 0x39], 0x40
jmp 0x62e49f15
cmp eax, 0x10000000
jne 0x62e49ed7
mov ebx, 2
jmp 0x62e49f65
movzx edx, byte [ecx + esi]
movzx ebp, byte [ecx + esi + 1]
shl edx, 8
or ebp, edx
movzx edx, byte [ecx + esi + 2]
shl ebp, 8
or edx, ebp
movzx ebp, byte [ecx + esi + 3]
shl edx, 8
or edx, ebp
jmp 0x62e49fb5
movzx edx, byte [ecx + esi]
jmp 0x62e49fc1
movzx edx, byte [ecx + esi + 1]
movzx ebp, byte [ecx + esi]
shl edx, 8
or edx, ebp
jmp 0x62e49fb5
lea ebx, [eax - 0x30000000]
and ebx, 0xe0000000
mov ebx, 4
jne 0x62e49ed7
jmp 0x62e49f65
mov byte [esp + 0x3a], 0x75
jmp 0x62e49f42
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream_size_value_exceeds_maximum.
mov dword [esp + 8], 4
jmp 0x62e49eef
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfce4
jmp 0x62e4a128
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream.
mov dword [esp + 8], 1
jmp 0x62e49eef
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfcca
mov dword [esp + 8], 1
jmp 0x62e49eef
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_stream_value_too_small.
mov dword [esp + 8], 5
jmp 0x62e49eef
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_character_at_index:__d.
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 8
mov dword [esp + 4], 0x61
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e49f08
mov dword [esp + 0x30], edx
sub dword [esp + 0x64], ebp
cmp ebx, dword [esp + 0x64]
ja 0x62e4a190
mov edi, 1
mov dword [esp + 0x28], ebx
xor esi, esi
mov edx, edi
sub dl, byte [esp + 0x38]
mov dword [esp + 0x3c], 0
mov edi, edx
movzx edx, byte [esp + 0x3a]
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], 0
mov ebx, edi
lea ebp, [edx - 0x6d]
mov edx, ebp
and edx, 0xfffffff7
mov byte [esp + 0x3b], dl
mov edx, dword [esp + 0x30]
cmp eax, 0x20000000
je 0x62e4a510
ja 0x62e4a2f8
test eax, eax
je 0x62e4a500
cmp eax, 0x10000000
jne 0x62e4a27a
movzx edx, byte [ecx + esi]
movzx edi, byte [ecx + esi + 1]
shl edx, 8
or edx, edi
test edx, 0xffffff00
jne 0x62e4a71d
mov edi, dword [esp + 0x28]
lea ebp, [edi + esi]
cmp edx, 0xa
je 0x62e4a338
cmp edx, 0xd
je 0x62e4a338
mov edi, edx
and edi, 0xfffffffd
cmp edi, 9
je 0x62e4a370
cmp edx, 0x20
je 0x62e4a370
cmp bl, 2
jne 0x62e4a3f0
lea esi, [esi]
nop
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], str.libuna_base16_stream_copy_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 0x62e49f08
cmp eax, 0x30000000
je 0x62e4a4d8
cmp eax, 0x40000000
jne 0x62e4a27a
movzx edx, byte [ecx + esi + 3]
movzx edi, byte [ecx + esi + 2]
shl edx, 8
or edi, edx
movzx edx, byte [ecx + esi + 1]
shl edi, 8
or edx, edi
movzx edi, byte [ecx + esi]
shl edx, 8
or edx, edi
jmp 0x62e4a26e
sub ebx, 1
cmp bl, 1
jbe 0x62e4a428
cmp byte [esp + 0x39], 0
je 0x62e4a2b8
movzx eax, byte [esp + 0x39]
cmp eax, dword [esp + 0x34]
je 0x62e4a2b8
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfb94
jmp 0x62e4a3c9
cmp byte [esp + 0x38], 0
je 0x62e4a2b8
cmp bl, 1
je 0x62e4a688
test bl, 0xfd
jne 0x62e4a2b8
mov esi, ebp
nop
cmp esi, dword [esp + 0x64]
jb 0x62e4a240
movzx ecx, byte [esp + 0x39]
mov eax, 1
test cl, cl
je 0x62e49f08
movzx edx, cl
cmp dword [esp + 0x34], edx
jbe 0x62e49f08
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfc10
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x63
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e49f08
lea ebx, [edx - 0x41]
mov dword [esp + 0x30], ebx
cmp ebx, 5
ja 0x62e4a528
cmp byte [esp + 0x3b], 0
je 0x62e4a560
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_character_stream_at_index:__d.
jmp 0x62e4a1c4
mov esi, dword [esp + 0x28]
add esi, ebp
cmp esi, dword [esp + 0x64]
jae 0x62e4a550
cmp eax, 0x20000000
je 0x62e4a77b
jbe 0x62e4a4b0
cmp eax, 0x30000000
je 0x62e4a750
cmp eax, 0x40000000
jne 0x62e4a48b
movzx ebx, byte [ecx + ebp + 3]
movzx edi, byte [ecx + ebp + 2]
shl ebx, 8
or edi, ebx
movzx ebx, byte [ecx + ebp + 1]
shl edi, 8
or ebx, edi
movzx edi, byte [ecx + ebp]
shl ebx, 8
or edi, ebx
mov dword [esp + 0x3c], edi
test dword [esp + 0x3c], 0xffffff00
jne 0x62e4a7d5
mov ebx, dword [esp + 0x3c]
cmp ebx, 0xa
je 0x62e4a49a
cmp ebx, 0xd
cmovne esi, ebp
cmp byte [esp + 0x39], 0
jne 0x62e4a7ee
xor ebx, ebx
jmp 0x62e4a390
test eax, eax
je 0x62e4a740
cmp eax, 0x10000000
jne 0x62e4a48b
movzx ebx, byte [ecx + ebp]
movzx edi, byte [ecx + ebp + 1]
shl ebx, 8
or edi, ebx
mov dword [esp + 0x3c], edi
jmp 0x62e4a47d
movzx edx, byte [ecx + esi]
movzx edi, byte [ecx + esi + 1]
shl edx, 8
or edi, edx
movzx edx, byte [ecx + esi + 2]
shl edi, 8
or edx, edi
movzx edi, byte [ecx + esi + 3]
shl edx, 8
or edx, edi
jmp 0x62e4a26e
movzx edx, byte [ecx + esi]
jmp 0x62e4a27a
movzx edx, byte [ecx + esi + 1]
movzx edi, byte [ecx + esi]
shl edx, 8
or edx, edi
jmp 0x62e4a26e
lea edi, [edx - 0x61]
cmp edi, 5
ja 0x62e4a620
movzx ebx, byte [esp + 0x3a]
lea edi, [ebx - 0x6c]
mov ebx, edi
cmp bl, 1
ja 0x62e4a40b
lea edi, [edx - 0x57]
jmp 0x62e4a563
mov esi, ebp
jmp 0x62e4a49a
lea edi, [edx - 0x37]
shl edi, 4
cmp eax, 0x20000000
je 0x62e4a698
ja 0x62e4a5c8
test eax, eax
je 0x62e4a6b0
cmp eax, 0x10000000
jne 0x62e4a5a3
movzx edx, byte [ecx + ebp]
movzx ebx, byte [ecx + ebp + 1]
shl edx, 8
or edx, ebx
test edx, 0xffffff00
jne 0x62e4a792
lea esi, [edx - 0x41]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x28]
add esi, ebp
cmp dword [esp + 0x30], 5
ja 0x62e4a600
cmp byte [esp + 0x3b], 0
je 0x62e4a638
mov dword [esp + 0x14], ebp
jmp 0x62e4a40f
cmp eax, 0x30000000
je 0x62e4a6c0
cmp eax, 0x40000000
jne 0x62e4a5a3
movzx edx, byte [ecx + ebp + 3]
movzx ebx, byte [ecx + ebp + 2]
shl edx, 8
or ebx, edx
movzx edx, byte [ecx + ebp + 1]
shl ebx, 8
or edx, ebx
movzx ebx, byte [ecx + ebp]
shl edx, 8
or edx, ebx
jmp 0x62e4a590
lea ebx, [edx - 0x61]
cmp ebx, 5
ja 0x62e4a670
movzx ebx, byte [esp + 0x3a]
sub ebx, 0x6c
cmp bl, 1
ja 0x62e4a5bb
lea ebx, [edx - 0x57]
or ebx, edi
jmp 0x62e4a63d
lea edi, [edx - 0x30]
cmp edi, 9
ja 0x62e4a40b
lea edi, [edx - 0x30]
jmp 0x62e4a563
lea ebx, [edx - 0x37]
or ebx, edi
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x6c], edi
jbe 0x62e4a7ab
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x68]
add dword [esp + 0x34], 2
mov byte [ebp + edi], bl
lea ebx, [edi + 1]
mov dword [esp + 0x2c], ebx
mov ebx, 1
jmp 0x62e4a390
lea ebx, [edx - 0x30]
cmp ebx, 9
ja 0x62e4a5bb
lea ebx, [edx - 0x30]
or ebx, edi
jmp 0x62e4a63d
mov esi, ebp
mov ebx, 2
jmp 0x62e4a390
movzx edx, byte [ecx + ebp + 1]
movzx ebx, byte [ecx + ebp]
shl edx, 8
or edx, ebx
jmp 0x62e4a590
movzx edx, byte [ecx + ebp]
lea esi, [edx - 0x41]
mov dword [esp + 0x30], esi
jmp 0x62e4a5a3
movzx edx, byte [ecx + ebp]
movzx ebx, byte [ecx + ebp + 1]
shl edx, 8
or ebx, edx
movzx edx, byte [ecx + ebp + 2]
shl ebx, 8
or edx, ebx
movzx ebx, byte [ecx + ebp + 3]
shl edx, 8
or edx, ebx
jmp 0x62e4a590
mov dword [esp + 0x30], edx
mov ebp, edi
jmp 0x62e4a1f4
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfb4f
mov dword [esp + 8], 8
jmp 0x62e49eef
mov dword [esp + 0x14], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str._s:_invalid_base16_character_at_index:__d.
jmp 0x62e4a1c4
movzx ebx, byte [ecx + ebp]
mov dword [esp + 0x3c], ebx
jmp 0x62e4a48b
movzx ebx, byte [ecx + ebp]
movzx edi, byte [ecx + ebp + 1]
shl ebx, 8
or edi, ebx
movzx ebx, byte [ecx + ebp + 2]
shl edi, 8
or ebx, edi
movzx edi, byte [ecx + ebp + 3]
shl ebx, 8
or edi, ebx
mov dword [esp + 0x3c], edi
jmp 0x62e4a47d
movzx ebx, byte [ecx + ebp + 1]
movzx edi, byte [ecx + ebp]
shl ebx, 8
or edi, ebx
mov dword [esp + 0x3c], edi
jmp 0x62e4a47d
mov dword [esp + 0x14], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], str._s:_invalid_base16_character_at_index:__d.
jmp 0x62e4a1c4
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], 0x62ebfd4a
mov dword [esp + 8], 5
jmp 0x62e49eef
mov dword [esp + 0x30], 0
jmp 0x62e4a1fe
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], str.libuna_base16_stream_copy_to_byte_stream
mov dword [esp + 0xc], str._s:_invalid_base16_character_at_index:__d.
jmp 0x62e4a1c4
movzx ebx, byte [esp + 0x39]
cmp ebx, dword [esp + 0x34]
jne 0x62e4a35e
mov dword [esp + 0x34], 0
mov ebp, esi
xor ebx, ebx
jmp 0x62e4a38d