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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x58], 0
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x68], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
test ebx, ebx
je 0x62e2b3f7
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call dbg.libcdata_array_get_number_of_entries
cmp eax, 1
jne 0x62e2b3a8
mov ecx, dword [esp + 0x5c]
test ecx, ecx
js 0x62e2b3e2
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
lea eax, [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call dbg.libcdata_array_get_number_of_entries
cmp eax, 1
jne 0x62e2b3c5
mov eax, dword [esp + 0x60]
test eax, eax
js 0x62e2b430
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x62e2aaa9
test eax, eax
je 0x62e2aab3
xor edi, edi
mov dword [esp + 0x38], 0
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], edi
lea esi, [esi]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edi, ebx
cmp esi, edx
sbb edi, ecx
jb 0x62e2aa2a
cmp ebp, dword [esp + 0x2c]
jg 0x62e2af40
mov edx, dword [esp + 0x30]
cmp eax, dword [esp + 0x38]
mov edi, ebx
mov ecx, dword [esp + 0x34]
setg byte [esp + 0x28]
cmp esi, edx
sbb edi, ecx
jb 0x62e2aa4e
cmp byte [esp + 0x28], 0
jne 0x62e2afd0
mov ebp, dword [esp + 0x5c]
test eax, eax
jle 0x62e2ae48
cmp esi, dword [esp + 0x78]
mov edi, ebx
sbb edi, dword [esp + 0x7c]
jb 0x62e2ae48
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edi, ebx
cmp esi, edx
sbb edi, ecx
jae 0x62e2ae48
add dword [esp + 0x3c], 1
mov esi, edx
mov ebx, ecx
lea esi, [esi]
nop
cmp dword [esp + 0x2c], ebp
jl 0x62e2aa10
cmp byte [esp + 0x28], 0
jne 0x62e2aa10
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x62e2b1bf
mov ebp, eax
mov eax, ebp
mov esi, dword [esp + 0xec]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], 0
shl eax, 5
mov dword [esp + 8], 7
mov dword [esp + 0x48], eax
add eax, 0x74
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x62eb5b4b
mov dword [esp], eax
call sym.cygewf_2.dll_libewf_section_set_values
cmp eax, 1
jne 0x62e2b379
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call dbg.libewf_section_start_write
cmp eax, 0x4c
jne 0x62e2b396
lea ebx, [esp + 0x8c]
mov ecx, 9
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
je 0x62e2b445
mov dword [esp + 8], 0x20
mov dword [esp + 4], ebx
mov dword [esp], 1
mov dword [esp + 0x8c], ebp
call sym._adler32
mov dword [esp + 0xc], 0x24
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call dbg.libbfio_pool_write_buffer
cmp eax, 0x24
jne 0x62e2b340
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._calloc
mov dword [esp + 0x40], eax
test eax, eax
je 0x62e2b47e
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x5c]
xor edi, edi
xor esi, esi
mov dword [esp + 0x6c], 0
xor ebx, ebx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x3c], ebp
lea esi, [esi]
nop
cmp esi, dword [esp + 0x20]
mov eax, ebx
sbb eax, dword [esp + 0x24]
jb 0x62e2ac5e
cmp dword [esp + 0x2c], edx
jl 0x62e2b070
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
cmp eax, ecx
jle 0x62e2ad18
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebp, ebx
cmp esi, eax
sbb ebp, edx
jb 0x62e2ad18
mov eax, dword [esp + 0xec]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call dbg.libcdata_array_get_entry_by_index
cmp eax, 1
jne 0x62e2b2f2
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call dbg.libewf_sector_range_get
cmp eax, 1
jne 0x62e2b326
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
adc edx, dword [esp + 0x7c]
add dword [esp + 0x38], 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
lea esi, [esi]
nop
mov edx, dword [esp + 0x28]
test edx, edx
jle 0x62e2aeb0
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, ebx
cmp esi, edx
sbb eax, ecx
jb 0x62e2aeb0
cmp esi, dword [esp + 0x30]
mov eax, ebx
sbb eax, dword [esp + 0x34]
jae 0x62e2aeb0
test edi, edi
jne 0x62e2ad54
or ecx, edx
je 0x62e2b110
mov eax, edx
mov ebx, edx
movzx esi, dh
shr eax, 0x18
shr ebx, 0x10
mov ebp, eax
mov ecx, edi
mov eax, ebp
add edi, 1
shl ecx, 5
add ecx, dword [esp + 0x40]
mov byte [ecx + 7], al
mov eax, esi
mov byte [ecx + 5], al
mov eax, dword [esp + 0x30]
mov byte [ecx + 4], dl
mov edx, dword [esp + 0x34]
mov dword [ecx], 1
mov esi, eax
mov byte [ecx + 6], bl
mov ebx, edx
lea esi, [esi]
cmp edi, dword [esp + 0x3c]
jge 0x62e2adba
mov edx, dword [esp + 0x5c]
cmp edx, dword [esp + 0x2c]
jg 0x62e2ac48
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x38], ecx
jl 0x62e2ac48
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call dbg.libbfio_pool_write_buffer
cmp esi, eax
je 0x62e2b150
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_write_session_entries.
mov eax, dword [esp + 0xec]
mov dword [esp + 8], 5
mov dword [esp + 4], 0x49
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._free
mov eax, 0xffffffff
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
test ebp, ebp
jle 0x62e2aa90
mov edi, dword [esp + 0x68]
cmp esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov edx, edi
mov edi, ebx
sbb edi, dword [esp + 0x24]
jae 0x62e2aa90
cmp esi, edx
mov edi, edx
mov edx, ebx
sbb edx, ecx
jb 0x62e2aa90
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
cmp ebx, edi
mov edx, esi
sbb edx, ecx
jb 0x62e2ae96
mov ecx, ebx
mov ebx, esi
mov esi, ecx
or esi, ebx
jne 0x62e2b0f8
mov ecx, dword [esp + 0x20]
add dword [esp + 0x3c], 1
mov ebx, dword [esp + 0x24]
mov esi, ecx
jmp 0x62e2aa90
mov eax, dword [esp + 0x5c]
test eax, eax
jle 0x62e2ad98
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, ebx
cmp esi, edx
sbb eax, ecx
jb 0x62e2ad98
cmp esi, dword [esp + 0x20]
mov ebp, ebx
sbb ebp, dword [esp + 0x24]
jae 0x62e2ad98
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ebp, ebx
or ebp, esi
je 0x62e2aef4
cmp ebx, edx
sbb esi, ecx
jae 0x62e2af2d
test edi, edi
jne 0x62e2af00
or ecx, edx
je 0x62e2b130
mov eax, edx
mov ecx, edx
movzx ebx, dh
mov esi, edx
shr eax, 0x18
shr ecx, 0x10
mov ebp, eax
mov edx, edi
mov eax, ebp
add edi, 1
shl edx, 5
add edx, dword [esp + 0x40]
mov byte [edx + 7], al
mov eax, esi
mov byte [edx + 6], cl
mov byte [edx + 5], bl
mov byte [edx + 4], al
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov esi, eax
mov ebx, edx
jmp 0x62e2ad98
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call dbg.libcdata_array_get_entry_by_index
cmp eax, 1
jne 0x62e2b282
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call dbg.libewf_sector_range_get
cmp eax, 1
jne 0x62e2b268
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
add dword [esp + 0x2c], 1
mov dword [esp + 0x24], edx
jmp 0x62e2aa2a
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call dbg.libcdata_array_get_entry_by_index
cmp eax, 1
jne 0x62e2b221
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call dbg.libewf_sector_range_get
cmp eax, 1
jne 0x62e2b29c
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x60]
adc edx, dword [esp + 0x7c]
add dword [esp + 0x38], 1
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], edx
cmp ecx, eax
setl byte [esp + 0x28]
jmp 0x62e2aa4e
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call dbg.libcdata_array_get_entry_by_index
cmp eax, 1
jne 0x62e2b30c
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call dbg.libewf_sector_range_get
cmp eax, 1
jne 0x62e2b2b6
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
add dword [esp + 0x2c], 1
mov dword [esp + 0x24], edx
jmp 0x62e2ac5e
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov esi, ecx
jmp 0x62e2aa90
mov dword [esp + 0x78], 0x10
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x7c], 0
mov edx, 0x10
jmp 0x62e2ad63
mov dword [esp + 0x68], 0x10
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
mov dword [esp + 0x6c], 0
mov esi, 0x10
jmp 0x62e2af11
mov eax, dword [esp + 0x48]
mov dword [esp], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call sym._adler32
mov dword [esp + 0xc], 4
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call dbg.libbfio_pool_write_buffer
cmp eax, 4
je 0x62e2b1fe
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_write_session_entries_checksum.
jmp 0x62e2ae07
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_invalid_number_of_sessions_entries_value_out_of_bounds.
mov dword [esp + 8], 0xc
mov eax, dword [esp + 0xec]
mov dword [esp + 4], 0x72
mov dword [esp], eax
call dbg.libcerror_error_set
add esp, 0xbc
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x20]
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_track_sector_range:__d_from_array.
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], 6
mov dword [esp + 4], 0x72
mov dword [esp], eax
call dbg.libcerror_error_set
add esp, 0xbc
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_session:__d_sector_range.
mov dword [esp + 0x14], edi
jmp 0x62e2b239
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_session_sector_range:__d_from_array.
mov dword [esp + 0x14], edi
jmp 0x62e2b239
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_track:__d_sector_range.
mov dword [esp + 0x14], eax
jmp 0x62e2b239
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_session:__d_sector_range.
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], 6
mov dword [esp + 4], 0x72
mov dword [esp], eax
call dbg.libcerror_error_set
jmp 0x62e2ae26
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_track_sector_range:__d_from_array.
mov dword [esp + 0x14], eax
jmp 0x62e2b2ce
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_session_sector_range:__d_from_array.
mov dword [esp + 0x14], eax
jmp 0x62e2b2ce
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_track:__d_sector_range.
mov dword [esp + 0x14], eax
jmp 0x62e2b2ce
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_write_session_header.
mov eax, dword [esp + 0xec]
mov dword [esp + 8], 5
mov dword [esp + 4], 0x49
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e2ae37
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_set_section_values.
mov dword [esp + 8], 7
jmp 0x62e2b1d7
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_write_section_start.
jmp 0x62e2b350
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], 0x62eb594c
mov dword [esp + 8], 6
jmp 0x62e2b1d7
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_retrieve_number_of_elements_from_tracks_array.
mov dword [esp + 8], 6
jmp 0x62e2b1d7
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_invalid_number_of_sessions_value_out_of_bounds.
jmp 0x62e2b1cf
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], 0x62eb4841
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x61
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e2ae37
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_invalid_number_of_tracks_value_out_of_bounds.
jmp 0x62e2b1cf
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_clear_session_header.
mov dword [esp + 8], 3
mov eax, dword [esp + 0xec]
mov dword [esp + 4], 0x6d
mov dword [esp], eax
call dbg.libcerror_error_set
mov eax, 0xffffffff
jmp 0x62e2ae37
mov dword [esp + 0x10], str.libewf_section_session_write
mov dword [esp + 0xc], str._s:_unable_to_create_session_entries.
mov dword [esp + 8], 1
jmp 0x62e2b45d