Function at 0x10093830
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ecx + 0x44]
xor esi, esi
mov dword [ebp - 4], 0x100
cmp edi, 0x3831
jle 0x10093856
mov eax, 0x383100
cdq
idiv edi
mov dword [ebp - 4], eax
xor edx, edx
test edi, edi
jle 0x10093876
mov ebx, dword [ebp + 8]
nop
mov cl, byte [edx + ebx]
lea eax, [esi + 1]
and cl, 0xf
inc edx
cmp cl, 1
cmovne eax, esi
mov esi, eax
cmp edx, edi
jl 0x10093860
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
imul eax, esi
mov esi, dword [ebp - 4]
sar eax, 8
mov dword [ebp + 8], eax
movzx eax, word [edi + 0x12]
imul eax, esi
sar eax, 8
imul ecx, eax, 0xc1c
movzx eax, word [edi + 0x10]
imul eax, esi
sar eax, 8
imul ebx, eax, 0xfffff619
movzx eax, word [edi + 0xe]
imul eax, esi
sub ebx, ecx
movzx ecx, word [edi + 0x14]
imul ecx, esi
sar eax, 8
imul eax, eax, 0x2f0
sar ecx, 8
sub ebx, eax
movzx eax, word [edi + 8]
imul eax, esi
sar eax, 8
imul eax, eax, 0x135
add ebx, eax
movzx eax, word [edi + 6]
imul eax, esi
sar eax, 8
imul eax, eax, 0x134
add ebx, eax
movzx eax, word [edi + 0xc]
imul eax, esi
sar eax, 8
imul eax, eax, 0x126
sub ebx, eax
movzx eax, word [edi + 2]
imul eax, esi
sar eax, 8
imul eax, eax, 0x127
add ebx, eax
movzx eax, word [edi + 4]
imul eax, esi
sar eax, 8
imul eax, eax, 0xe7
add ebx, eax
movzx eax, word [edi + 0xa]
imul eax, esi
sar eax, 8
imul eax, eax, 0xb5
add ebx, eax
movzx eax, word [edi]
imul eax, esi
sar eax, 8
imul eax, eax, 0xe3
add ebx, eax
movzx eax, word [edi + 0x24]
imul eax, esi
sar eax, 8
imul edx, eax, 0x8b
movzx eax, word [edi + 0x26]
imul eax, esi
sar eax, 8
imul eax, eax, 0x70
add edx, eax
mov eax, ecx
shl eax, 4
sub eax, ecx
add eax, eax
sub edx, eax
movzx eax, word [edi + 0x1c]
imul eax, esi
sar eax, 8
sub edx, eax
movzx eax, word [edi + 0x20]
imul eax, esi
sar eax, 8
lea ecx, [eax + eax*8]
movzx eax, word [edi + 0x16]
imul eax, esi
push 0xfffd601e
sar eax, 8
sub ecx, eax
mov eax, ecx
shl eax, 4
add eax, ecx
movzx ecx, word [edi + 0x18]
lea esi, [eax + edx*2]
mov edx, dword [ebp - 4]
movzx eax, word [edi + 0x22]
imul eax, edx
imul ecx, edx
sar eax, 8
imul eax, eax, 0x135
sar ecx, 8
add esi, eax
movzx eax, word [edi + 0x1e]
imul eax, edx
sar eax, 8
imul eax, eax, 0x23
add esi, eax
movzx eax, word [edi + 0x1a]
imul eax, edx
sar eax, 8
imul eax, eax, 0x27
sub esi, eax
mov eax, ecx
shl eax, 5
sub eax, ecx
sub esi, eax
mov eax, dword [ebp + 8]
sar eax, 6
sub eax, 0x32
imul eax, eax, 0x28f
push eax
call fcn.10098310
add esp, 8
lea ecx, [esi + eax]
mov eax, 0x10000
add ecx, ebx
mov dword [ebp + 8], ecx
cmp ecx, 0xfffcc979
jle 0x10093a69
cmp ecx, 0x4732b
jl 0x10093a23
mov eax, 0x50000
jmp 0x10093a69
xor eax, eax
cmp ecx, 0xfffcc979
jle 0x10093a3a
nop dword [eax]
inc eax
cmp dword [eax*4 + 0x101649d4], ecx
jl 0x10093a30
mov edi, dword [eax*4 + 0x101649d4]
mov ecx, edi
mov edx, dword [eax*4 + 0x101649d0]
sub ecx, edx
mov esi, dword [ebp + 8]
sub edi, dword [ebp + 8]
sub esi, edx
push ecx
lea ecx, [eax + 1]
imul edi, eax
imul esi, ecx
add esi, edi
push esi
call fcn.10098120
add esp, 8
add eax, 0xffff0000
push 0x4000
push eax
call fcn.10098310
mov ecx, 0x10000
add esp, 8
sub ecx, eax
mov eax, 0x64
imul ecx, ecx, 0x64
pop edi
pop esi
pop ebx
sar ecx, 0x10
cmp ecx, eax
cmovg ecx, eax
xor eax, eax
test ecx, ecx
cmovns eax, ecx
mov esp, ebp
pop ebp
ret 8