Function at 0xcf0f50
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x98
mov esi, dword [eax + 0x1d00]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x30]
mov ebx, dword [eax + 0x1d08]
mov edx, esi
mov ecx, dword [edi + 0x1d0c]
mov ebp, edi
neg edx
mov edi, dword [edi + 0xaa8]
lea eax, [ebx + edx]
add edx, ecx
mov dword [esp + 4], edx
mov edi, dword [edi]
mov edx, dword [ebp + 0xaac]
add edi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], edi
mov edi, dword [ebp + 0xb78]
mov ebp, dword [ebp + 0xb7c]
mov edx, dword [edx + 0xab0]
mov edi, dword [edi]
mov dword [esp + 0x74], edx
movzx edx, byte [eax - 1]
add edi, ebp
mov dword [esp + 0x1c], edi
movzx edi, byte [ebx - 1]
mov byte [esp + 0x10], dl
mov edx, dword [esp + 4]
movzx edx, byte [edx - 1]
mov byte [esp + 0x20], dl
mov edx, edi
movzx edi, byte [ecx - 1]
mov byte [esp + 0x88], dl
mov edx, edi
movzx edi, byte [ebx + esi - 1]
mov byte [esp + 0x90], dl
mov edx, edi
movzx edi, byte [ecx + esi - 1]
mov byte [esp + 0x89], dl
mov edx, edi
lea edi, [esi + esi]
mov byte [esp + 0x91], dl
movzx ebp, byte [ebx + edi - 1]
mov edx, ebp
movzx ebp, byte [ecx + edi - 1]
mov byte [esp + 0x8a], dl
mov edx, ebp
lea ebp, [edi + esi]
movzx edi, byte [ebx + ebp - 1]
mov byte [esp + 0x92], dl
mov edx, edi
movzx edi, byte [ecx + ebp - 1]
mov byte [esp + 0x8b], dl
mov edx, edi
lea edi, [esi*4]
mov byte [esp + 0x93], dl
movzx edx, byte [ebx + edi - 1]
mov byte [esp + 0x8c], dl
movzx edx, byte [ecx + edi - 1]
add edi, esi
mov byte [esp + 0x94], dl
movzx edx, byte [ebx + edi - 1]
movzx edi, byte [ecx + edi - 1]
mov byte [esp + 0x8d], dl
mov edx, edi
lea edi, [ebp + ebp]
movzx ebp, byte [ebx + edi - 1]
movzx edi, byte [ecx + edi - 1]
mov byte [esp + 0x95], dl
mov edx, ebp
mov byte [esp + 0x8e], dl
mov edx, edi
lea edi, [esi*8]
sub edi, esi
movzx ecx, byte [ecx + edi - 1]
movzx ebx, byte [ebx + edi - 1]
mov byte [esp + 0x96], dl
mov byte [esp], cl
mov byte [esp + 0x97], cl
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x8f], bl
mov ebx, dword [ecx + 0x1d34]
test ebx, ebx
jne 0xcf18b1
mov ecx, dword [ecx + 0x1d38]
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [esp + 0x24], pe_nt_image_headers32
test ecx, ecx
jne 0xcf1940
mov ebx, dword [esp + 4]
movzx edx, byte [eax]
movzx edi, byte [eax + 1]
mov ebp, dword [esp + 4]
movzx ebx, byte [ebx]
mov dword [esp + 0x34], edx
movzx edx, byte [eax + 2]
movzx ecx, byte [esp + 0x10]
movzx esi, byte [esp + 0x20]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 4]
movzx ebp, byte [ebp + 1]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 4]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x10], ecx
movzx ecx, byte [eax + 5]
movzx edi, byte [edi + 3]
mov dword [esp + 0x20], esi
movzx edx, byte [edx + 4]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 4]
movzx esi, byte [eax + 3]
mov dword [esp + 0x40], ebp
movzx ebp, byte [eax + 4]
mov dword [esp + 0x50], edi
movzx ebx, byte [ebx + 5]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
mov edi, dword [esp + 4]
mov ebp, dword [esp + 4]
movzx esi, byte [eax + 6]
movzx eax, byte [eax + 7]
movzx edi, byte [edi + 6]
movzx ebp, byte [ebp + 7]
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0xcf11ec
cmp dword [esp + 0x2c], 8
je 0xcf1860
mov esi, dword [esp + 0x74]
add dword [esp + 0x18], esi
add dword [esp + 0x1c], esi
add dword [esp + 0x2c], 1
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
movzx eax, byte [esp + edi + 0x87]
movzx ebp, byte [esp + ebp + 0x8f]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
movzx ecx, byte [ebx]
add edx, ebp
add edi, eax
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp], ebp
movzx ebx, byte [esi]
js 0xcf1857
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1850
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov esi, ecx
mov ebp, ebx
sub esi, dword [esp + 0x24]
sub ebp, dword [esp + 0x28]
imul esi, esi
imul ebp, ebp
add esi, dword [esp + 4]
add ebp, esi
mov esi, ecx
mov dword [esp + 4], ebp
mov ebp, ebx
sub esi, dword [esp + 0x34]
sub ebp, dword [esp + 0x38]
imul esi, esi
imul ebp, ebp
add esi, dword [esp + 8]
add ebp, esi
mov esi, ebx
sub esi, dword [esp]
sub ebx, edx
mov dword [esp + 8], ebp
mov ebp, ecx
sub ecx, edi
sub ebp, eax
mov edi, dword [esp + 0x3c]
imul ebp, ebp
mov edx, dword [esp]
imul esi, esi
add ebp, dword [esp + 0xc]
imul ecx, ecx
add edi, eax
imul ebx, ebx
add ecx, dword [esp + 0x14]
add esi, ebp
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add ebx, ecx
add edx, dword [esp + 0x40]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 1]
movzx ebx, byte [ebp + 1]
js 0xcf1847
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1840
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x3c]
sub esi, dword [esp + 0x40]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x44]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x48]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 2]
movzx ecx, byte [esi + 2]
js 0xcf1837
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1830
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x44]
sub esi, dword [esp + 0x48]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x4c]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x50]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 3]
movzx ecx, byte [esi + 3]
js 0xcf1827
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1820
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x4c]
sub esi, dword [esp + 0x50]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x54]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x58]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 4]
movzx ecx, byte [esi + 4]
js 0xcf1817
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1810
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x54]
sub esi, dword [esp + 0x58]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x5c]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x60]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 5]
movzx ecx, byte [esi + 5]
js 0xcf1807
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xcf1800
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x5c]
sub esi, dword [esp + 0x60]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x18]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
movzx ebx, byte [edi + 6]
add edx, dword [esp + 0x68]
add ebp, eax
sub edx, dword [esp + 0x20]
sub ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ecx, byte [esi + 6]
js 0xcf17f7
cmp ebp, 0x100
mov edi, 0xff
cmovge ebp, edi
test edx, edx
js 0xcf17f0
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov edi, ebx
mov esi, ecx
sub edi, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul edi, edi
imul esi, esi
add edi, dword [esp + 4]
add esi, edi
mov edi, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub edi, dword [esp + 0x64]
sub esi, dword [esp + 0x68]
imul edi, edi
imul esi, esi
add edi, dword [esp + 8]
add esi, edi
mov edi, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub edi, eax
sub esi, dword [esp]
sub ebx, ebp
imul edi, edi
sub ecx, edx
mov ebp, dword [esp + 0x6c]
add edi, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add ebp, eax
add ebx, dword [esp + 0x14]
add esi, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x70]
sub edx, dword [esp + 0x20]
sub ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [edi + 7]
movzx ecx, byte [esi + 7]
js 0xcf17e7
cmp ebp, 0x100
mov edi, 0xff
cmovge ebp, edi
test edx, edx
js 0xcf17e0
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov edi, ebx
mov esi, ecx
sub edi, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul edi, edi
imul esi, esi
add edi, dword [esp + 4]
add esi, edi
mov edi, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub edi, dword [esp + 0x6c]
sub esi, dword [esp + 0x70]
imul edi, edi
imul esi, esi
add edi, dword [esp + 8]
add esi, edi
mov dword [esp + 8], esi
mov esi, ebx
sub ebx, ebp
sub esi, eax
mov eax, ecx
sub eax, dword [esp]
sub ecx, edx
imul esi, esi
imul ebx, ebx
imul eax, eax
imul ecx, ecx
add esi, dword [esp + 0xc]
add ebx, dword [esp + 0x14]
add eax, esi
add ecx, ebx
cmp dword [esp + 0x2c], 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
jne 0xcf11d0
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xb10]
mov ecx, dword [edx + 0xb14]
mov ebx, dword [edx + 0xbe4]
mov eax, dword [eax]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xbe0]
mov eax, dword [eax]
add eax, ebx
mov dword [esp + 0x1c], eax
jmp 0xcf11e7
xor edx, edx
jmp 0xcf173f
xor ebp, ebp
jmp 0xcf1729
xor edx, edx
jmp 0xcf168b
xor ebp, ebp
jmp 0xcf1675
xor edx, edx
jmp 0xcf15d7
xor edi, edi
jmp 0xcf15c1
xor edx, edx
jmp 0xcf1523
xor edi, edi
jmp 0xcf150d
xor edx, edx
jmp 0xcf146f
xor edi, edi
jmp 0xcf1459
xor edx, edx
jmp 0xcf13bb
xor edi, edi
jmp 0xcf13a5
xor edx, edx
jmp 0xcf1307
xor edi, edi
jmp 0xcf12f1
xor edx, edx
jmp 0xcf1253
xor edi, edi
jmp 0xcf123d
mov edi, dword [esp + 8]
mov edx, 2
mov ebp, dword [esp + 4]
cmp dword [esp + 4], edi
mov ebx, dword [esp + 0x30]
mov eax, edi
cmovle eax, dword [esp + 4]
xor ecx, ecx
cmp edi, ebp
setl cl
cmp dword [esp + 0xc], eax
cmovge edx, ecx
mov ecx, dword [ebx + 0x1d28]
mov ebx, dword [esp + 0xc]
cmovge ebx, eax
mov eax, 3
cmp dword [esp + 0x14], ebx
cmovge eax, edx
mov dword [ecx + 4], eax
add esp, 0x98
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 4]
mov ebp, ecx
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x1d38]
movzx ebx, byte [edi]
add esi, ecx
movzx ecx, byte [edi + 1]
add ebx, ecx
movzx ecx, byte [eax + 2]
add esi, ecx
movzx ecx, byte [edi + 2]
add ebx, ecx
movzx ecx, byte [eax + 3]
add esi, ecx
movzx ecx, byte [edi + 3]
add ebx, ecx
movzx ecx, byte [eax + 4]
add esi, ecx
movzx ecx, byte [edi + 4]
add ebx, ecx
movzx ecx, byte [eax + 5]
add esi, ecx
movzx ecx, byte [edi + 5]
add ebx, ecx
movzx ecx, byte [eax + 6]
add esi, ecx
movzx ecx, byte [edi + 6]
movzx edi, byte [edi + 7]
add ecx, ebx
movzx ebx, byte [eax + 7]
add edi, ecx
add ebx, esi
test edx, edx
jne 0xcf19f0
mov ebp, 4
mov ecx, 3
add ebx, ebp
add ebp, edi
sar ebx, cl
sar ebp, cl
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
jmp 0xcf10f0
mov ebp, 4
mov ecx, 3
xor edi, edi
xor ebx, ebx
movzx esi, byte [esp + 0x88]
add esi, ebx
movzx ebx, byte [esp + 0x90]
add edi, ebx
movzx ebx, byte [esp + 0x89]
add esi, ebx
movzx ebx, byte [esp + 0x91]
add edi, ebx
movzx ebx, byte [esp + 0x8a]
add esi, ebx
movzx ebx, byte [esp + 0x92]
add edi, ebx
movzx ebx, byte [esp + 0x8b]
add esi, ebx
movzx ebx, byte [esp + 0x93]
add edi, ebx
movzx ebx, byte [esp + 0x8c]
add esi, ebx
movzx ebx, byte [esp + 0x94]
add edi, ebx
movzx ebx, byte [esp + 0x8d]
add esi, ebx
movzx ebx, byte [esp + 0x95]
add edi, ebx
movzx ebx, byte [esp + 0x8e]
add esi, ebx
movzx ebx, byte [esp + 0x96]
add edi, ebx
movzx ebx, byte [esp + 0x8f]
add ebx, esi
movzx esi, byte [esp]
add edi, esi
jmp 0xcf1929
mov ebp, 8
mov ecx, 4
jmp 0xcf194e