Function at 0x5e7ae0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov ebx, ebp
shr ebx, 0x10
mov dword [esp + 0x30], ebx
and ebp, 0xffff
cmp dword [esp + 0x58], 1
je 0x5e7d47
test edi, edi
je 0x5e7f4d
cmp dword [esp + 0x58], 0xf
ja 0x5e7b7a
mov edx, dword [esp + 0x58]
test edx, edx
je 0x5e7b3b
mov edx, dword [esp + 0x58]
add edx, edi
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov cl, byte [edi]
add ebp, ecx
inc edi
add eax, ebp
cmp edi, edx
jne 0x5e7b2a
mov dword [esp + 0x30], eax
cmp ebp, 0xfff0
jbe 0x5e7b49
sub ebp, 0xfff1
mov edx, 0x80078071
mov eax, dword [esp + 0x30]
mul edx
shr edx, 0xf
mov ecx, edx
shl ecx, 4
mov eax, edx
shl eax, 0x10
sub eax, ecx
add eax, edx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov eax, ebx
shl eax, 0x10
or eax, ebp
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x58], 0x15af
jbe 0x5e7d7a
sub dword [esp + 0x58], 0x15b0
lea eax, [edi + 0x15b0]
mov dword [esp + 0x34], eax
mov eax, edi
lea esi, [esi]
mov dl, byte [eax]
and edx, 0xff
add ebp, edx
mov dword [esp + 4], ebp
mov bl, byte [eax + 1]
and ebx, 0xff
mov edi, ebx
add edi, ebp
mov dword [esp + 8], edi
mov dl, byte [eax + 2]
and edx, 0xff
mov edi, dword [esp + 8]
add edi, edx
mov dword [esp + 0xc], edi
mov bl, byte [eax + 3]
and ebx, 0xff
mov edi, dword [esp + 0xc]
add edi, ebx
mov dword [esp + 0x10], edi
mov dl, byte [eax + 4]
and edx, 0xff
mov edi, dword [esp + 0x10]
add edi, edx
mov dword [esp + 0x14], edi
mov bl, byte [eax + 5]
and ebx, 0xff
mov edi, dword [esp + 0x14]
add edi, ebx
mov dword [esp + 0x18], edi
mov dl, byte [eax + 6]
and edx, 0xff
mov edi, dword [esp + 0x18]
add edi, edx
mov dword [esp + 0x1c], edi
mov bl, byte [eax + 7]
and ebx, 0xff
mov edi, dword [esp + 0x1c]
add edi, ebx
mov dword [esp + 0x20], edi
mov dl, byte [eax + 8]
and edx, 0xff
mov edi, dword [esp + 0x20]
add edi, edx
mov dword [esp + 0x24], edi
mov bl, byte [eax + 9]
and ebx, 0xff
mov edi, dword [esp + 0x24]
add edi, ebx
mov dword [esp + 0x28], edi
mov dl, byte [eax + 0xa]
and edx, 0xff
mov edi, dword [esp + 0x28]
add edi, edx
mov dword [esp + 0x2c], edi
mov bl, byte [eax + 0xb]
and ebx, 0xff
mov esi, ebx
add esi, edi
xor ebx, ebx
mov bl, byte [eax + 0xc]
add ebx, esi
mov dword [esp + 0x38], ebx
xor ecx, ecx
mov cl, byte [eax + 0xd]
add ecx, ebx
xor edx, edx
mov dl, byte [eax + 0xe]
add edx, ecx
mov bl, byte [eax + 0xf]
and ebx, 0xff
mov ebp, ebx
add ebp, edx
mov edi, dword [esp + 8]
add edi, dword [esp + 4]
add edi, dword [esp + 0xc]
add edi, dword [esp + 0x10]
add edi, dword [esp + 0x14]
add edi, dword [esp + 0x18]
add edi, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
add edi, dword [esp + 0x24]
add edi, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
add edi, esi
add edi, dword [esp + 0x38]
add ecx, edi
add edx, ecx
add edx, ebp
add dword [esp + 0x30], edx
add eax, 0x10
cmp eax, dword [esp + 0x34]
jne 0x5e7ba0
mov edi, eax
mov eax, 0x80078071
mul ebp
shr edx, 0xf
mov ecx, edx
shl ecx, 4
mov eax, edx
shl eax, 0x10
sub eax, ecx
add eax, edx
sub ebp, eax
mov eax, 0x80078071
mul dword [esp + 0x30]
shr edx, 0xf
mov ecx, edx
shl ecx, 4
mov eax, edx
shl eax, 0x10
sub eax, ecx
add eax, edx
sub dword [esp + 0x30], eax
cmp dword [esp + 0x58], 0x15af
ja 0x5e7b88
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x5e7d6f
mov eax, dword [esp + 0x30]
shl eax, 0x10
or eax, ebp
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
mov al, byte [edi]
add ebp, eax
cmp ebp, 0xfff0
jbe 0x5e7d5b
sub ebp, 0xfff1
mov eax, dword [esp + 0x30]
add eax, ebp
cmp eax, 0xfff0
jbe 0x5e7d3a
sub eax, 0xfff1
jmp 0x5e7d3a
cmp dword [esp + 0x58], 0xf
jbe 0x5e7f57
mov edx, edi
mov ebx, dword [esp + 0x58]
sub ebx, 0x10
shr ebx, 4
mov dword [esp + 0x34], ebx
mov eax, ebx
shl eax, 4
lea eax, [edi + eax + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edi
mov al, byte [edx]
and eax, 0xff
mov esi, eax
add esi, ebp
mov bl, byte [edx + 1]
and ebx, 0xff
mov edi, ebx
add edi, esi
xor ebx, ebx
mov bl, byte [edx + 2]
add ebx, edi
mov dword [esp], ebx
xor ecx, ecx
mov cl, byte [edx + 3]
add ecx, ebx
xor eax, eax
mov al, byte [edx + 4]
add eax, ecx
mov bl, byte [edx + 5]
and ebx, 0xff
mov ebp, ebx
add ebp, eax
mov dword [esp + 4], ebp
mov bl, byte [edx + 6]
and ebx, 0xff
mov ebp, dword [esp + 4]
add ebp, ebx
mov dword [esp + 8], ebp
mov bl, byte [edx + 7]
and ebx, 0xff
mov ebp, dword [esp + 8]
add ebp, ebx
mov dword [esp + 0xc], ebp
mov bl, byte [edx + 8]
and ebx, 0xff
mov ebp, dword [esp + 0xc]
add ebp, ebx
mov dword [esp + 0x10], ebp
mov bl, byte [edx + 9]
and ebx, 0xff
mov ebp, dword [esp + 0x10]
add ebp, ebx
mov dword [esp + 0x14], ebp
mov bl, byte [edx + 0xa]
and ebx, 0xff
mov ebp, dword [esp + 0x14]
add ebp, ebx
mov dword [esp + 0x18], ebp
mov bl, byte [edx + 0xb]
and ebx, 0xff
mov ebp, dword [esp + 0x18]
add ebp, ebx
mov dword [esp + 0x1c], ebp
mov bl, byte [edx + 0xc]
and ebx, 0xff
mov ebp, dword [esp + 0x1c]
add ebp, ebx
mov dword [esp + 0x20], ebp
mov bl, byte [edx + 0xd]
and ebx, 0xff
mov ebp, dword [esp + 0x20]
add ebp, ebx
mov dword [esp + 0x24], ebp
mov bl, byte [edx + 0xe]
and ebx, 0xff
mov ebp, dword [esp + 0x24]
add ebp, ebx
mov dword [esp + 0x28], ebp
mov bl, byte [edx + 0xf]
and ebx, 0xff
mov ebp, dword [esp + 0x28]
add ebp, ebx
add esi, edi
mov ebx, dword [esp]
add ebx, esi
add ecx, ebx
add eax, ecx
add eax, dword [esp + 4]
add eax, dword [esp + 8]
add eax, dword [esp + 0xc]
add eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
add eax, ebp
add dword [esp + 0x30], eax
add edx, 0x10
cmp edx, dword [esp + 0x2c]
jne 0x5e7d9b
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
and edx, 0xf
mov eax, dword [esp + 0x34]
inc eax
shl eax, 4
add edi, eax
lea eax, [edx - 1]
test edx, edx
je 0x5e7f11
lea edx, [edi + eax + 1]
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov cl, byte [edi]
add ebp, ecx
inc edi
add eax, ebp
cmp edi, edx
jne 0x5e7f00
mov dword [esp + 0x30], eax
mov ecx, 0x80078071
mov eax, ebp
mul ecx
shr edx, 0xf
mov ebx, edx
shl ebx, 4
mov eax, edx
shl eax, 0x10
sub eax, ebx
add eax, edx
sub ebp, eax
mov eax, dword [esp + 0x30]
mul ecx
shr edx, 0xf
mov ecx, edx
shl ecx, 4
mov eax, edx
shl eax, 0x10
sub eax, ecx
add eax, edx
sub dword [esp + 0x30], eax
jmp 0x5e7d36
mov eax, 1
jmp 0x5e7b72
mov eax, dword [esp + 0x58]
dec eax
jmp 0x5e7ef8