Function at 0x45de1c
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 0x45df5c
test esi, esi
je 0x45e05e
cmp edi, 0xf
jbe 0x45df28
cmp edi, 0x15af
jbe 0x45df8b
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 0x45de70
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 0x45de62
test edi, edi
jne 0x45df82
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 0x45df37
movzx eax, byte [esi]
add ecx, eax
inc esi
add ebx, ecx
dec edi
jne 0x45df2c
cmp ecx, 0xfff0
jbe 0x45df45
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 0x45df6f
sub ecx, 0xfff1
lea edx, [ecx + ebx]
cmp edx, 0xfff0
jbe 0x45df50
sub edx, 0xfff1
jmp 0x45df50
cmp edi, 0xf
jbe 0x45e02c
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 0x45df8f
lea eax, [edi - 0x10]
and eax, 0xfffffff0
lea esi, [esi + eax + 0x10]
and edi, 0xf
je 0x45e03d
dec edi
xor eax, eax
inc edi
movzx edx, byte [esi + eax]
add ecx, edx
add ebx, ecx
inc eax
cmp eax, edi
jne 0x45e030
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 0x45df21
mov edx, 1
jmp 0x45df55