Function at 0x628008
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffc4
mov dword [esp], eax
mov eax, dword [esp]
mov ebx, dword [eax + 0x38]
mov eax, dword [esp]
xor ecx, ecx
mov cl, byte [eax + 9]
mov dword [esp + 8], ecx
mov eax, dword [esp]
movzx ecx, word [eax + 0x12]
mov dword [esp + 0x10], ecx
mov eax, dword [esp]
movzx ecx, word [eax + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
add eax, eax
add eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0x34]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 8]
xor ecx, ecx
mov cl, byte [ebx + eax + 7]
cmp edx, ecx
jl 0x628254
mov edx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edi, byte [ebx + edx + 1]
xor edx, edx
mov dl, byte [ebx + eax + 2]
mov eax, dword [esp + 0xc]
shl edi, 8
add eax, 0xfffffffc
or edi, edx
cmp edi, eax
jle 0x628099
mov eax, 0x66c
call fcn.006006d0
jmp 0x6283cf
test edi, edi
je 0x628254
xor edx, edx
xor ecx, ecx
mov dl, byte [ebx + edi]
mov cl, byte [ebx + edi + 1]
shl edx, 8
or edx, ecx
mov dword [esp + 0x2c], edx
cmp eax, dword [esp + 0x2c]
jge 0x6280ca
mov eax, 0x66f
call fcn.006006d0
jmp 0x6283cf
cmp dword [esp + 0x2c], 0
je 0x6280ee
mov edx, dword [esp + 0x2c]
cmp byte [ebx + edx], 0
jne 0x628254
mov ecx, dword [esp + 0x2c]
cmp byte [ebx + ecx + 1], 0
jne 0x628254
mov ecx, dword [esp + 0x18]
xor eax, eax
add ecx, ecx
xor edx, edx
add ecx, dword [esp + 0x10]
add ecx, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dl, byte [ebx + edi + 2]
xor eax, eax
shl edx, 8
mov al, byte [ebx + edi + 3]
or edx, eax
mov dword [esp + 0x38], edx
mov edx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx esi, byte [ebx + edx + 5]
xor edx, edx
shl esi, 8
mov dl, byte [ebx + eax + 6]
or esi, edx
cmp edi, esi
jg 0x628144
mov eax, 0x677
call fcn.006006d0
jmp 0x6283cf
cmp dword [esp + 0x2c], 0
je 0x6281be
mov eax, dword [esp + 0x38]
add eax, edi
cmp eax, dword [esp + 0x2c]
jle 0x628166
mov eax, 0x67a
call fcn.006006d0
jmp 0x6283cf
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov cl, byte [ebx + edx + 2]
mov edx, dword [esp + 0x2c]
shl ecx, 8
movzx edx, byte [ebx + edx + 3]
or ecx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0xc]
jle 0x62819f
mov eax, 0x67c
call fcn.006006d0
jmp 0x6283cf
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov edx, eax
add edx, ebx
add eax, dword [esp + 0x34]
add eax, ebx
call fcn.005c9268
mov ecx, dword [esp + 0x34]
add dword [esp + 0x38], ecx
jmp 0x6281d9
mov eax, dword [esp + 0x38]
add eax, edi
cmp eax, dword [esp + 0xc]
jle 0x6281d9
mov eax, 0x680
call fcn.006006d0
jmp 0x6283cf
mov edx, dword [esp + 0x38]
mov ecx, edi
add edx, esi
sub ecx, esi
mov dword [esp + 0x14], edx
lea edx, [esi + ebx]
mov eax, dword [esp + 0x14]
add eax, ebx
call fcn.005c9268
mov eax, dword [esp + 0x10]
add eax, ebx
cmp eax, dword [esp + 0x30]
jae 0x628365
movzx esi, byte [eax]
shl esi, 8
xor edx, edx
mov dl, byte [eax + 1]
or esi, edx
cmp edi, esi
jle 0x62822c
mov ecx, dword [esp + 0x38]
add ecx, esi
sar ecx, 8
mov byte [eax], cl
mov edx, esi
add dl, byte [esp + 0x38]
mov byte [eax + 1], dl
jmp 0x628246
cmp esi, dword [esp + 0x2c]
jge 0x628246
mov ecx, dword [esp + 0x34]
add ecx, esi
sar ecx, 8
mov byte [eax], cl
mov edx, esi
add dl, byte [esp + 0x34]
mov byte [eax + 1], dl
add eax, 2
cmp eax, dword [esp + 0x30]
jb 0x628205
jmp 0x628365
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
xor eax, eax
mov ecx, dword [esp + 0xc]
add ecx, 0xfffffffc
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx edx, byte [ebx + edx + 6]
mov al, byte [ebx + ecx + 5]
shl eax, 8
or eax, edx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x18], 0
jle 0x62835c
mov eax, dword [esp]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
call fcn.0063e9ac
mov esi, eax
mov ecx, dword [esp + 0xc]
mov edx, ebx
mov eax, esi
call fcn.005c83bc
mov dword [esp + 0x1c], esi
xor ecx, ecx
mov dword [esp + 4], ecx
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x18]
jge 0x62835c
mov edi, dword [esp + 4]
xor eax, eax
add edi, edi
add edi, dword [esp + 0x10]
add edi, ebx
movzx esi, byte [edi]
shl esi, 8
mov al, byte [edi + 1]
or esi, eax
cmp esi, dword [esp + 0x24]
jle 0x6282f0
mov eax, 0x6a1
call fcn.006006d0
jmp 0x6283cf
mov ebp, dword [esp]
mov edx, dword [esp + 0x1c]
add edx, esi
mov eax, dword [esp]
call dword [ebp + 0x4c]
movzx eax, ax
sub dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x28]
jl 0x628319
lea ecx, [eax + esi]
cmp ecx, dword [esp + 0xc]
jle 0x628328
mov eax, 0x6a7
call fcn.006006d0
jmp 0x6283cf
mov edx, dword [esp + 0x14]
sar edx, 8
mov byte [edi], dl
mov cl, byte [esp + 0x14]
mov byte [edi + 1], cl
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add edx, esi
add ecx, ebx
xchg ecx, eax
call fcn.005c83bc
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, dword [esp + 0x18]
jl 0x6282c2
mov ecx, dword [esp + 8]
mov byte [ebx + ecx + 7], 0
mov eax, dword [esp + 8]
xor edx, edx
mov dl, byte [ebx + eax + 7]
mov eax, dword [esp]
add edx, dword [esp + 0x14]
sub edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x14]
je 0x62838b
mov eax, 0x6b5
call fcn.006006d0
jmp 0x6283cf
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
sar edx, 8
mov byte [ebx + ecx + 5], dl
mov eax, dword [esp + 8]
mov cl, byte [esp + 0x14]
mov byte [ebx + eax + 6], cl
mov edx, dword [esp + 8]
mov byte [ebx + edx + 1], 0
mov ecx, dword [esp + 8]
mov byte [ebx + ecx + 2], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
sub ecx, dword [esp + 0x20]
add eax, ebx
xor edx, edx
call fcn.005c83cc
xor eax, eax
add esp, 0x3c
pop ebp
pop edi
pop esi
pop ebx
ret