Function at 0x490df8
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push ebp
push esi
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, edx
shr ecx, 0x10
movzx ebp, dx
cmp edi, 1
jne 0x490e42
movzx eax, byte [eax]
add ebp, eax
cmp ebp, 0xfff1
jb 0x490e27
add ebp, 0xffff000f
add ecx, ebp
cmp ecx, 0xfff1
jb 0x490e37
add ecx, 0xffff000f
shl ecx, 0x10
or ebp, ecx
mov eax, ebp
pop ecx
pop ebp
pop edi
ret
test eax, eax
je 0x49108d
cmp edi, 0x10
jae 0x490e9e
lea edx, [edi - 1]
test edi, edi
je 0x490e68
movzx edi, byte [eax]
add ebp, edi
add ecx, ebp
add edx, 0xffffffff
add eax, 1
cmp edx, 0xffffffff
jne 0x490e56
cmp ebp, 0xfff1
jb 0x490e76
add ebp, 0xffff000f
mov eax, 0x80078071
mul ecx
shr edx, 0xf
mov edi, edx
shl edi, 0xc
sub edi, edx
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edx, edi
sub ecx, edx
shl ecx, 0x10
or ebp, ecx
mov eax, ebp
pop ecx
pop ebp
pop edi
ret
cmp edi, 0x15b0
jb 0x490f90
mov dword [esp], esi
mov esi, eax
add edi, 0xffffea50
mov edx, 0x15b
movzx eax, byte [esi]
add ebp, eax
movzx eax, byte [esi + 1]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 2]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 3]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 4]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 5]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 6]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 7]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 8]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 9]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xa]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xb]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xc]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xd]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xe]
add ecx, ebp
add ebp, eax
movzx eax, byte [esi + 0xf]
add ecx, ebp
add ebp, eax
add ecx, ebp
add esi, 0x10
add edx, 0xffffffff
jne 0x490eba
mov eax, 0x80078071
mul ebp
shr edx, 0xf
mov eax, edx
shl eax, 0xc
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add edx, eax
sub ebp, edx
mov eax, 0x80078071
mul ecx
shr edx, 0xf
mov eax, edx
shl eax, 0xc
sub eax, edx
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add edx, eax
sub ecx, edx
cmp edi, 0x15b0
jae 0x490eaf
mov eax, esi
mov esi, dword [esp]
test edi, edi
je 0x491082
cmp edi, 0x10
jb 0x49102f
movzx edx, byte [eax]
add edi, 0xfffffff0
add ebp, edx
movzx edx, byte [eax + 1]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 2]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 3]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 4]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 5]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 6]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 7]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 8]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 9]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xa]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xb]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xc]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xd]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xe]
add ecx, ebp
add ebp, edx
movzx edx, byte [eax + 0xf]
add ecx, ebp
add ebp, edx
add ecx, ebp
add eax, 0x10
cmp edi, 0x10
jae 0x490fa1
lea edx, [edi - 1]
test edi, edi
je 0x491048
movzx edi, byte [eax]
add ebp, edi
add ecx, ebp
add edx, 0xffffffff
add eax, 1
cmp edx, 0xffffffff
jne 0x491036
mov eax, 0x80078071
mul ebp
mov eax, 0x80078071
shr edx, 0xf
mov edi, edx
shl edi, 0xc
sub edi, edx
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edx, edi
sub ebp, edx
mul ecx
shr edx, 0xf
mov edi, edx
shl edi, 0xc
sub edi, edx
add edi, edi
add edi, edi
add edi, edi
add edi, edi
add edx, edi
sub ecx, edx
shl ecx, 0x10
or ebp, ecx
mov eax, ebp
pop ecx
pop ebp
pop edi
ret
mov eax, 1
pop ecx
pop ebp
pop edi
ret