Function at 0x100857c0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x14]
push ebx
push ebp
push esi
lea ebp, [ecx + eax*2]
xor ebx, ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
push edi
test eax, eax
jne 0x100859a5
cmp ecx, ebp
jae 0x10086060
mov edi, dword [esp + 0x14]
nop dword [eax]
movsx eax, word [ecx]
movsx edx, word [edi]
imul edx, eax
movsx eax, word [ecx + 2]
add ebx, edx
movsx edx, word [edi + 2]
imul edx, eax
movsx eax, word [ecx + 4]
add ebx, edx
movsx edx, word [edi + 4]
imul edx, eax
movsx eax, word [ecx + 6]
add ebx, edx
movsx edx, word [edi + 6]
imul edx, eax
movsx eax, word [ecx + 8]
add ebx, edx
movsx edx, word [edi + 8]
imul edx, eax
movsx eax, word [ecx + 0xa]
add ebx, edx
movsx edx, word [edi + 0xa]
imul edx, eax
movsx eax, word [ecx + 0xc]
add ebx, edx
movsx edx, word [edi + 0xc]
imul edx, eax
movsx eax, word [ecx + 0xe]
add ebx, edx
movsx edx, word [edi + 0xe]
imul edx, eax
movsx eax, word [ecx + 0x10]
add ebx, edx
movsx edx, word [edi + 0x10]
imul edx, eax
movsx eax, word [ecx + 0x12]
add ebx, edx
movsx edx, word [edi + 0x12]
imul edx, eax
movsx eax, word [ecx + 0x14]
add ebx, edx
movsx edx, word [edi + 0x14]
imul edx, eax
movsx eax, word [ecx + 0x16]
add ebx, edx
movsx edx, word [edi + 0x16]
imul edx, eax
movsx eax, word [ecx + 0x18]
add ebx, edx
movsx edx, word [edi + 0x18]
imul edx, eax
movsx eax, word [ecx + 0x1a]
add ebx, edx
movsx edx, word [edi + 0x1a]
imul edx, eax
movsx eax, word [ecx + 0x1c]
add ebx, edx
movsx edx, word [edi + 0x1c]
imul edx, eax
movsx eax, word [ecx + 0x1e]
add ebx, edx
movsx edx, word [edi + 0x1e]
imul edx, eax
movsx eax, word [ecx + 0x20]
add ebx, edx
movsx edx, word [edi + 0x20]
imul edx, eax
movsx eax, word [ecx + 0x22]
add ebx, edx
movsx edx, word [edi + 0x22]
imul edx, eax
movsx eax, word [ecx + 0x24]
add ebx, edx
movsx edx, word [edi + 0x24]
imul edx, eax
movsx eax, word [ecx + 0x26]
add ebx, edx
movsx edx, word [edi + 0x26]
imul edx, eax
add ebx, edx
movsx edx, word [edi + 0x28]
movsx eax, word [ecx + 0x28]
lea edi, [edi + 0x40]
imul edx, eax
movsx eax, word [ecx + 0x2a]
movsx esi, word [edi - 2]
add ebx, edx
movsx edx, word [edi - 0x16]
imul edx, eax
movsx eax, word [ecx + 0x2c]
add ebx, edx
movsx edx, word [edi - 0x14]
imul edx, eax
movsx eax, word [ecx + 0x2e]
add ebx, edx
movsx edx, word [edi - 0x12]
imul edx, eax
movsx eax, word [ecx + 0x30]
add ebx, edx
movsx edx, word [edi - 0x10]
imul edx, eax
movsx eax, word [ecx + 0x32]
add ebx, edx
movsx edx, word [edi - 0xe]
imul edx, eax
movsx eax, word [ecx + 0x34]
add ebx, edx
movsx edx, word [edi - 0xc]
imul edx, eax
movsx eax, word [ecx + 0x36]
add ebx, edx
movsx edx, word [edi - 0xa]
imul edx, eax
movsx eax, word [ecx + 0x38]
add ebx, edx
movsx edx, word [edi - 8]
imul edx, eax
movsx eax, word [ecx + 0x3a]
add ebx, edx
movsx edx, word [edi - 6]
imul edx, eax
movsx eax, word [ecx + 0x3c]
add ebx, edx
movsx edx, word [edi - 4]
imul edx, eax
add ebx, edx
movsx edx, word [ecx + 0x3e]
imul esi, edx
add ecx, 0x40
add ebx, esi
cmp ecx, ebp
jb 0x100857f0
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0x14
jle 0x10085d39
cmp ecx, ebp
jae 0x10086060
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
nop dword [eax + eax]
movzx esi, word [ecx]
movsx edx, word [ebp]
movsx eax, si
imul edx, eax
movzx eax, word [edi]
add ax, si
mov word [ecx], ax
movzx esi, word [ecx + 2]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 2]
imul edx, eax
movzx eax, word [edi + 2]
add ax, si
mov word [ecx + 2], ax
movzx esi, word [ecx + 4]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 4]
imul edx, eax
movzx eax, word [edi + 4]
add ax, si
mov word [ecx + 4], ax
movzx esi, word [ecx + 6]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 6]
imul edx, eax
movzx eax, word [edi + 6]
add ax, si
mov word [ecx + 6], ax
movzx esi, word [ecx + 8]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 8]
imul edx, eax
movzx eax, word [edi + 8]
add ax, si
mov word [ecx + 8], ax
movzx esi, word [ecx + 0xa]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0xa]
imul edx, eax
movzx eax, word [edi + 0xa]
add ax, si
mov word [ecx + 0xa], ax
movzx esi, word [ecx + 0xc]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0xc]
imul edx, eax
movzx eax, word [edi + 0xc]
add ax, si
mov word [ecx + 0xc], ax
movzx esi, word [ecx + 0xe]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0xe]
imul edx, eax
movzx eax, word [edi + 0xe]
add ax, si
mov word [ecx + 0xe], ax
movzx esi, word [ecx + 0x10]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x10]
imul edx, eax
movzx eax, word [edi + 0x10]
add ax, si
mov word [ecx + 0x10], ax
movzx esi, word [ecx + 0x12]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x12]
imul edx, eax
movzx eax, word [edi + 0x12]
add ebx, edx
add ax, si
mov word [ecx + 0x12], ax
movzx esi, word [ecx + 0x14]
movsx edx, word [ebp + 0x14]
movsx eax, si
imul edx, eax
movzx eax, word [edi + 0x14]
add ax, si
mov word [ecx + 0x14], ax
movzx esi, word [ecx + 0x16]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x16]
imul edx, eax
movzx eax, word [edi + 0x16]
add ax, si
mov word [ecx + 0x16], ax
movzx esi, word [ecx + 0x18]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x18]
imul edx, eax
movzx eax, word [edi + 0x18]
add ax, si
mov word [ecx + 0x18], ax
movzx esi, word [ecx + 0x1a]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x1a]
imul edx, eax
movzx eax, word [edi + 0x1a]
add ax, si
mov word [ecx + 0x1a], ax
movzx esi, word [ecx + 0x1c]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x1c]
imul edx, eax
movzx eax, word [edi + 0x1c]
add ax, si
mov word [ecx + 0x1c], ax
movzx esi, word [ecx + 0x1e]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x1e]
imul edx, eax
movzx eax, word [edi + 0x1e]
add ax, si
mov word [ecx + 0x1e], ax
movzx esi, word [ecx + 0x20]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x20]
imul edx, eax
movzx eax, word [edi + 0x20]
add ax, si
mov word [ecx + 0x20], ax
movzx esi, word [ecx + 0x22]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x22]
imul edx, eax
movzx eax, word [edi + 0x22]
add ax, si
mov word [ecx + 0x22], ax
movzx esi, word [ecx + 0x24]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x24]
imul edx, eax
movzx eax, word [edi + 0x24]
add ax, si
mov word [ecx + 0x24], ax
movzx esi, word [ecx + 0x26]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x26]
imul edx, eax
movzx eax, word [edi + 0x26]
add ebx, edx
add ax, si
mov word [ecx + 0x26], ax
movzx esi, word [ecx + 0x28]
movsx edx, word [ebp + 0x28]
movsx eax, si
imul edx, eax
movzx eax, word [edi + 0x28]
add ax, si
mov word [ecx + 0x28], ax
movzx esi, word [ecx + 0x2a]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x2a]
imul edx, eax
movzx eax, word [edi + 0x2a]
add ax, si
mov word [ecx + 0x2a], ax
movzx esi, word [ecx + 0x2c]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x2c]
imul edx, eax
movzx eax, word [edi + 0x2c]
add ax, si
mov word [ecx + 0x2c], ax
movzx esi, word [ecx + 0x2e]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x2e]
imul edx, eax
movzx eax, word [edi + 0x2e]
add ax, si
mov word [ecx + 0x2e], ax
movzx esi, word [ecx + 0x30]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x30]
imul edx, eax
movzx eax, word [edi + 0x30]
add ax, si
mov word [ecx + 0x30], ax
movzx esi, word [ecx + 0x32]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x32]
imul edx, eax
movzx eax, word [edi + 0x32]
add ax, si
mov word [ecx + 0x32], ax
movzx esi, word [ecx + 0x34]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x34]
imul edx, eax
movzx eax, word [edi + 0x34]
add ax, si
mov word [ecx + 0x34], ax
movzx esi, word [ecx + 0x36]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x36]
imul edx, eax
movzx eax, word [edi + 0x36]
add ax, si
mov word [ecx + 0x36], ax
movzx esi, word [ecx + 0x38]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x38]
imul edx, eax
movzx eax, word [edi + 0x38]
add ax, si
mov word [ecx + 0x38], ax
movzx esi, word [ecx + 0x3a]
add ebx, edx
movsx eax, si
movsx edx, word [ebp + 0x3a]
imul edx, eax
movzx eax, word [edi + 0x3a]
add ebx, edx
add ax, si
mov word [ecx + 0x3a], ax
movzx esi, word [ecx + 0x3c]
movsx edx, word [ebp + 0x3c]
movsx eax, si
imul edx, eax
lea ebp, [ebp + 0x40]
movzx eax, word [edi + 0x3c]
lea edi, [edi + 0x40]
add ax, si
mov word [ecx + 0x3c], ax
movzx esi, word [ecx + 0x3e]
add ebx, edx
movsx eax, si
movsx edx, word [ebp - 2]
imul edx, eax
movzx eax, word [edi - 2]
add ax, si
mov word [ecx + 0x3e], ax
add ecx, 0x40
add ebx, edx
cmp ecx, dword [esp + 0x18]
jb 0x100859c0
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0x14
cmp ecx, ebp
jae 0x10086060
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
nop dword [eax]
movzx esi, word [ecx]
movsx edx, word [ebp]
movsx eax, si
sub si, word [edi]
mov word [ecx], si
movzx esi, word [ecx + 2]
imul edx, eax
movsx eax, si
sub si, word [edi + 2]
add ebx, edx
movsx edx, word [ebp + 2]
mov word [ecx + 2], si
movzx esi, word [ecx + 4]
imul edx, eax
movsx eax, si
sub si, word [edi + 4]
add ebx, edx
movsx edx, word [ebp + 4]
mov word [ecx + 4], si
movzx esi, word [ecx + 6]
imul edx, eax
movsx eax, si
sub si, word [edi + 6]
add ebx, edx
movsx edx, word [ebp + 6]
mov word [ecx + 6], si
movzx esi, word [ecx + 8]
imul edx, eax
movsx eax, si
sub si, word [edi + 8]
add ebx, edx
movsx edx, word [ebp + 8]
imul edx, eax
mov word [ecx + 8], si
movzx esi, word [ecx + 0xa]
movsx eax, si
sub si, word [edi + 0xa]
add ebx, edx
movsx edx, word [ebp + 0xa]
imul edx, eax
mov word [ecx + 0xa], si
movzx esi, word [ecx + 0xc]
movsx eax, si
sub si, word [edi + 0xc]
add ebx, edx
movsx edx, word [ebp + 0xc]
imul edx, eax
mov word [ecx + 0xc], si
movzx esi, word [ecx + 0xe]
movsx eax, si
sub si, word [edi + 0xe]
add ebx, edx
movsx edx, word [ebp + 0xe]
imul edx, eax
mov word [ecx + 0xe], si
movzx esi, word [ecx + 0x10]
movsx eax, si
sub si, word [edi + 0x10]
add ebx, edx
movsx edx, word [ebp + 0x10]
imul edx, eax
mov word [ecx + 0x10], si
movzx esi, word [ecx + 0x12]
movsx eax, si
sub si, word [edi + 0x12]
add ebx, edx
movsx edx, word [ebp + 0x12]
imul edx, eax
mov word [ecx + 0x12], si
movzx esi, word [ecx + 0x14]
movsx eax, si
sub si, word [edi + 0x14]
add ebx, edx
movsx edx, word [ebp + 0x14]
imul edx, eax
mov word [ecx + 0x14], si
movzx esi, word [ecx + 0x16]
movsx eax, si
add ebx, edx
movsx edx, word [ebp + 0x16]
imul edx, eax
sub si, word [edi + 0x16]
add ebx, edx
mov word [ecx + 0x16], si
movzx esi, word [ecx + 0x18]
movsx edx, word [ebp + 0x18]
movsx eax, si
sub si, word [edi + 0x18]
mov word [ecx + 0x18], si
movzx esi, word [ecx + 0x1a]
imul edx, eax
movsx eax, si
sub si, word [edi + 0x1a]
add ebx, edx
movsx edx, word [ebp + 0x1a]
mov word [ecx + 0x1a], si
movzx esi, word [ecx + 0x1c]
imul edx, eax
movsx eax, si
sub si, word [edi + 0x1c]
add ebx, edx
movsx edx, word [ebp + 0x1c]
mov word [ecx + 0x1c], si
movzx esi, word [ecx + 0x1e]
imul edx, eax
movsx eax, si
sub si, word [edi + 0x1e]
add ebx, edx
movsx edx, word [ebp + 0x1e]
mov word [ecx + 0x1e], si
movzx esi, word [ecx + 0x20]
imul edx, eax
movsx eax, si
sub si, word [edi + 0x20]
add ebx, edx
movsx edx, word [ebp + 0x20]
mov word [ecx + 0x20], si
movzx esi, word [ecx + 0x22]
imul edx, eax
movsx eax, si
sub si, word [edi + 0x22]
add ebx, edx
movsx edx, word [ebp + 0x22]
imul edx, eax
mov word [ecx + 0x22], si
movzx esi, word [ecx + 0x24]
movsx eax, si
sub si, word [edi + 0x24]
add ebx, edx
movsx edx, word [ebp + 0x24]
imul edx, eax
mov word [ecx + 0x24], si
movzx esi, word [ecx + 0x26]
movsx eax, si
sub si, word [edi + 0x26]
add ebx, edx
movsx edx, word [ebp + 0x26]
imul edx, eax
mov word [ecx + 0x26], si
movzx esi, word [ecx + 0x28]
movsx eax, si
sub si, word [edi + 0x28]
add ebx, edx
movsx edx, word [ebp + 0x28]
imul edx, eax
mov word [ecx + 0x28], si
movzx esi, word [ecx + 0x2a]
movsx eax, si
sub si, word [edi + 0x2a]
add ebx, edx
movsx edx, word [ebp + 0x2a]
imul edx, eax
mov word [ecx + 0x2a], si
movzx esi, word [ecx + 0x2c]
movsx eax, si
add ebx, edx
movsx edx, word [ebp + 0x2c]
imul edx, eax
add ebx, edx
sub si, word [edi + 0x2c]
mov word [ecx + 0x2c], si
movzx esi, word [ecx + 0x2e]
movsx edx, word [ebp + 0x2e]
lea ebp, [ebp + 0x40]
movsx eax, si
lea edi, [edi + 0x40]
sub si, word [edi - 0x12]
mov word [ecx + 0x2e], si
movzx esi, word [ecx + 0x30]
imul edx, eax
movsx eax, word [ebp - 0x10]
add ebx, edx
movsx edx, si
sub si, word [edi - 0x10]
mov word [ecx + 0x30], si
movzx esi, word [ecx + 0x32]
imul edx, eax
movsx eax, word [ebp - 0xe]
add ebx, edx
movsx edx, si
sub si, word [edi - 0xe]
mov word [ecx + 0x32], si
movzx esi, word [ecx + 0x34]
imul edx, eax
movsx eax, word [ebp - 0xc]
add ebx, edx
movsx edx, si
sub si, word [edi - 0xc]
imul edx, eax
mov word [ecx + 0x34], si
movzx esi, word [ecx + 0x36]
movsx eax, word [ebp - 0xa]
add ebx, edx
movsx edx, si
sub si, word [edi - 0xa]
imul edx, eax
mov word [ecx + 0x36], si
movzx esi, word [ecx + 0x38]
movsx eax, word [ebp - 8]
add ebx, edx
movsx edx, si
sub si, word [edi - 8]
imul edx, eax
mov word [ecx + 0x38], si
movzx esi, word [ecx + 0x3a]
movsx eax, word [ebp - 6]
add ebx, edx
movsx edx, si
sub si, word [edi - 6]
imul edx, eax
mov word [ecx + 0x3a], si
movzx esi, word [ecx + 0x3c]
movsx eax, word [ebp - 4]
add ebx, edx
movsx edx, si
sub si, word [edi - 4]
imul edx, eax
mov word [ecx + 0x3c], si
movzx esi, word [ecx + 0x3e]
movsx eax, word [ebp - 2]
add ebx, edx
movsx edx, si
sub si, word [edi - 2]
imul edx, eax
mov word [ecx + 0x3e], si
add ecx, 0x40
add ebx, edx
cmp ecx, dword [esp + 0x18]
jb 0x10085d50
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0x14