Function at 0x626fa8
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 0x6271f4
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 0x627039
mov eax, 0x63c
call fcn.005ffe18
jmp 0x62736f
test edi, edi
je 0x6271f4
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 0x62706a
mov eax, 0x63f
call fcn.005ffe18
jmp 0x62736f
cmp dword [esp + 0x2c], 0
je 0x62708e
mov edx, dword [esp + 0x2c]
cmp byte [ebx + edx], 0
jne 0x6271f4
mov ecx, dword [esp + 0x2c]
cmp byte [ebx + ecx + 1], 0
jne 0x6271f4
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 0x6270e4
mov eax, 0x647
call fcn.005ffe18
jmp 0x62736f
cmp dword [esp + 0x2c], 0
je 0x62715e
mov eax, dword [esp + 0x38]
add eax, edi
cmp eax, dword [esp + 0x2c]
jle 0x627106
mov eax, 0x64a
call fcn.005ffe18
jmp 0x62736f
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 0x62713f
mov eax, 0x64c
call fcn.005ffe18
jmp 0x62736f
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 0x627179
mov eax, dword [esp + 0x38]
add eax, edi
cmp eax, dword [esp + 0xc]
jle 0x627179
mov eax, 0x650
call fcn.005ffe18
jmp 0x62736f
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 0x627305
movzx esi, byte [eax]
shl esi, 8
xor edx, edx
mov dl, byte [eax + 1]
or esi, edx
cmp edi, esi
jle 0x6271cc
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 0x6271e6
cmp esi, dword [esp + 0x2c]
jge 0x6271e6
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 0x6271a5
jmp 0x627305
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 0x6272fc
mov eax, dword [esp]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
call fcn.0063d90c
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 0x6272fc
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 0x627290
mov eax, 0x671
call fcn.005ffe18
jmp 0x62736f
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 0x6272b9
lea ecx, [eax + esi]
cmp ecx, dword [esp + 0xc]
jle 0x6272c8
mov eax, 0x677
call fcn.005ffe18
jmp 0x62736f
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 0x627262
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 0x62732b
mov eax, 0x685
call fcn.005ffe18
jmp 0x62736f
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