Function at 0x1004bd90
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [esp + 0x20]
mov eax, edx
push ebp
mov dword [esp + 0x1c], eax
push esi
push edi
mov edi, dword [eax + 0x20]
mov eax, 0x55555556
imul dword [ebx + 0xc]
mov dword [esp + 0x14], ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
test edi, edi
je 0x1004bed0
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x1004c323
mov eax, 0x55555556
imul dword [ebx + 8]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor esi, esi
mov dword [esp + 0x20], esi
mov eax, dword [ebx + 4]
add eax, esi
xor esi, esi
mov edx, dword [edi + eax*4 + 4]
mov ebp, dword [edi + eax*4]
mov eax, dword [edi + eax*4 + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
test ecx, ecx
jle 0x1004be9d
xor edi, edi
mov edx, dword [ebx]
add edx, edi
add edi, 3
movzx eax, byte [edx + ebp + 2]
movzx ecx, byte [edx + ebp + 1]
add ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [edx + eax + 2]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [edx + eax + 2]
add ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [edx + eax + 1]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [edx + eax + 1]
add ecx, eax
movzx eax, byte [edx + ebp]
add ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [edx + eax]
add ecx, eax
mov eax, dword [esp + 0x18]
add ecx, 4
movzx eax, byte [edx + eax]
mov edx, dword [esp + 0x1c]
add eax, ecx
imul ecx, eax, 0x1c71c7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
shr ecx, 0x18
mov eax, dword [eax + edx*4]
mov byte [esi + eax], cl
mov eax, 0x55555556
imul dword [ebx + 8]
inc esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jl 0x1004be08
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x20]
mov ebp, dword [esp + 0x1c]
mov eax, 0x55555556
imul dword [ebx + 0xc]
mov esi, dword [esp + 0x20]
inc ebp
mov eax, edx
mov dword [esp + 0x1c], ebp
shr eax, 0x1f
add esi, 3
add eax, edx
mov dword [esp + 0x20], esi
cmp ebp, eax
jl 0x1004bde4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov dword [esp + 0x10], 0
test eax, eax
jle 0x1004c323
mov eax, 0x55555556
imul dword [ebx + 8]
mov esi, edx
shr esi, 0x1f
add esi, edx
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 4]
add ecx, ebp
mov eax, dword [edx + 0x28]
mov edi, dword [eax + ecx*4]
mov ebx, dword [eax + ecx*4 + 4]
mov ebp, dword [eax + ecx*4 + 8]
mov eax, dword [edx + 0x10]
cmp eax, 2
jne 0x1004c012
xor eax, eax
mov dword [esp + 0x1c], eax
test esi, esi
jle 0x1004c2f4
xor ecx, ecx
mov dword [esp + 0x18], ecx
nop dword [eax]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x18], 3
mov esi, dword [eax]
add esi, ecx
movzx eax, byte [edi + esi*4 + 7]
movzx ecx, byte [edi + esi*4 + 0xb]
add ecx, eax
movzx eax, byte [edi + esi*4 + 3]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 0xb]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 7]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 3]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 0xb]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 7]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 3]
add ecx, 4
add eax, ecx
movzx ecx, byte [ebp + esi*4 + 8]
imul edx, eax, 0x1c71c7
movzx eax, byte [ebx + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 4]
add ecx, eax
and edx, 0xff000000
movzx eax, byte [ebp + esi*4 + 4]
add ecx, eax
movzx eax, byte [edi + esi*4]
add ecx, eax
movzx eax, byte [ebp + esi*4]
add ecx, eax
movzx eax, byte [ebx + esi*4]
add ecx, 4
add eax, ecx
mov ecx, dword [esp + 0x10]
imul eax, eax, 0x1c71c7
shr eax, 0x18
or edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
inc ecx
mov dword [esp + 0x1c], ecx
mov eax, 0x55555556
mov ecx, dword [esp + 0x2c]
imul dword [ecx + 8]
mov ecx, dword [esp + 0x18]
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [esp + 0x1c], esi
jl 0x1004bf30
jmp 0x1004c2f4
cmp eax, 3
jne 0x1004c164
xor eax, eax
mov dword [esp + 0x1c], eax
test esi, esi
jle 0x1004c2f4
xor ecx, ecx
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x2c]
add dword [esp + 0x18], 3
mov esi, dword [eax]
add esi, ecx
movzx eax, byte [ebx + esi*4 + 8]
movzx ecx, byte [ebp + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebp + esi*4]
add ecx, eax
movzx eax, byte [ebx + esi*4]
add ecx, eax
movzx eax, byte [edi + esi*4]
add ecx, 4
add eax, ecx
movzx ecx, byte [edi + esi*4 + 9]
imul edx, eax, 0x1c71c7
movzx eax, byte [edi + esi*4 + 5]
add ecx, eax
movzx eax, byte [edi + esi*4 + 1]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 9]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 5]
add ecx, eax
shr edx, 8
movzx eax, byte [ebp + esi*4 + 1]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 9]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 5]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 1]
add ecx, 4
add eax, ecx
movzx ecx, byte [edi + esi*4 + 0xa]
imul eax, eax, 0x1c71c7
and eax, 0xff00ffff
or edx, eax
movzx eax, byte [edi + esi*4 + 6]
add ecx, eax
shr edx, 8
movzx eax, byte [edi + esi*4 + 2]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 0xa]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 6]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 2]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 0xa]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 6]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 2]
add ecx, 4
add eax, ecx
mov ecx, dword [esp + 0x10]
imul eax, eax, 0x1c71c7
and eax, 0xff0000ff
or edx, eax
mov eax, dword [esp + 0x14]
shr edx, 8
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
inc ecx
mov dword [esp + 0x1c], ecx
mov eax, 0x55555556
mov ecx, dword [esp + 0x2c]
imul dword [ecx + 8]
mov esi, edx
shr esi, 0x1f
mov ecx, dword [esp + 0x18]
add esi, edx
cmp dword [esp + 0x1c], esi
jl 0x1004c030
jmp 0x1004c2f4
xor eax, eax
mov dword [esp + 0x1c], eax
test esi, esi
jle 0x1004c2f4
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
add esi, ecx
movzx eax, byte [ebx + esi*4 + 8]
movzx ecx, byte [ebp + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 8]
add ecx, eax
movzx eax, byte [edi + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 4]
add ecx, eax
movzx eax, byte [ebp + esi*4]
add ecx, eax
movzx eax, byte [edi + esi*4]
add ecx, eax
movzx eax, byte [ebx + esi*4]
add ecx, 4
add eax, ecx
movzx ecx, byte [edi + esi*4 + 9]
imul edx, eax, 0x1c71c7
movzx eax, byte [edi + esi*4 + 5]
add ecx, eax
movzx eax, byte [edi + esi*4 + 1]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 9]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 5]
add ecx, eax
shr edx, 8
movzx eax, byte [ebp + esi*4 + 1]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 9]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 5]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 1]
add ecx, 4
add eax, ecx
movzx ecx, byte [edi + esi*4 + 0xa]
imul eax, eax, 0x1c71c7
and eax, 0xff00ffff
or edx, eax
movzx eax, byte [edi + esi*4 + 6]
add ecx, eax
shr edx, 8
movzx eax, byte [edi + esi*4 + 2]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 0xa]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 6]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 2]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 0xa]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 6]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 2]
add ecx, 4
add eax, ecx
movzx ecx, byte [edi + esi*4 + 0xb]
imul eax, eax, 0x1c71c7
and eax, 0xff0000ff
or edx, eax
movzx eax, byte [edi + esi*4 + 7]
add ecx, eax
shr edx, 8
movzx eax, byte [edi + esi*4 + 3]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 0xb]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 7]
add ecx, eax
movzx eax, byte [ebp + esi*4 + 3]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 0xb]
add ecx, eax
movzx eax, byte [ebx + esi*4 + 7]
add ecx, eax
add dword [esp + 0x18], 3
movzx eax, byte [ebx + esi*4 + 3]
add ecx, 4
add eax, ecx
mov ecx, dword [esp + 0x10]
imul eax, eax, 0x1c71c7
and eax, 0xff000000
or edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
inc ecx
mov dword [esp + 0x1c], ecx
mov eax, 0x55555556
mov ecx, dword [esp + 0x2c]
imul dword [ecx + 8]
mov ecx, dword [esp + 0x18]
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [esp + 0x1c], esi
jl 0x1004c178
mov ebx, dword [esp + 0x2c]
mov eax, 0x55555556
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
inc ecx
add ebp, 3
mov dword [esp + 0x10], ecx
imul dword [ebx + 0xc]
mov dword [esp + 0x20], ebp
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x1004bef5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret