Function at 0x449484
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, ecx
shr ebx, 0x10
and ecx, 0xffff
cmp edi, 1
je 0x4495c4
test esi, esi
je 0x4496c6
cmp edi, 0xf
jbe 0x449590
cmp edi, 0x15af
jbe 0x4495f3
mov ebp, 0xfff1
sub edi, 0x15b0
lea eax, [esi + 0x15b0]
nop
movzx edx, byte [esi]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 1]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 2]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 3]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 4]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 5]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 6]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 7]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 8]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 9]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xa]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xb]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xc]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xd]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xe]
add ecx, edx
add ebx, ecx
movzx edx, byte [esi + 0xf]
add ecx, edx
add ebx, ecx
add esi, 0x10
cmp esi, eax
jne 0x4494d8
mov eax, ecx
xor edx, edx
div ebp
mov ecx, edx
mov eax, ebx
xor edx, edx
div ebp
mov ebx, edx
cmp edi, 0x15af
ja 0x4494ca
test edi, edi
jne 0x4495ea
mov edx, ebx
shl edx, 0x10
or edx, ecx
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
je 0x44959f
movzx eax, byte [esi]
add ecx, eax
inc esi
add ebx, ecx
dec edi
jne 0x449594
cmp ecx, 0xfff0
jbe 0x4495ad
sub ecx, 0xfff1
mov esi, 0xfff1
mov eax, ebx
xor edx, edx
div esi
shl edx, 0x10
or edx, ecx
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [esi]
add ecx, eax
cmp ecx, 0xfff0
jbe 0x4495d7
sub ecx, 0xfff1
lea edx, [ecx + ebx]
cmp edx, 0xfff0
jbe 0x4495b8
sub edx, 0xfff1
jmp 0x4495b8
cmp edi, 0xf
jbe 0x449694
mov edx, edi
mov eax, esi
sub edx, 0x10
movzx ebp, byte [eax]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 1]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 2]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 3]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 4]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 5]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 6]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 7]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 8]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 9]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xa]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xb]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xc]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xd]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xe]
add ecx, ebp
add ebx, ecx
movzx ebp, byte [eax + 0xf]
add ecx, ebp
add ebx, ecx
add eax, 0x10
cmp edx, 0xf
ja 0x4495f7
lea eax, [edi - 0x10]
and eax, 0xfffffff0
lea esi, [esi + eax + 0x10]
and edi, 0xf
je 0x4496a5
dec edi
xor eax, eax
inc edi
movzx edx, byte [esi + eax]
add ecx, edx
add ebx, ecx
inc eax
cmp eax, edi
jne 0x449698
mov esi, 0xfff1
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov eax, ebx
xor edx, edx
div esi
mov ebx, edx
mov edx, ebx
shl edx, 0x10
or edx, ecx
jmp 0x449589
mov edx, 1
jmp 0x4495bd