Function at 0x43e2e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x43e599
cmp ecx, eax
jb 0x43e448
cmp edx, 0x1f
jle 0x43e426
mov ebx, ecx
or ebx, eax
test bl, 3
jne 0x43e385
mov esi, edx
and esi, 0x1f
mov dword [esp], esi
shr edx, 5
mov esi, edx
mov dword [esp + 4], edx
mov ebx, eax
mov edx, ecx
mov edi, dword [edx]
mov dword [ebx], edi
mov edi, dword [edx + 4]
mov dword [ebx + 4], edi
mov edi, dword [edx + 8]
mov dword [ebx + 8], edi
mov edi, dword [edx + 0xc]
mov dword [ebx + 0xc], edi
mov edi, dword [edx + 0x10]
mov dword [ebx + 0x10], edi
mov edi, dword [edx + 0x14]
mov dword [ebx + 0x14], edi
mov edi, dword [edx + 0x18]
mov dword [ebx + 0x18], edi
lea edi, [ebx + 0x20]
mov ebx, edi
lea ebp, [edx + 0x20]
mov edx, ebp
mov ebp, dword [ebp - 4]
mov dword [edi - 4], ebp
sub esi, 1
test esi, esi
jg 0x43e32a
mov edx, dword [esp + 4]
sub edx, 1
mov ebx, 0
cmovs edx, ebx
add edx, 1
shl edx, 5
add eax, edx
add ecx, edx
mov edx, dword [esp]
cmp edx, 7
jle 0x43e3fc
lea esi, [edx - 8]
mov dword [esp], esi
mov edx, ecx
mov edi, esi
shr edi, 3
lea ebp, [ecx + edi*8 + 8]
mov ebx, eax
mov dword [esp + 0x28], eax
movzx eax, byte [edx]
mov byte [ebx], al
movzx eax, byte [edx + 1]
mov byte [ebx + 1], al
movzx eax, byte [edx + 2]
mov byte [ebx + 2], al
movzx eax, byte [edx + 3]
mov byte [ebx + 3], al
movzx eax, byte [edx + 4]
mov byte [ebx + 4], al
movzx eax, byte [edx + 5]
mov byte [ebx + 5], al
movzx eax, byte [edx + 6]
mov byte [ebx + 6], al
lea esi, [ebx + 8]
mov ebx, esi
movzx eax, byte [edx + 7]
mov byte [esi - 1], al
add edx, 8
cmp edx, ebp
jne 0x43e3a1
mov eax, dword [esp + 0x28]
mov edx, edi
neg edx
mov esi, dword [esp]
lea edx, [esi + edx*8]
lea ebx, [edi*8 + 8]
add eax, ebx
add ecx, ebx
test edx, edx
jle 0x43e599
mov esi, edx
add edx, ecx
mov ebx, eax
mov edi, eax
add ebx, 1
add ecx, 1
movzx eax, byte [ecx - 1]
mov byte [ebx - 1], al
cmp ecx, edx
jne 0x43e40c
mov eax, edi
add eax, esi
jmp 0x43e599
mov esi, edx
add edx, ecx
mov ebx, eax
mov edi, eax
add ebx, 1
add ecx, 1
movzx eax, byte [ecx - 1]
mov byte [ebx - 1], al
cmp ecx, edx
jne 0x43e42e
mov eax, edi
add eax, esi
jmp 0x43e599
mov ebx, edx
add eax, edx
mov dword [esp + 4], eax
lea eax, [ecx + edx]
cmp edx, 0x1f
jle 0x43e571
mov edi, dword [esp + 4]
mov ecx, edi
or ecx, eax
test cl, 3
jne 0x43e4d4
and edx, 0x1f
shr ebx, 5
mov esi, ebx
mov dword [esp], ebx
mov ebx, edi
mov ecx, eax
mov edi, dword [ecx - 4]
mov dword [ebx - 4], edi
mov edi, dword [ecx - 8]
mov dword [ebx - 8], edi
mov edi, dword [ecx - 0xc]
mov dword [ebx - 0xc], edi
mov edi, dword [ecx - 0x10]
mov dword [ebx - 0x10], edi
mov edi, dword [ecx - 0x14]
mov dword [ebx - 0x14], edi
mov edi, dword [ecx - 0x18]
mov dword [ebx - 0x18], edi
mov edi, dword [ecx - 0x1c]
mov dword [ebx - 0x1c], edi
lea edi, [ebx - 0x20]
mov ebx, edi
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov ebp, dword [ebp]
mov dword [edi], ebp
sub esi, 1
test esi, esi
jg 0x43e478
mov ecx, dword [esp]
sub ecx, 1
mov ebx, 0
cmovs ecx, ebx
not ecx
shl ecx, 5
mov esi, dword [esp + 4]
lea edi, [esi + ecx]
add eax, ecx
cmp edx, 7
jle 0x43e555
lea ebp, [edx - 8]
mov esi, ebp
shr esi, 3
mov dword [esp + 8], esi
mov edx, esi
not edx
lea esi, [edx*8]
mov dword [esp + 0xc], esi
add esi, eax
mov ecx, edi
mov dword [esp], eax
mov eax, dword [esp]
movzx edx, byte [eax - 1]
mov byte [ecx - 1], dl
movzx edx, byte [eax - 2]
mov byte [ecx - 2], dl
movzx edx, byte [eax - 3]
mov byte [ecx - 3], dl
movzx edx, byte [eax - 4]
mov byte [ecx - 4], dl
movzx edx, byte [eax - 5]
mov byte [ecx - 5], dl
movzx edx, byte [eax - 6]
mov byte [ecx - 6], dl
movzx edx, byte [eax - 7]
mov byte [ecx - 7], dl
lea ebx, [ecx - 8]
mov ecx, ebx
mov edx, eax
sub edx, 8
mov dword [esp], edx
movzx eax, byte [edx]
mov byte [ebx], al
cmp esi, edx
jne 0x43e4fb
mov eax, dword [esp + 8]
neg eax
lea edx, [ebp + eax*8]
add edi, dword [esp + 0xc]
mov eax, esi
test edx, edx
jle 0x43e589
mov ecx, edx
neg edx
add eax, edx
add edi, edx
movzx edx, byte [eax + ecx - 1]
mov byte [edi + ecx - 1], dl
sub ecx, 1
jne 0x43e561
jmp 0x43e58f
neg ebx
add eax, ebx
add ebx, dword [esp + 4]
movzx ecx, byte [eax + edx - 1]
mov byte [ebx + edx - 1], cl
sub edx, 1
jne 0x43e579
jmp 0x43e595
mov eax, dword [esp + 4]
jmp 0x43e599
mov eax, dword [esp + 4]
jmp 0x43e599
mov eax, dword [esp + 4]
add esp, 0x10
pop ebx
pop esi
pop edi
pop ebp
ret