Function at 0x5e1c80
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 0x5e2017
call fcn.005e1630
mov ecx, eax
add esp, 4
cmp ecx, 0xffffff88
ja 0x5e200e
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.005e1730
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.005e1730
lea ecx, [esp + 0x28]
call fcn.005e1730
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x5e1e6a
jmp 0x5e1d40
mov eax, dword [esp + 0x10]
add eax, 0xfc
cmp esi, eax
jae 0x5e1e6a
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.005e1730
test eax, eax
jg 0x5e1e63
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.005e1730
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5e1d40
jmp 0x5e1e6a
add esi, 2
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp esi, eax
ja 0x5e2009
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x5e1e90
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 0x5e1f28
mov esi, dword [esp + 0x34]
lea eax, [esi + 4]
mov dword [esp + 0x24], eax
cmp edi, eax
jb 0x5e1eef
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5e1f47
cmp edi, esi
je 0x5e1f43
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5e1f14
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 0x5e1f47
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 0x5e2009
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 0x5e1feb
cmp edi, dword [esp + 0x24]
jb 0x5e1fae
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5e1ff8
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x5e1ff4
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5e1fd7
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 0x5e1ff8
mov eax, dword [esp + 0x14]
jmp 0x5e1f2c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
jbe 0x5e1e90
mov ecx, 0xffffffba
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.005e1630
mov ecx, eax
add esp, 4
cmp ecx, 0xffffff88
ja 0x5e200e
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.005e1730
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.005e1730
lea ecx, [esp + 0x28]
call fcn.005e1730
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x5e21d6
jmp 0x5e20a0
mov eax, dword [esp + 0x10]
add eax, 0xfc
cmp esi, eax
jae 0x5e21d6
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.005e1730
test eax, eax
jg 0x5e21cf
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.005e1730
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x5e20a0
jmp 0x5e21d6
add esi, 2
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp esi, eax
ja 0x5e2009
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x5e2200
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 0x5e229b
mov esi, dword [esp + 0x34]
lea eax, [esi + 4]
mov dword [esp + 0x24], eax
cmp edi, eax
jb 0x5e2262
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5e22ba
cmp edi, esi
je 0x5e22b6
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5e2287
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 0x5e22ba
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 0x5e2009
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 0x5e2361
cmp edi, dword [esp + 0x24]
jb 0x5e2324
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov edx, dword [edi]
mov dword [esp + 0x1c], edx
jmp 0x5e236e
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x5e236a
mov edx, ebx
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, edi
sub eax, edx
cmp eax, esi
jae 0x5e234d
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 0x5e236e
mov eax, dword [esp + 0x18]
jmp 0x5e229f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add eax, 0xfd
cmp ecx, eax
jbe 0x5e2200
pop edi
mov ecx, 0xffffffba
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret