Function at 0x4cb6e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb4
mov ebx, edx
mov esi, eax
lea edi, [esp + 0x34]
mov eax, esi
call fcn.00421ddc
cmp al, 7
jne 0x4cb713
mov eax, ebx
call fcn.00421ddc
cmp al, 7
jne 0x4cb713
mov edx, ebx
mov eax, esi
call fcn.004cbd6c
jmp 0x4cbac5
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x20]
dec eax
mov dword [esp + 0x24], eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [esp + 0x28], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
dec eax
mov dword [esp + 0x18], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
call fcn.004660b4
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
call fcn.004660b4
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x24]
mov eax, esi
call fcn.00421e60
mov dword [esp], eax
mov eax, ebx
call fcn.00421ddc
cmp al, 6
jne 0x4cb8e5
mov edx, dword [esp + 0x18]
mov eax, ebx
call fcn.00421e60
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
shl eax, 3
lea eax, [eax + eax*2]
add eax, 0x1f
and eax, 0xffffffe0
test eax, eax
jns 0x4cb7a6
add eax, 7
sar eax, 3
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x4cbac5
inc eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x10]
imul dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x10]
imul dword [esp + 0x20]
add eax, dword [esp + 8]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x30]
dec esi
test esi, esi
jl 0x4cb8d2
inc esi
xor ebx, ebx
mov ebp, dword [esp + 0x1c]
add ebp, ebx
mov eax, dword [esp]
mov eax, dword [eax + ebp*4]
mov dword [edi + 4], eax
lea eax, [ebx + ebx*2]
mov edx, dword [esp + 0xc]
mov cx, word [edx + eax]
mov word [esp + 0x40], cx
mov cl, byte [edx + eax + 2]
mov byte [esp + 0x42], cl
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cl, byte [edi + 7]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
add al, byte [esp + 0x40]
push eax
xor eax, eax
mov al, byte [esp + 0x44]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
pop edx
sub dl, al
mov byte [esp + 0x40], dl
xor eax, eax
mov al, byte [edi + 5]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
add al, byte [esp + 0x41]
push eax
xor eax, eax
mov al, byte [esp + 0x45]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
pop edx
sub dl, al
mov byte [esp + 0x41], dl
xor eax, eax
mov al, byte [edi + 6]
imul ecx
mov ecx, 0xff
xor edx, edx
div ecx
add al, byte [esp + 0x42]
push eax
xor eax, eax
mov al, byte [esp + 0x46]
xor edx, edx
mov dl, byte [edi + 7]
imul edx
mov ecx, 0xff
xor edx, edx
div ecx
pop edx
sub dl, al
mov byte [esp + 0x42], dl
lea eax, [ebx + ebx*2]
mov edx, dword [esp + 0xc]
mov cx, word [esp + 0x40]
mov word [edx + eax], cx
mov cl, byte [esp + 0x42]
mov byte [edx + eax + 2], cl
inc ebx
dec esi
jne 0x4cb7fa
inc dword [esp + 0x10]
dec dword [esp + 0x48]
jne 0x4cb7c6
jmp 0x4cbac5
mov eax, ebx
call fcn.00421ddc
cmp al, 7
jne 0x4cb996
mov edx, dword [esp + 0x18]
mov eax, ebx
call fcn.00421e60
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x4cbac5
inc eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x10]
imul dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x30]
dec esi
test esi, esi
jl 0x4cb987
inc esi
xor ebx, ebx
mov ebp, dword [esp + 0x1c]
add ebp, ebx
mov eax, dword [esp]
mov eax, dword [eax + ebp*4]
mov dword [edi + 4], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + ebp*4]
mov dword [esp + 0x40], eax
mov al, byte [edi + 7]
cmp al, 0xff
je 0x4cb960
cmp byte [esp + 0x43], 0
jne 0x4cb96c
mov eax, dword [esp + 4]
mov edx, dword [edi + 4]
mov dword [eax + ebp*4], edx
jmp 0x4cb983
test al, al
je 0x4cb983
mov edx, dword [esp + 0x40]
mov eax, dword [edi + 4]
call fcn.004d5dcc
mov edx, dword [esp + 4]
mov dword [edx + ebp*4], eax
inc ebx
dec esi
jne 0x4cb938
inc dword [esp + 0x10]
dec dword [esp + 0x48]
jne 0x4cb91c
jmp 0x4cbac5
mov eax, ebx
call fcn.00421cf8
call fcn.0041d564
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x4cbac5
inc eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x10]
imul dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x30]
dec esi
test esi, esi
jl 0x4cbab7
inc esi
xor ebx, ebx
mov eax, dword [esp + 0x1c]
add eax, ebx
mov edx, dword [esp]
mov eax, dword [edx + eax*4]
mov dword [edi + 4], eax
mov al, byte [edi + 4]
mov dl, byte [edi + 6]
mov byte [edi + 4], dl
mov byte [edi + 6], al
mov eax, dword [esp + 0x10]
push eax
push ebx
mov eax, dword [esp + 0x4c]
push eax
call sub.gdi32.dll_GetPixel
mov dword [esp + 0x40], eax
xor eax, eax
mov al, byte [edi + 4]
xor ecx, ecx
mov cl, byte [edi + 7]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
add al, byte [esp + 0x40]
push eax
xor eax, eax
mov al, byte [esp + 0x44]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
pop edx
sub dl, al
mov byte [esp + 0x40], dl
xor eax, eax
mov al, byte [edi + 5]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
add al, byte [esp + 0x41]
push eax
xor eax, eax
mov al, byte [esp + 0x45]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
pop edx
sub dl, al
mov byte [esp + 0x41], dl
xor eax, eax
mov al, byte [edi + 6]
imul ecx
mov ebp, 0xff
xor edx, edx
div ebp
add al, byte [esp + 0x42]
push eax
xor eax, eax
mov al, byte [esp + 0x46]
imul ecx
mov ecx, 0xff
xor edx, edx
div ecx
pop edx
sub dl, al
mov byte [esp + 0x42], dl
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x14]
push eax
push ebx
mov eax, dword [esp + 0x50]
push eax
call sub.gdi32.dll_SetPixel
inc ebx
dec esi
jne 0x4cb9df
inc dword [esp + 0x10]
dec dword [esp + 0x48]
jne 0x4cb9bf
add esp, 0x4c
pop ebp
pop edi
pop esi
pop ebx
ret