Function at 0x40d9c0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, ebx
push edi
mov ecx, 6
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
movzx dx, byte [ebp + 0xf]
movzx cx, byte [ebp + 0xe]
movzx eax, byte [ebp + 0x12]
mov dword [esp + 0x18], eax
movzx eax, byte [ebp + 0x15]
shl ecx, 8
add ecx, edx
movzx dx, byte [ebx + 0x19]
add ebx, 0x18
xor edi, edi
mov di, cx
movzx cx, byte [ebx]
mov dword [esp + 0x1c], eax
xor eax, eax
add ebx, 2
mov dword [esp + 0x10], edi
shl ecx, 8
add ecx, edx
mov ax, cx
inc ebx
inc ebx
add ebx, 8
add ebx, 8
add ebx, 8
mov dword [ebp + 0xa8], eax
mov cl, byte [ebx - 0x1a]
mov byte [ebp + 0xac], cl
movsx edx, byte [ebx - 0x19]
mov dword [ebp + 0xa4], edx
movzx eax, byte [ebx - 0x14]
movzx ecx, byte [ebx - 0x13]
movzx edx, byte [ebx - 0x12]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebx - 0x11]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [ebp + 0x18], eax
movzx edx, byte [ebx - 0xc]
movzx eax, byte [ebx - 0xb]
movzx ecx, byte [ebx - 0xa]
shl edx, 8
add edx, eax
movzx eax, byte [ebx - 9]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [ebp + 0x1c], edx
movzx ecx, byte [ebx - 4]
movzx edx, byte [ebx - 3]
movzx eax, byte [ebx - 2]
shl ecx, 8
add ecx, edx
movzx edx, byte [ebx - 1]
shl ecx, 8
add ecx, eax
shl ecx, 8
add ecx, edx
mov dword [ebp + 0x40], ecx
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebx + 3]
shl eax, 8
add eax, edx
shl eax, 8
push 1
push 0
add eax, ecx
push 0
push eax
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x4c], edx
mov dword [ebp + 0x48], eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
movzx ecx, byte [ebx + 0xa]
add ebx, 8
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
push 1
add edx, ecx
push esi
shl edx, 8
add edx, eax
push esi
push edx
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x30], eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
movzx ecx, byte [ebx + 0xa]
add ebx, 8
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
push 1
add edx, ecx
push esi
shl edx, 8
add edx, eax
push esi
push edx
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x3c], edx
mov dword [ebp + 0x38], eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
movzx ecx, byte [ebx + 0xa]
add ebx, 8
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
push 1
add edx, ecx
push esi
shl edx, 8
add edx, eax
push esi
push edx
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x24], edx
mov dword [ebp + 0x20], eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
movzx ecx, byte [ebx + 0xa]
add ebx, 8
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
push 1
add edx, ecx
push esi
shl edx, 8
add edx, eax
push esi
push edx
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x2c], edx
add ebx, 8
mov dword [ebp + 0x28], eax
movzx edx, byte [ebx]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
push 1
add edx, ecx
push esi
shl edx, 8
add edx, eax
push esi
push edx
call fcn.0042e4a0
movzx ecx, byte [ebx + 4]
movzx esi, byte [ebx + 5]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 6]
shl ecx, 8
add ecx, esi
movzx esi, byte [ebx + 7]
shl ecx, 8
add ecx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp + 0x54], edx
mov dword [ebp + 0x50], eax
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
movzx ecx, byte [ebx + 0xa]
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 0xb]
add ebx, 8
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 6]
shl edx, 8
add edx, eax
shl edx, 8
xor ecx, ecx
mov ecx, edx
movzx edx, byte [ebx + 7]
add ecx, edx
mov dword [ebp + 0x90], ecx
movzx eax, byte [ebx + 8]
movzx ecx, byte [ebx + 9]
movzx edx, byte [ebx + 0xa]
add ebx, 8
shl eax, 8
add eax, ecx
movzx ecx, byte [ebx + 3]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [ebp + 0x58], eax
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
movzx ecx, byte [ebx + 6]
add ebx, 4
shl edx, 8
add edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [ebp + 0x5c], edx
movzx ecx, byte [ebx + 4]
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
add ebx, 4
shl ecx, 8
add ecx, edx
movzx edx, byte [ebx + 3]
shl ecx, 8
add ecx, eax
shl ecx, 8
add ecx, edx
add ebx, 4
mov dword [ebp + 0x64], ecx
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
add eax, ecx
shl eax, 8
movzx ecx, byte [ebx + 3]
add eax, edx
mov edx, dword [ebp + 0xb0]
shl eax, 8
add eax, ecx
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x18]
lea esi, [ebx + edx + 4]
xor ebx, ebx
test eax, eax
jbe 0x40de09
lea esp, [esp]
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
add eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 8
push 1
add eax, edx
push 0
shl eax, 8
add eax, ecx
push 0
push eax
call fcn.0042e4a0
movzx ecx, byte [esi + 4]
movzx edi, byte [esi + 5]
shl ecx, 8
add ecx, edi
movzx edi, byte [esi + 6]
shl ecx, 8
add ecx, edi
movzx edi, byte [esi + 7]
shl ecx, 8
add ecx, edi
xor edi, edi
add eax, ecx
mov ecx, dword [ebp + 0x6c]
adc edx, edi
mov dword [ecx + ebx*8], eax
mov eax, dword [esp + 0x18]
add esi, 8
mov dword [ecx + ebx*8 + 4], edx
inc ebx
cmp ebx, eax
jb 0x40dda0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
xor ebx, ebx
test eax, eax
jbe 0x40de7c
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
add edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
push 1
add edx, ecx
push 0
shl edx, 8
add edx, eax
push 0
push edx
call fcn.0042e4a0
movzx ecx, byte [esi + 4]
movzx edi, byte [esi + 5]
shl ecx, 8
add ecx, edi
movzx edi, byte [esi + 6]
shl ecx, 8
add ecx, edi
movzx edi, byte [esi + 7]
shl ecx, 8
add ecx, edi
xor edi, edi
add eax, ecx
mov ecx, dword [ebp + 0x70]
adc edx, edi
mov dword [ecx + ebx*8], eax
mov eax, dword [esp + 0x1c]
add esi, 8
mov dword [ecx + ebx*8 + 4], edx
inc ebx
cmp ebx, eax
jb 0x40de13
mov edi, dword [esp + 0x10]
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
add edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [ebp + 0x80], edx
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
add esi, 4
shl ecx, 8
add ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 8
add ecx, eax
shl ecx, 8
add ecx, edx
mov dword [ebp + 0x84], ecx
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
movzx edx, byte [esi + 6]
add esi, 4
shl eax, 8
add eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [ebp + 0x94], eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
movzx ecx, byte [esi + 6]
add esi, 4
shl edx, 8
add edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
push 1
add edx, ecx
push 0
shl edx, 8
add edx, eax
push 0
push edx
call fcn.0042e4a0
movzx ecx, byte [esi + 4]
movzx ebx, byte [esi + 5]
shl ecx, 8
add ecx, ebx
movzx ebx, byte [esi + 6]
shl ecx, 8
add ecx, ebx
movzx ebx, byte [esi + 7]
shl ecx, 8
add ecx, ebx
xor ebx, ebx
add eax, ecx
adc edx, ebx
mov dword [ebp + 0x8c], edx
add esi, 8
mov dword [ebp + 0x88], eax
movzx edx, byte [esi]
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
add edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
movzx edx, byte [esi + 4]
movzx eax, byte [esi + 5]
xor ecx, ecx
shl edx, 8
add edx, eax
movzx eax, byte [esi + 6]
shl edx, 8
add edx, eax
shl edx, 8
mov ecx, edx
movzx edx, byte [esi + 7]
add ecx, edx
mov dword [ebp + 0x98], ecx
movzx eax, byte [esi + 8]
movzx ecx, byte [esi + 9]
movzx edx, byte [esi + 0xa]
shl eax, 8
add eax, ecx
movzx ecx, byte [esi + 0xb]
add esi, 8
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
shl eax, 8
add eax, ecx
movzx ecx, byte [esi + 6]
shl eax, 8
add eax, ecx
xor edx, edx
shl eax, 8
mov edx, eax
movzx eax, byte [esi + 7]
add edx, eax
mov dword [ebp + 0x9c], edx
movzx ecx, byte [esi + 8]
movzx edx, byte [esi + 9]
movzx eax, byte [esi + 0xa]
add esi, 8
shl ecx, 8
add ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 8
add ecx, eax
shl ecx, 8
add ecx, edx
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
shl ecx, 8
add ecx, edx
movzx edx, byte [esi + 6]
shl ecx, 8
add ecx, edx
xor eax, eax
shl ecx, 8
mov eax, ecx
movzx ecx, byte [esi + 7]
add eax, ecx
mov dword [ebp + 0xa0], eax
movzx edx, byte [esi + 8]
movzx eax, byte [esi + 9]
movzx ecx, byte [esi + 0xa]
add esi, 8
shl edx, 8
add edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
push 1
add edx, ecx
push ebx
shl edx, 8
add edx, eax
push ebx
push edx
call fcn.0042e4a0
movzx ecx, byte [esi + 4]
movzx ebx, byte [esi + 5]
shl ecx, 8
add ecx, ebx
movzx ebx, byte [esi + 6]
shl ecx, 8
add ecx, ebx
shl ecx, 8
movzx ebx, byte [esi + 7]
add ecx, ebx
xor ebx, ebx
add eax, ecx
adc edx, ebx
mov dword [ebp + 0x78], eax
add esi, 8
xor eax, eax
test edi, edi
mov dword [ebp + 0x7c], edx
jbe 0x40e0bc
nop
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
shl edx, 8
add edx, ecx
movzx ecx, byte [esi + 2]
shl edx, 8
add edx, ecx
movzx ecx, byte [esi + 3]
shl edx, 8
add edx, ecx
mov ecx, dword [ebp + 0x68]
add esi, 4
mov dword [ecx + eax*4], edx
inc eax
cmp eax, edi
jb 0x40e090
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
pop ecx
ret