Function at 0xd35c90
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x30
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov ebp, dword [edi + 0x53c0]
lea eax, [ebx + 0x460]
lea edx, [ebx + 0x420]
mov dword [esp], eax
test ebp, ebp
je 0xd35d40
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov eax, dword [edi + 0x6e7c]
lea ebp, [ecx*8 + 0x10]
mov ecx, dword [edi + 0x6e78]
mov ecx, dword [ecx + esi*4]
add ecx, ebp
add ebp, dword [eax + esi*4]
mov dword [esp + 4], ebp
mov ebp, dword [edi + 0x6e84]
mov edi, dword [edi + 0x6e88]
mov ebp, dword [ebp + esi*4]
mov edi, dword [edi + esi*4]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
mov edi, dword [ebx + 0x1088]
mov eax, dword [esp + 4]
movzx ebp, byte [ecx - 1]
mov edi, dword [edi + 4]
movzx esi, byte [eax - 1]
cmp edi, 1
je 0xd36380
jb 0xd35e84
cmp edi, 2
je 0xd364a0
cmp edi, 3
nop
je 0xd36080
add esp, 0x30
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebx + 0x1060]
mov edi, dword [ebx + 0x1068]
neg esi
lea ecx, [edi + esi]
movzx ebp, byte [edi - 1]
add esi, dword [ebx + 0x106c]
mov dword [esp + 4], esi
mov esi, dword [ebx + 0x106c]
mov eax, ebp
mov byte [esp + 0x20], al
movzx ebp, byte [esi - 1]
mov esi, dword [ebx + 0x1060]
mov eax, ebp
mov byte [esp + 0x28], al
movzx ebp, byte [edi + esi - 1]
mov eax, ebp
mov byte [esp + 0x21], al
mov eax, dword [ebx + 0x106c]
movzx ebp, byte [eax + esi - 1]
mov eax, ebp
mov ebp, esi
add ebp, ebp
mov byte [esp + 0x29], al
movzx esi, byte [edi + ebp - 1]
mov eax, esi
mov byte [esp + 0x22], al
mov eax, dword [ebx + 0x106c]
movzx esi, byte [eax + ebp - 1]
add ebp, dword [ebx + 0x1060]
mov eax, esi
mov byte [esp + 0x2a], al
mov dword [esp + 0x14], ebp
movzx ebp, byte [edi + ebp - 1]
mov esi, dword [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x23], al
mov eax, dword [ebx + 0x106c]
movzx ebp, byte [eax + esi - 1]
mov eax, ebp
mov ebp, dword [ebx + 0x1060]
mov byte [esp + 0x2b], al
shl ebp, 2
movzx esi, byte [edi + ebp - 1]
mov eax, esi
mov byte [esp + 0x24], al
mov eax, dword [ebx + 0x106c]
movzx esi, byte [eax + ebp - 1]
mov eax, esi
mov byte [esp + 0x2c], al
add ebp, dword [ebx + 0x1060]
movzx esi, byte [edi + ebp - 1]
mov eax, esi
mov esi, dword [ebx + 0x106c]
mov byte [esp + 0x25], al
movzx ebp, byte [esi + ebp - 1]
mov eax, ebp
mov ebp, dword [esp + 0x14]
mov byte [esp + 0x2d], al
add ebp, ebp
movzx esi, byte [edi + ebp - 1]
mov eax, esi
mov esi, dword [ebx + 0x106c]
mov byte [esp + 0x26], al
movzx ebp, byte [esi + ebp - 1]
mov eax, ebp
mov ebp, dword [ebx + 0x1060]
mov byte [esp + 0x2e], al
shl ebp, 3
sub ebp, dword [ebx + 0x1060]
movzx edi, byte [edi + ebp - 1]
mov eax, edi
mov byte [esp + 0x27], al
movzx edi, byte [esi + ebp - 1]
lea esi, [esp + 0x28]
lea ebp, [esp + 0x20]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov eax, edi
mov byte [esp + 0x2f], al
jmp 0xd35cfe
mov esi, dword [ebx + 0x1094]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
test esi, esi
mov dword [esp + 0xc], esi
je 0xd35f0a
mov esi, dword [esp + 4]
movzx ebp, byte [ecx]
movzx edi, byte [ecx + 1]
lea eax, [ebp + edi]
movzx edi, byte [esi + 1]
movzx ebp, byte [esi]
add ebp, edi
movzx edi, byte [ecx + 2]
add eax, edi
movzx edi, byte [esi + 2]
add ebp, edi
movzx edi, byte [ecx + 3]
add eax, edi
movzx edi, byte [esi + 3]
add ebp, edi
movzx edi, byte [ecx + 4]
add eax, edi
movzx edi, byte [esi + 4]
add ebp, edi
movzx edi, byte [ecx + 5]
add eax, edi
movzx edi, byte [esi + 5]
add ebp, edi
movzx edi, byte [ecx + 6]
movzx ecx, byte [ecx + 7]
add eax, edi
movzx edi, byte [esi + 6]
add ecx, eax
mov dword [esp + 0x18], ecx
movzx ecx, byte [esi + 7]
add edi, ebp
add ecx, edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x1098]
test ecx, ecx
je 0xd35fc7
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
movzx esi, byte [ebp]
mov ebp, dword [esp + 0x18]
add ebp, esi
movzx esi, byte [eax]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 1]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 1]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 2]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 2]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 3]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 3]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 4]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 4]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 5]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 5]
mov eax, dword [esp + 0x10]
add edi, esi
movzx esi, byte [eax + 6]
mov eax, dword [esp + 0x14]
add ebp, esi
movzx esi, byte [eax + 6]
mov eax, dword [esp + 0x10]
add esi, edi
movzx edi, byte [eax + 7]
add edi, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x18], edi
movzx edi, byte [ebp + 7]
add edi, esi
mov dword [esp + 0x1c], edi
mov esi, dword [esp + 0xc]
test esi, esi
je 0xd36610
mov eax, dword [esp + 0xc]
mov esi, 1
mov ebp, dword [esp + 0x18]
lea edi, [eax + ecx + 2]
lea ecx, [edi - 1]
shl esi, cl
mov ecx, edi
add ebp, esi
add esi, dword [esp + 0x1c]
sar ebp, cl
sar esi, cl
mov eax, ebp
movzx ecx, al
imul ecx, ecx, 0x1010101
mov dword [ebx + 0x420], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], ecx
mov dword [edx + 0x3c], ecx
mov ecx, esi
movzx edx, cl
imul edx, edx, 0x1010101
mov dword [ebx + 0x460], edx
mov esi, dword [esp]
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], edx
add esp, 0x30
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebp
xor ebx, ebx
movzx ebp, al
mov eax, esi
movzx esi, al
mov eax, dword [esp]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 4]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], ecx
nop
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
movzx edi, byte [ecx + ebx]
movzx ecx, byte [ebp]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd360d9
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd360ed
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx], cl
mov ecx, edi
mov byte [eax], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 1]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 1]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd36130
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd36144
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 1], cl
mov ecx, edi
mov byte [eax + 1], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 2]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 2]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd36189
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd3619d
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 2], cl
mov ecx, edi
mov byte [eax + 2], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 3]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 3]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd361e2
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd361f6
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 3], cl
mov ecx, edi
mov byte [eax + 3], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 4]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 4]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd3623b
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd3624f
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 4], cl
mov ecx, edi
mov byte [eax + 4], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 5]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 5]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd36294
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd362a8
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 5], cl
mov ecx, edi
mov byte [eax + 5], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 6]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 6]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd362ed
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd36301
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x10]
mov byte [edx + 6], cl
mov ecx, edi
mov byte [eax + 6], cl
movzx edi, byte [ebp + ebx]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [ebp + 7]
add edi, ecx
mov ecx, dword [esp + 0x14]
movzx ebp, byte [ecx + ebx]
movzx ecx, byte [esi + 7]
add ecx, ebp
xor ebp, ebp
sub ecx, dword [esp + 0x18]
sub edi, dword [esp + 0xc]
js 0xd36346
cmp edi, 0xff
mov ebp, 0xffffffff
cmovle ebp, edi
xor edi, edi
test ecx, ecx
js 0xd3635a
cmp ecx, 0xff
mov edi, 0xffffffff
cmovle edi, ecx
mov ecx, ebp
add ebx, 1
mov byte [edx + 7], cl
mov ecx, edi
add edx, 8
mov byte [eax + 7], cl
add eax, 8
cmp ebx, 8
jne 0xd360a0
add esp, 0x30
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ecx]
mov dword [ebx + 0x420], edi
mov edi, dword [ecx + 4]
mov dword [edx + 4], edi
mov eax, dword [esp + 4]
mov edx, dword [eax]
mov dword [ebx + 0x460], edx
mov edx, dword [eax + 4]
mov esi, dword [esp]
mov dword [esi + 4], edx
mov eax, dword [ecx]
mov dword [ebx + 0x428], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x42c], eax
mov edx, dword [esp + 4]
mov eax, dword [edx]
mov dword [ebx + 0x468], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x46c], eax
mov eax, dword [ecx]
mov dword [ebx + 0x430], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x434], eax
mov eax, dword [edx]
mov dword [ebx + 0x470], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x474], eax
mov eax, dword [ecx]
mov dword [ebx + 0x438], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x43c], eax
mov eax, dword [edx]
mov dword [ebx + 0x478], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x47c], eax
mov eax, dword [ecx]
mov dword [ebx + 0x440], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x444], eax
mov eax, dword [edx]
mov dword [ebx + 0x480], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x484], eax
mov eax, dword [ecx]
mov dword [ebx + 0x448], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x44c], eax
mov eax, dword [edx]
mov dword [ebx + 0x488], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x48c], eax
mov eax, dword [ecx]
mov dword [ebx + 0x450], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x454], eax
mov eax, dword [edx]
mov dword [ebx + 0x490], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x494], eax
mov eax, dword [ecx]
mov dword [ebx + 0x458], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x45c], eax
mov eax, dword [edx]
mov dword [ebx + 0x498], eax
mov eax, dword [edx + 4]
mov dword [ebx + 0x49c], eax
add esp, 0x30
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x10]
movzx ecx, byte [esi]
imul ecx, ecx, 0x1010101
mov dword [ebx + 0x420], ecx
mov dword [edx + 4], ecx
mov ebp, dword [esp + 0x14]
movzx edx, byte [ebp]
imul edx, edx, 0x1010101
mov dword [ebx + 0x460], edx
mov eax, dword [esp]
mov dword [eax + 4], edx
movzx eax, byte [esi + 1]
imul eax, eax, 0x1010101
mov dword [ebx + 0x428], eax
mov dword [ebx + 0x42c], eax
movzx eax, byte [ebp + 1]
imul eax, eax, 0x1010101
mov dword [ebx + 0x468], eax
mov dword [ebx + 0x46c], eax
movzx eax, byte [esi + 2]
imul eax, eax, 0x1010101
mov dword [ebx + 0x430], eax
mov dword [ebx + 0x434], eax
movzx eax, byte [ebp + 2]
imul eax, eax, 0x1010101
mov dword [ebx + 0x470], eax
mov dword [ebx + 0x474], eax
movzx eax, byte [esi + 3]
imul eax, eax, 0x1010101
mov dword [ebx + 0x438], eax
mov dword [ebx + 0x43c], eax
movzx eax, byte [ebp + 3]
imul eax, eax, 0x1010101
mov dword [ebx + 0x478], eax
mov dword [ebx + 0x47c], eax
movzx eax, byte [esi + 4]
imul eax, eax, 0x1010101
mov dword [ebx + 0x440], eax
mov dword [ebx + 0x444], eax
movzx eax, byte [ebp + 4]
imul eax, eax, 0x1010101
mov dword [ebx + 0x480], eax
mov dword [ebx + 0x484], eax
movzx eax, byte [esi + 5]
imul eax, eax, 0x1010101
mov dword [ebx + 0x448], eax
mov dword [ebx + 0x44c], eax
movzx eax, byte [ebp + 5]
imul eax, eax, 0x1010101
mov dword [ebx + 0x488], eax
mov dword [ebx + 0x48c], eax
movzx eax, byte [esi + 6]
imul eax, eax, 0x1010101
mov dword [ebx + 0x450], eax
mov dword [ebx + 0x454], eax
movzx eax, byte [ebp + 6]
imul eax, eax, 0x1010101
mov dword [ebx + 0x490], eax
mov dword [ebx + 0x494], eax
movzx eax, byte [esi + 7]
imul eax, eax, 0x1010101
mov dword [ebx + 0x458], eax
mov dword [ebx + 0x45c], eax
movzx eax, byte [ebp + 7]
imul eax, eax, 0x1010101
mov dword [ebx + 0x498], eax
mov dword [ebx + 0x49c], eax
add esp, 0x30
pop ebx
pop esi
pop edi
pop ebp
ret
test ecx, ecx
mov esi, pe_nt_image_headers32
mov ebp, pe_nt_image_headers32
jne 0xd35fd3
jmp 0xd35ff5