Function at 0x100ce8e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add eax, ecx
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
push dword [esp + 0x38]
cmp word [ebp + 2], 0
push dword [esp + 0x38]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x38], ecx
push eax
je 0x100cecc7
call fcn.100ce6f0
cmp eax, 0xffffff88
ja 0x100cec7f
mov eax, dword [esp + 0x1c]
or esi, 0xffffffff
movzx edi, word [ebp]
mov ecx, eax
mov ebx, dword [esp + 0x18]
and ecx, 0x1f
shl ebx, cl
sub esi, edi
add eax, edi
shr ebx, 1
and esi, 0x1f
mov dword [esp + 0x1c], eax
mov ecx, esi
lea eax, [esp + 0x18]
shr ebx, cl
push eax
mov dword [esp + 0x38], ebx
call fcn.100c6910
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov edx, dword [esp + 0x18]
and ecx, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
shr edx, cl
push eax
mov dword [esp + 0x18], edx
call fcn.100c6910
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
nop dword [eax]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp edi, 0x20
ja 0x100ceb33
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100ce9c2
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov dword [esp + 0x20], esi
mov ebx, dword [esi]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
jmp 0x100ce9ff
cmp esi, ebp
je 0x100ceb33
mov ecx, edi
mov eax, esi
shr ecx, 3
xor edx, edx
sub eax, ecx
cmp eax, ebp
jae 0x100ce9e2
mov ecx, esi
mov edx, 1
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub esi, ecx
mov dword [esp + 0x20], esi
mov ebx, dword [esi]
add edi, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
test edx, edx
jne 0x100ceb33
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add eax, 0xfffffffd
cmp ecx, eax
jae 0x100ceb2d
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
mov edx, dword [eax + edx*4 + 4]
mov eax, edx
shr eax, 0x18
lea esi, [eax + edi]
neg eax
and edi, 0x1f
and eax, 0x1f
mov ecx, edi
mov edi, dword [esp + 0x38]
shl ebx, cl
mov ecx, eax
movzx eax, dx
shr edx, 0x10
shr ebx, cl
add ebx, eax
mov byte [ebp], dl
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + edx*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + esi]
and esi, 0x1f
neg edx
mov dword [esp + 0x1c], eax
mov ecx, esi
movzx eax, bx
shl edi, cl
and edx, 0x1f
mov ecx, edx
shr ebx, 0x10
shr edi, cl
add edi, eax
mov byte [ebp + 1], bl
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edi
push eax
call fcn.100c6910
test eax, eax
jg 0x100ceb10
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edi, ebx
mov dword [esp + 0x38], ebx
mov edx, dword [eax + edx*4 + 4]
mov eax, edx
shr eax, 0x18
lea esi, [eax + ecx]
neg eax
and eax, 0x1f
and ecx, 0x1f
shl edi, cl
mov ecx, eax
movzx eax, dx
shr edi, cl
add edi, eax
shr edx, 0x10
mov eax, dword [esp + 0x3c]
mov byte [ebp + 2], dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edi
mov edx, dword [eax + edx*4 + 4]
mov eax, edx
shr eax, 0x18
lea edi, [eax + esi]
and esi, 0x1f
neg eax
mov ecx, esi
shl ebx, cl
and eax, 0x1f
mov ecx, eax
movzx eax, dx
shr ebx, cl
shr edx, 0x10
add ebx, eax
mov byte [ebp + 3], dl
add ebp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebp
jmp 0x100ce990
mov eax, dword [esp + 0x18]
add ebp, 2
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jmp 0x100ceb37
mov eax, dword [esp + 0x38]
jmp 0x100ceb3b
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffe
cmp ecx, edx
ja 0x100cec7a
nop word [eax + eax]
mov edx, dword [esp + 0x34]
mov ecx, edi
mov ebx, dword [esp + 0x3c]
and ecx, 0x1f
shl eax, cl
mov ebx, dword [ebx + edx*4 + 4]
mov edx, ebx
shr edx, 0x18
mov ecx, edx
add edi, edx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, bx
add ecx, eax
shr ebx, 0x10
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x30], ecx
cmp edi, 0x20
ja 0x100ceca8
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100cebac
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0x38], eax
jmp 0x100cebd8
cmp esi, ebp
je 0x100cebd4
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebp
jae 0x100cebc1
mov edx, esi
sub edx, ebp
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0x38], eax
jmp 0x100cebd8
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffe
cmp ecx, edx
ja 0x100cec7a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [ecx + edx*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
shr edx, 0x18
mov ecx, edx
add edi, edx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, bx
add ecx, eax
shr ebx, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x30], ecx
cmp edi, 0x20
ja 0x100cec89
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100cec3f
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0x38], eax
jmp 0x100cec6b
cmp esi, ebp
je 0x100cec67
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebp
jae 0x100cec54
mov edx, esi
sub edx, ebp
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0x38], eax
jmp 0x100cec6b
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffe
cmp ecx, edx
jbe 0x100ceb50
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x14
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov al, byte [eax + edx*4 + 6]
mov byte [ecx], al
sub ecx, dword [esp + 0x20]
pop ebx
lea eax, [ecx + 1]
add esp, 0x18
ret 0x14
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov al, byte [eax + edx*4 + 6]
mov byte [ecx], al
sub ecx, dword [esp + 0x20]
pop ebx
lea eax, [ecx + 1]
add esp, 0x18
ret 0x14
call fcn.100ce6f0
cmp eax, 0xffffff88
ja 0x100cec7f
mov eax, dword [esp + 0x1c]
or esi, 0xffffffff
movzx edi, word [ebp]
mov ecx, eax
mov ebx, dword [esp + 0x18]
and ecx, 0x1f
shl ebx, cl
sub esi, edi
add eax, edi
shr ebx, 1
and esi, 0x1f
mov dword [esp + 0x1c], eax
mov ecx, esi
lea eax, [esp + 0x18]
shr ebx, cl
push eax
mov dword [esp + 0x38], ebx
call fcn.100c6910
mov edx, dword [esp + 0x18]
lea eax, [ebp + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and ecx, 0x1f
add eax, edi
shl edx, cl
mov ecx, esi
shr edx, 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
shr edx, cl
push eax
mov dword [esp + 0x18], edx
call fcn.100c6910
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp edi, 0x20
ja 0x100ceeed
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100ced74
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov dword [esp + 0x20], esi
mov ebx, dword [esi]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], ebx
jmp 0x100cedb1
cmp esi, ebp
je 0x100ceeed
mov ecx, edi
mov eax, esi
shr ecx, 3
xor edx, edx
sub eax, ecx
cmp eax, ebp
jae 0x100ced94
mov ecx, esi
mov edx, 1
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub esi, ecx
mov dword [esp + 0x20], esi
mov ebx, dword [esi]
add edi, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], ebx
test edx, edx
jne 0x100ceeed
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add eax, 0xfffffffd
cmp ecx, eax
jae 0x100ceee7
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov edx, dword [edx + ecx*4]
mov eax, edx
shr eax, 0x18
lea esi, [edi + eax]
and edi, 0x1f
mov ecx, edi
not eax
shl ebx, cl
and eax, 0x1f
mov edi, dword [esp + 0x3c]
mov ecx, eax
movzx eax, dx
shr ebx, 1
shr ebx, cl
mov ecx, dword [esp + 0x14]
add ebx, eax
mov eax, dword [esp + 0x38]
shr edx, 0x10
mov byte [ebp], dl
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + ecx*4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + esi]
and esi, 0x1f
mov ecx, esi
mov dword [esp + 0x1c], eax
shl edi, cl
not edx
and edx, 0x1f
shr edi, 1
mov ecx, edx
movzx eax, bx
shr edi, cl
add edi, eax
shr ebx, 0x10
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edi
push eax
mov byte [ebp + 1], bl
call fcn.100c6910
test eax, eax
jg 0x100ceeca
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
mov edi, ebx
mov dword [esp + 0x3c], ebx
mov edx, dword [eax + ecx*4]
mov eax, edx
mov ecx, dword [esp + 0x1c]
shr eax, 0x18
lea esi, [ecx + eax]
not eax
and eax, 0x1f
and ecx, 0x1f
shl edi, cl
mov ecx, eax
shr edi, 1
shr edi, cl
mov ecx, dword [esp + 0x14]
movzx eax, dx
add edi, eax
shr edx, 0x10
mov eax, dword [esp + 0x38]
mov byte [ebp + 2], dl
mov dword [esp + 0x34], edi
mov edx, dword [eax + ecx*4]
mov eax, edx
shr eax, 0x18
lea edi, [eax + esi]
and esi, 0x1f
mov ecx, esi
not eax
shl ebx, cl
and eax, 0x1f
shr ebx, 1
mov ecx, eax
movzx eax, dx
shr ebx, cl
shr edx, 0x10
add ebx, eax
mov byte [ebp + 3], dl
add ebp, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebp
jmp 0x100ced42
mov eax, dword [esp + 0x18]
add ebp, 2
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
jmp 0x100ceef1
mov eax, dword [esp + 0x3c]
jmp 0x100ceef5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffe
cmp ecx, edx
ja 0x100cec7a
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebx, dword [ebx + ecx*4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr eax, 1
and ecx, 0x1f
add edi, edx
mov edx, dword [esp + 0x30]
shr eax, cl
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov byte [edx], bl
inc edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
cmp edi, 0x20
ja 0x100cf060
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100cef62
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp 0x100cef8e
cmp esi, ebp
je 0x100cef8a
mov ecx, edi
mov eax, esi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x100cef77
mov ecx, esi
sub ecx, ebp
sub esi, ecx
lea eax, [ecx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp 0x100cef8e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffe
cmp edx, ecx
ja 0x100cec7a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ebx, dword [edx + ecx*4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr eax, 1
and ecx, 0x1f
add edi, edx
mov edx, dword [esp + 0x30]
shr eax, cl
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov byte [edx], bl
inc edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], edx
cmp edi, 0x20
ja 0x100cf041
lea eax, [ebp + 4]
cmp esi, eax
jb 0x100ceff7
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp 0x100cf023
cmp esi, ebp
je 0x100cf01f
mov ecx, edi
mov eax, esi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x100cf00c
mov ecx, esi
sub ecx, ebp
sub esi, ecx
lea eax, [ecx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp 0x100cf023
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffe
cmp edx, ecx
jbe 0x100cef04
pop edi
pop esi
pop ebp
mov eax, 0xffffffba
pop ebx
add esp, 0x18
ret 0x14
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov al, byte [eax + ecx*4 + 2]
mov byte [edx], al
sub edx, dword [esp + 0x20]
pop ebx
lea eax, [edx + 1]
add esp, 0x18
ret 0x14
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov al, byte [eax + ecx*4 + 2]
mov byte [edx], al
sub edx, dword [esp + 0x20]
pop ebx
lea eax, [edx + 1]
add esp, 0x18
ret 0x14