Function at 0x497bb0
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 0x497bfa
movzx eax, byte [eax]
add ebp, eax
cmp ebp, 0xfff1
jb 0x497bdf
add ebp, 0xffff000f
add ecx, ebp
cmp ecx, 0xfff1
jb 0x497bef
add ecx, 0xffff000f
shl ecx, 0x10
or ebp, ecx
mov eax, ebp
pop ecx
pop ebp
pop edi
ret
test eax, eax
je 0x497e45
cmp edi, 0x10
jae 0x497c56
lea edx, [edi - 1]
test edi, edi
je 0x497c20
movzx edi, byte [eax]
add ebp, edi
add ecx, ebp
add edx, 0xffffffff
add eax, 1
cmp edx, 0xffffffff
jne 0x497c0e
cmp ebp, 0xfff1
jb 0x497c2e
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 0x497d48
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 0x497c72
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 0x497c67
mov eax, esi
mov esi, dword [esp]
test edi, edi
je 0x497e3a
cmp edi, 0x10
jb 0x497de7
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 0x497d59
lea edx, [edi - 1]
test edi, edi
je 0x497e00
movzx edi, byte [eax]
add ebp, edi
add ecx, ebp
add edx, 0xffffffff
add eax, 1
cmp edx, 0xffffffff
jne 0x497dee
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