Function at 0x10048ea5
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
movzx eax, byte [edi + 0x11]
push dword [ebp + 0x18]
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ebx
call fcn.1002fede
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
test byte [eax + 0x76], 2
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
jne 0x10048eed
test byte [esi + 0x11d], 0x10
mov dword [ebp - 0xc], ebx
jne 0x10048ef4
mov dword [ebp - 0xc], 1
xor eax, eax
mov al, byte [edi + 2]
mov ecx, edi
and eax, 1
mov dword [ebp - 0x30], eax
call fcn.1000bfa6
mov ecx, dword [ebp + 0x1c]
mov edi, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x18], ebx
mov ebx, dword [esi + 0x128]
add eax, ebx
test ecx, ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
je 0x10048f3b
call fcn.1000bfa6
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + 0x11]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
test byte [esi + 0x11c], 2
je 0x100490c7
mov ecx, dword [esi + 0xac]
mov dword [ebp - 0x38], eax
push 0
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push eax
push dword [esi + 0x10c]
mov dword [ebp - 0x3c], ecx
mov ecx, esi
mov dword [ebp - 0x40], ebx
call fcn.1004884f
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x3c], eax
push 0
lea eax, [ebp - 0x44]
push eax
push dword [esi + 0x10c]
mov ecx, esi
call fcn.1004884f
mov eax, dword [ebp - 0x40]
cmp eax, dword [esi + 0xa0]
jg 0x10048fab
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x40], eax
and dword [ebp - 0x44], 0
push 0
lea eax, [ebp - 0x44]
push eax
push dword [esi + 0x10c]
mov ecx, esi
mov dword [ebp - 0x38], ebx
call fcn.1004884f
mov ecx, dword [esi + 0x18]
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1001f752
mov eax, dword [esi + 0x14]
cmp eax, dword [ebp + 0x10]
jg 0x100490c7
cmp eax, dword [ebp - 0x1c]
jle 0x100490c7
cmp dword [esi + 0x80], 0
mov eax, dword [esi + 0xe4]
mov dword [ebp - 0x34], eax
jne 0x10049011
mov ecx, esi
call fcn.1004ba8b
push eax
mov ecx, esi
call fcn.1003b4ee
mov dword [esi + 0x80], eax
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x100490c7
lea eax, [ebp - 0x10]
push eax
push 0x20
call fcn.1003b154
test eax, eax
je 0x100490c7
mov eax, dword [ebp - 0x2c]
shl eax, 4
movzx eax, byte [eax + edi - 0xa]
shr eax, 1
push eax
mov ecx, esi
call fcn.1003b708
add eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
add eax, dword [ebp + 0xc]
add ecx, eax
mov dword [ebp - 0x44], eax
movzx eax, byte [edi + 5]
mov dword [ebp - 0x3c], ecx
push eax
mov ecx, esi
call fcn.1003b708
test byte [ebp + 0x14], 1
lea eax, [eax + ebx + 1]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
je 0x1004908b
movzx eax, byte [edi + 7]
push eax
mov ecx, esi
call fcn.1003b708
mov ecx, dword [ebp - 4]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx]
push 0xd
call dword [eax + 0x70]
push eax
push dword [esi + 0x10c]
call dword [sym.imp.GDI32.dll_SetBkColor]
push 1
lea eax, [ebp - 0x44]
push eax
push dword [esi + 0x10c]
mov ecx, esi
call fcn.1004884f
push dword [ebp - 0x34]
push dword [esi + 0x10c]
call dword [sym.imp.GDI32.dll_SetBkColor]
cmp dword [ebp + 0x14], 0
je 0x10049173
mov eax, dword [edi + 4]
and eax, 0xff
push eax
mov ecx, esi
call fcn.1003b708
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp + 0x10], eax
movzx eax, byte [edi + 7]
push eax
mov ecx, esi
call fcn.1003b708
push dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 8]
shr eax, 0xf
push 1
and eax, 0x1f
push eax
mov ecx, esi
call fcn.10048e1a
test byte [ebp + 0x14], 1
je 0x1004913b
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
mov dword [ebp - 8], ecx
jne 0x10049157
cmp dword [ebp - 0xc], 0
jne 0x10049157
dec dword [ebp - 8]
jmp 0x10049157
mov ecx, dword [ebp - 0x10]
test ecx, ecx
mov dword [ebp - 0x24], ecx
jne 0x10049151
cmp dword [ebp - 0xc], ecx
jne 0x10049151
mov dword [ebp - 0x24], 1
mov ecx, dword [ebp - 0x24]
add dword [ebp - 4], ecx
push dword [ebp - 0xc]
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x10]
push dword [ebp - 8]
push dword [ebp + 0x10]
push dword [ebp - 8]
push ebx
call fcn.1004841e
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x1c], 0
cmp dword [ebp - 0x30], 0
mov dword [ebp + 0x10], eax
je 0x1004918b
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 0x2c]
test eax, eax
mov dword [ebp + 0x14], eax
jl 0x100492c4
cmp dword [ebp + 0x14], 0
je 0x100491bf
mov ebx, dword [edi + 4]
mov eax, dword [edi + 8]
and ebx, 0xff
and eax, 0x1f
cmp ebx, dword [ebp - 0x20]
jg 0x100491b6
mov ebx, dword [ebp - 0x20]
movzx ecx, byte [edi + 6]
mov dword [ebp - 0x20], ecx
jmp 0x100491d4
mov eax, dword [edi - 8]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
sub edi, 0x10
shr eax, 0xa
and eax, 0x1f
mov dword [ebp - 8], ecx
push dword [ebp + 8]
mov ecx, esi
push 1
push eax
call fcn.10048e1a
push ebx
mov dword [ebp - 0x34], eax
call fcn.1003b708
push dword [ebp - 0xc]
mov ebx, dword [ebp + 0x10]
push dword [ebp - 0x34]
mov ecx, eax
cdq
sub eax, edx
push ecx
push dword [ebp - 8]
mov edx, eax
sar edx, 1
mov eax, ebx
sub eax, edx
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x54]
push eax
call fcn.1004841e
cmp dword [ebp + 0x14], 0
je 0x100492b8
mov eax, dword [edi]
and eax, 0xffffff
add dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.1002fede
cmp dword [ebp - 0x30], 0
mov edx, dword [ebp + 0xc]
lea ecx, [eax + edx]
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 0x10], ecx
je 0x1004924b
mov ecx, dword [ebp - 0x14]
sub ecx, eax
add ecx, edx
mov dword [ebp + 0x10], ecx
test byte [edi + 3], 8
jne 0x100492b5
mov ecx, dword [ebp + 0x18]
test ecx, ecx
movzx ebx, byte [edi + 5]
je 0x1004927c
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
call fcn.1000c415
test eax, eax
jl 0x1004927c
mov ecx, dword [ebp + 0x18]
shl eax, 4
movzx eax, byte [eax + ecx + 7]
cmp ebx, eax
jg 0x1004927c
mov ebx, eax
push ebx
mov ecx, esi
call fcn.1003b708
push dword [ebp - 0xc]
mov ebx, eax
push dword [ebp + 8]
mov eax, dword [edi + 8]
shr eax, 5
push 1
and eax, 0x1f
push eax
mov ecx, esi
call fcn.10048e1a
push eax
push ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x54]
push dword [ebp + 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
call fcn.1004841e
add edi, 0x10
dec dword [ebp + 0x14]
jns 0x10049199
mov ebx, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp + 0x18], eax
je 0x1004938b
mov ecx, dword [ebp + 0x1c]
test byte [ecx + 2], 1
jne 0x1004938b
mov ecx, dword [ebp - 0x28]
cmp ecx, eax
mov dword [ebp + 0x14], ecx
jle 0x1004938b
jmp 0x100492ef
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx]
and ecx, 0xffffff
add eax, ecx
cmp eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
jle 0x1004937a
push eax
mov ecx, esi
call fcn.1002fede
cmp dword [ebp + 0x14], 1
mov edi, dword [ebp + 0x18]
mov dword [ebp + 8], eax
jne 0x1004932d
movzx eax, byte [edi + 6]
inc eax
cdq
sub eax, edx
sar eax, 1
push eax
mov ecx, esi
call fcn.1003b708
add dword [ebp + 8], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
add ecx, eax
movzx eax, byte [edi + 7]
mov dword [ebp + 0x10], ecx
push eax
mov ecx, esi
call fcn.1003b708
push dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
push dword [ebp + 0x1c]
mov eax, dword [edi + 8]
shr eax, 0xf
push 1
and eax, 0x1f
push eax
mov ecx, esi
call fcn.10048e1a
push eax
push dword [ebp - 0x10]
lea ecx, [ebp - 0x54]
push ebx
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0x2c]
call fcn.1004841e
add dword [ebp + 0x18], 0x10
dec dword [ebp + 0x14]
cmp dword [ebp + 0x14], 0
jg 0x100492ec
lea ecx, [ebp - 0x54]
call fcn.100483f1
mov eax, dword [ebp - 0x24]
pop edi
pop esi
pop ebx
leave
ret 0x18