Function at 0x5acb80
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov edx, dword [ebp + 8]
mov eax, ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [esp + 0x20]
push esi
push edi
push dword [ebp + 0xc]
cmp word [ebx + 2], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
je 0x5acf17
call fcn.005ac8d0
mov ecx, eax
add esp, 4
cmp ecx, 0xffffff88
ja 0x5acf0e
movzx esi, word [ebx]
or edi, 0xffffffff
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov ebx, dword [esp + 0x28]
and ecx, 0x1f
shl ebx, cl
add eax, esi
mov ecx, edi
shr ebx, 1
sub ecx, esi
mov dword [esp + 0x2c], eax
and ecx, 0x1f
shr ebx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], ebx
call fcn.005a8f00
mov eax, dword [esp + 0x2c]
sub edi, esi
mov edx, dword [esp + 0x28]
mov ecx, eax
and ecx, 0x1f
and edi, 0x1f
shl edx, cl
add eax, esi
shr edx, 1
mov ecx, edi
shr edx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], eax
call fcn.005a8f00
lea ecx, [esp + 0x28]
call fcn.005a8f00
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x5acd6a
jmp 0x5acc40
mov eax, dword [esp + 0x10]
add eax, 0xfc
cmp esi, eax
jae 0x5acd6a
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x28]
mov edx, edi
mov eax, dword [eax + ebx*4 + 4]
mov esi, eax
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
and ecx, 0x1f
shr esi, 0x18
shl edx, cl
add ebx, esi
mov ecx, esi
mov esi, dword [esp + 0xc]
neg ecx
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, ebx
mov byte [esi], al
and ecx, 0x1f
mov eax, dword [esp + 0x18]
shl edi, cl
mov eax, dword [edx + eax*4 + 4]
mov edx, eax
shr edx, 0x18
mov ecx, edx
add ebx, edx
neg ecx
mov dword [esp + 0x2c], ebx
and ecx, 0x1f
shr edi, cl
movzx ecx, ax
add ecx, edi
shr eax, 0x10
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x28]
mov byte [esi + 1], al
call fcn.005a8f00
test eax, eax
jg 0x5acd63
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, edi
mov eax, dword [ecx + eax*4 + 4]
mov esi, eax
mov ecx, ebx
shr esi, 0x18
and ecx, 0x1f
add ebx, esi
shl edx, cl
mov ecx, esi
mov esi, dword [esp + 0xc]
neg ecx
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 0x10]
mov byte [esi + 2], al
mov eax, dword [esp + 0x18]
mov eax, dword [ecx + eax*4 + 4]
mov edx, eax
mov ecx, ebx
shr edx, 0x18
and ecx, 0x1f
add ebx, edx
shl edi, cl
mov ecx, edx
neg ecx
mov dword [esp + 0x2c], ebx
and ecx, 0x1f
shr edi, cl
movzx ecx, ax
add ecx, edi
shr eax, 0x10
mov byte [esi + 3], al
add esi, 4
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0xc], esi
call fcn.005a8f00
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5acc40
jmp 0x5acd6a
add esi, 2
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp esi, eax
ja 0x5acf09
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x5acd90
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov esi, eax
shl edx, cl
shr esi, 0x18
mov ecx, esi
add ebx, esi
neg ecx
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
cmp ebx, 0x20
ja 0x5ace28
mov esi, dword [esp + 0x34]
lea eax, [esi + 4]
mov dword [esp + 0x24], eax
cmp edi, eax
jb 0x5acdef
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5ace47
cmp edi, esi
je 0x5ace43
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5ace14
mov edx, edi
mov dword [esp + 0x20], 1
sub edx, esi
imul eax, edx, 0xfffffff8
sub edi, edx
mov edx, dword [edi]
add ebx, eax
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x20], 3
jne 0x5ace47
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x10]
mov al, byte [edx + eax*4 + 6]
mov byte [ecx], al
inc ecx
sub ecx, dword [esp + 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
ja 0x5acf09
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov esi, eax
shl edx, cl
shr esi, 0x18
mov ecx, esi
add ebx, esi
neg ecx
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
cmp ebx, 0x20
ja 0x5aceeb
cmp edi, dword [esp + 0x24]
jb 0x5aceae
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5acef8
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x5acef4
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5aced7
mov edx, edi
mov dword [esp + 0x20], 1
sub edx, esi
imul eax, edx, 0xfffffff8
sub edi, edx
mov edx, dword [edi]
add ebx, eax
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x20], 3
jne 0x5acef8
mov eax, dword [esp + 0x14]
jmp 0x5ace2c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
jbe 0x5acd90
mov ecx, 0xffffffba
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.005ac8d0
mov ecx, eax
add esp, 4
cmp ecx, 0xffffff88
ja 0x5acf0e
movzx esi, word [ebx]
or edi, 0xffffffff
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov ebx, dword [esp + 0x28]
and ecx, 0x1f
shl ebx, cl
add eax, esi
mov ecx, edi
shr ebx, 1
sub ecx, esi
mov dword [esp + 0x2c], eax
and ecx, 0x1f
shr ebx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], ebx
call fcn.005a8f00
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov edx, dword [esp + 0x28]
and ecx, 0x1f
shl edx, cl
add eax, esi
mov ecx, edi
shr edx, 1
sub ecx, esi
mov dword [esp + 0x2c], eax
and ecx, 0x1f
shr edx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], edx
call fcn.005a8f00
lea ecx, [esp + 0x28]
call fcn.005a8f00
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x5ad0d6
jmp 0x5acfa0
mov eax, dword [esp + 0x10]
add eax, 0xfc
cmp esi, eax
jae 0x5ad0d6
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x28]
mov edx, edi
mov eax, dword [eax + ebx*4 + 4]
mov esi, eax
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
and ecx, 0x1f
shr esi, 0x18
shl edx, cl
add ebx, esi
or ecx, 0xffffffff
shr edx, 1
sub ecx, esi
mov esi, dword [esp + 0xc]
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov byte [esi], al
mov eax, dword [esp + 0x14]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov edx, eax
shl edi, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr edi, 1
and ecx, 0x1f
add ebx, edx
shr edi, cl
movzx ecx, ax
add ecx, edi
shr eax, 0x10
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [esi + 1], al
call fcn.005a8f00
test eax, eax
jg 0x5ad0cf
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, edi
mov eax, dword [ecx + eax*4 + 4]
mov esi, eax
mov ecx, ebx
shr esi, 0x18
and ecx, 0x1f
add ebx, esi
shl edx, cl
or ecx, 0xffffffff
sub ecx, esi
shr edx, 1
mov esi, dword [esp + 0xc]
and ecx, 0x1f
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov byte [esi + 2], al
mov eax, dword [esp + 0x14]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov edx, eax
shl edi, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr edi, 1
and ecx, 0x1f
add ebx, edx
shr edi, cl
movzx ecx, ax
add ecx, edi
shr eax, 0x10
mov byte [esi + 3], al
add esi, 4
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xc], esi
call fcn.005a8f00
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x5acfa0
jmp 0x5ad0d6
add esi, 2
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp esi, eax
ja 0x5acf09
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x5ad100
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov esi, eax
shl edx, cl
or ecx, 0xffffffff
shr esi, 0x18
sub ecx, esi
shr edx, 1
and ecx, 0x1f
add ebx, esi
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
cmp ebx, 0x20
ja 0x5ad19b
mov esi, dword [esp + 0x34]
lea eax, [esi + 4]
mov dword [esp + 0x24], eax
cmp edi, eax
jb 0x5ad162
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5ad1ba
cmp edi, esi
je 0x5ad1b6
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5ad187
mov edx, edi
mov dword [esp + 0x20], 1
sub edx, esi
imul eax, edx, 0xfffffff8
sub edi, edx
mov edx, dword [edi]
add ebx, eax
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x20], 3
jne 0x5ad1ba
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
mov al, byte [edx + eax*4 + 6]
mov byte [ecx], al
inc ecx
sub ecx, dword [esp + 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
ja 0x5acf09
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, ebx
and ecx, 0x1f
mov esi, eax
shl edx, cl
or ecx, 0xffffffff
shr esi, 0x18
sub ecx, esi
shr edx, 1
and ecx, 0x1f
add ebx, esi
shr edx, cl
movzx ecx, ax
add ecx, edx
shr eax, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
cmp ebx, 0x20
ja 0x5ad261
cmp edi, dword [esp + 0x24]
jb 0x5ad224
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5ad26e
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x5ad26a
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5ad24d
mov edx, edi
mov dword [esp + 0x20], 1
sub edx, esi
imul eax, edx, 0xfffffff8
sub edi, edx
mov edx, dword [edi]
add ebx, eax
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x20], 3
jne 0x5ad26e
mov eax, dword [esp + 0x18]
jmp 0x5ad19f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
jbe 0x5ad100
pop edi
mov ecx, 0xffffffba
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret