Function at 0x572903
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
xor ecx, ecx
push esi
push ebx
mov ebx, eax
mov esi, edx
lea ebp, [ebx + 0x2c]
sub esp, 0x2c
mov eax, dword [eax + 0x28]
lea edx, [eax*8]
add edx, dword [ebx + 0x20]
adc ecx, dword [ebx + 0x24]
cmp eax, 0x37
mov byte [ebx + eax + 0x2c], 0x80
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
jbe 0x572ab3
mov edx, 0x3f
mov dword [esp + 4], 0
mov edi, ebp
sub edx, eax
lea eax, [ebp + eax + 1]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00582a0b
mov ecx, 1
mov eax, ebx
mov edx, ebp
call fcn.00571963
mov ecx, 0xe
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov edx, eax
mov byte [ebx + 0x67], al
shr edx, 0x18
mov byte [ebx + 0x64], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x65], dl
mov edx, eax
mov eax, dword [esp + 0x18]
shr edx, 8
mov byte [ebx + 0x66], dl
mov edx, eax
shr edx, 0x18
mov byte [ebx + 0x68], dl
mov edx, eax
shr eax, 8
mov byte [ebx + 0x6a], al
movzx eax, byte [esp + 0x18]
shr edx, 0x10
mov byte [ebx + 0x69], dl
mov edx, ebp
mov byte [ebx + 0x6b], al
mov eax, ebx
call fcn.00571963
mov eax, dword [ebx]
shr eax, 0x18
mov byte [esi], al
mov eax, dword [ebx]
shr eax, 0x10
mov byte [esi + 1], al
mov eax, dword [ebx]
shr eax, 8
mov byte [esi + 2], al
mov eax, dword [ebx]
mov byte [esi + 3], al
movzx eax, byte [ebx + 7]
mov byte [esi + 4], al
movzx eax, word [ebx + 6]
mov byte [esi + 5], al
mov eax, dword [ebx + 4]
shr eax, 8
mov byte [esi + 6], al
mov eax, dword [ebx + 4]
mov byte [esi + 7], al
movzx eax, byte [ebx + 0xb]
mov byte [esi + 8], al
movzx eax, word [ebx + 0xa]
mov byte [esi + 9], al
mov eax, dword [ebx + 8]
shr eax, 8
mov byte [esi + 0xa], al
mov eax, dword [ebx + 8]
mov byte [esi + 0xb], al
movzx eax, byte [ebx + 0xf]
mov byte [esi + 0xc], al
movzx eax, word [ebx + 0xe]
mov byte [esi + 0xd], al
mov eax, dword [ebx + 0xc]
shr eax, 8
mov byte [esi + 0xe], al
mov eax, dword [ebx + 0xc]
mov byte [esi + 0xf], al
movzx eax, byte [ebx + 0x13]
mov byte [esi + 0x10], al
movzx eax, word [ebx + 0x12]
mov byte [esi + 0x11], al
mov eax, dword [ebx + 0x10]
shr eax, 8
mov byte [esi + 0x12], al
mov eax, dword [ebx + 0x10]
mov byte [esi + 0x13], al
movzx eax, byte [ebx + 0x17]
mov byte [esi + 0x14], al
movzx eax, word [ebx + 0x16]
mov byte [esi + 0x15], al
mov eax, dword [ebx + 0x14]
shr eax, 8
mov byte [esi + 0x16], al
mov eax, dword [ebx + 0x14]
mov byte [esi + 0x17], al
movzx eax, byte [ebx + 0x1b]
mov byte [esi + 0x18], al
movzx eax, word [ebx + 0x1a]
mov byte [esi + 0x19], al
mov eax, dword [ebx + 0x18]
shr eax, 8
mov byte [esi + 0x1a], al
mov eax, dword [ebx + 0x18]
mov byte [esi + 0x1b], al
movzx eax, byte [ebx + 0x1f]
mov byte [esi + 0x1c], al
movzx eax, word [ebx + 0x1e]
mov byte [esi + 0x1d], al
mov eax, dword [ebx + 0x1c]
shr eax, 8
mov byte [esi + 0x1e], al
mov eax, dword [ebx + 0x1c]
mov byte [esi + 0x1f], al
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x37
lea ecx, [ebp + eax + 1]
sub edx, eax
cmp edx, 4
jb 0x572b03
lea eax, [ecx + 4]
mov dword [ecx], 0
mov dword [ecx + edx - 4], 0
and eax, 0xfffffffc
sub ecx, eax
add edx, ecx
and edx, 0xfffffffc
cmp edx, 4
jb 0x572971
and edx, 0xfffffffc
xor ecx, ecx
mov dword [eax + ecx], 0
add ecx, 4
cmp ecx, edx
jb 0x572aec
jmp 0x572971
test edx, edx
je 0x572971
test dl, 2
mov byte [ecx], 0
je 0x572971
xor eax, eax
mov word [ecx + edx - 2], ax
jmp 0x572971