Function at 0x10c3d930
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], 0
test eax, eax
jne 0x10c3d94e
mov dword [ebp - 4], edi
jmp 0x10c3d9cd
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
call dword [0x1005b020]
mov esi, eax
cmp esi, 0xffffffff
je 0x10c3d9bd
push 0
push esi
push edi
call 0x117e5b74
push 4
push 0x3000
push eax
push 0
mov dword [ebp - 0x14], eax
call dword [0x1005b1c8]
mov ebx, eax
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x10c3d9b6
mov ecx, dword [ebp - 0x14]
push 0
lea eax, [ebp - 0x18]
push eax
push ecx
push ebx
push esi
push ebp
call 0x117defc6
test eax, eax
jne 0x10c3d9c6
push 0x8000
push eax
push ebx
call 0x117eab03
jecxz 0x10c3da0d
push esi
push esi
call 0x117c442c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push edi
call 0x117d6b97
mov eax, dword [edi + 0x3c]
movzx edx, word [eax + edi + 6]
mov esi, dword [eax + edi + 0x54]
add eax, edi
mov ecx, 0x10b
cmp word [eax + 0x18], cx
movzx ecx, word [eax + 0x14]
mov dword [ebp - 0x10], edx
lea ebx, [ecx + eax + 0x18]
jne 0x10c3da16
lea eax, [edx + edx*4]
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
add eax, ebx
cmp eax, esi
jbe 0x10c3da04
mov esi, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
add eax, ecx
movzx ecx, word [eax + 0x14]
lea ecx, [ecx + eax + 0x18]
mov bh, 0x48
adc al, 0x8d
dec esp
add dword [eax], ebx
jmp 0x10c3da39
lea ecx, [edx + edx*4]
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edi
add ecx, ebx
cmp ecx, esi
jbe 0x10c3da29
mov esi, ecx
mov edi, dword [ebp - 4]
mov ecx, dword [edi + 0x3c]
add ecx, edi
movzx edi, word [ecx + 0x14]
lea ecx, [edi + ecx + 0x18]
mov edi, dword [eax + 0x3c]
mov dword [ebp - 8], ecx
test edi, edi
jne 0x10c3da48
mov dword [ebp - 0x14], edi
jmp 0x10c3da5e
xor edx, edx
mov eax, esi
div edi
test edx, edx
je 0x10c3da58
lea esi, [eax + 1]
imul esi, edi
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], esi
test edx, edx
je 0x10c3db17
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
add esi, 8
sub eax, ebx
lea ecx, [ebx + 0xc]
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], edx
lea ecx, [ecx]
mov eax, dword [esi - 8]
mov dword [ecx - 0xc], eax
mov edx, dword [esi - 4]
mov dword [ecx - 8], edx
mov ebx, dword [esi]
test edi, edi
jne 0x10c3da96
xor eax, eax
jmp 0x10c3daa8
xor edx, edx
mov eax, ebx
div edi
test edx, edx
je 0x10c3daa6
inc eax
imul eax, edi
jmp 0x10c3daa8
mov eax, ebx
mov dword [ecx - 4], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + ecx]
mov dword [ecx], edx
mov ebx, dword [esi]
test edi, edi
jne 0x10c3dabd
xor eax, eax
jmp 0x10c3dacf
xor edx, edx
mov eax, ebx
div edi
test edx, edx
je 0x10c3dacd
inc eax
imul eax, edi
jmp 0x10c3dacf
mov eax, ebx
mov edx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov edx, dword [edx + ecx]
mov dword [ecx + 8], edx
mov edx, dword [esi + 0x10]
add eax, dword [ecx + 8]
mov dword [ecx + 0xc], edx
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x10], edx
movzx edx, word [esi + 0x18]
mov word [ecx + 0x14], dx
movzx edx, word [esi + 0x1a]
mov word [ecx + 0x16], dx
mov edx, dword [esi + 0x1c]
mov dword [ecx + 0x18], edx
cmp dword [ebp - 0xc], eax
jae 0x10c3db08
mov dword [ebp - 0xc], eax
add esi, 0x28
add ecx, 0x28
dec dword [ebp - 0x10]
jne 0x10c3da80
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10c3db23
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x10c3db2c
mov dword [eax], edi
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x10c3db38
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
cmp dword [ebp + 8], 0
je 0x10c3db4f
mov eax, dword [ebp - 4]
push 0x8000
push 0
push eax
push ebp
call 0x117d5bcc
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret