Function at 0x100600a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
push edi
mov ecx, 0x1017489e
call fcn.100b6430
mov ebp, dword [esi + 4]
mov edi, pe_nt_image_headers32
mov esi, dword [esi + 0x2c]
movzx ecx, byte [esi + ebp]
lea edx, [esi + ebp]
movzx eax, byte [edx + 1]
imul ecx, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
add cx, ax
movzx eax, cx
mov dword [esp + 0x1c], eax
test ax, ax
jne 0x10060106
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
add eax, 0xfffffffa
add eax, ecx
cmp ebx, eax
jge 0x10060168
movzx eax, byte [edx + ebx + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp eax, 6
jne 0x1006014b
movzx edi, byte [edx + 6]
movzx eax, byte [edx + 7]
shl edi, 8
add edi, eax
cmp ebx, edi
jb 0x10060168
movzx eax, byte [edx + 9]
movzx ecx, byte [edx + 8]
add eax, edi
shl ecx, 8
add ecx, eax
cmp ebx, ecx
jae 0x10060168
sub ebx, edi
pop edi
lea ecx, [esi + ebx*2]
movzx eax, byte [ecx + ebp + 0xb]
movzx ecx, byte [ecx + ebp + 0xa]
pop esi
shl ecx, 8
pop ebp
add eax, ecx
pop ebx
add esp, 0x14
ret
cmp eax, 2
jne 0x10060172
push 0x5c7
push 0x100f30e0
push 0x100c0568
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp eax, 4
jne 0x100602fd
movzx ecx, byte [edx + 6]
movzx eax, byte [edx + 7]
imul ecx, edi
add cx, ax
shr cx, 1
movzx eax, cx
movzx ecx, byte [edx + 8]
imul ecx, edi
mov dword [esp + 0x14], eax
movzx eax, byte [edx + 9]
add cx, ax
shr cx, 1
movzx eax, cx
movzx ecx, byte [edx + 0xa]
imul ecx, edi
lea edi, [esi + 0xe]
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0xb]
mov dword [esp + 0x20], edi
add cx, ax
movzx eax, cx
mov dword [esp + 0x10], eax
cmp ebx, 0xffff
jg 0x10060168
movzx ecx, byte [edx + 0xc]
movzx eax, byte [edx + 0xd]
shl ecx, 8
add ecx, eax
shr ecx, 1
lea esi, [edi + ecx*2]
lea ecx, [esi + ebp]
call fcn.1005f6e0
movzx eax, ax
cmp ebx, eax
cmovge edi, esi
sub edi, 2
cmp word [esp + 0x10], 0
je 0x1006022f
mov si, word [esp + 0x1c]
shr si, 1
movzx eax, si
lea edx, [edi + eax*2]
movzx ecx, byte [edx + ebp]
movzx eax, byte [edx + ebp + 1]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0x10]
cmp ebx, ecx
cmovg edi, edx
add eax, 0xffff
mov dword [esp + 0x10], eax
test ax, ax
jne 0x10060201
mov eax, dword [esp + 0x20]
sub edi, eax
add edi, 2
shr edi, 1
movzx esi, di
lea ecx, [eax + esi*2]
add ecx, ebp
call fcn.1005f6e0
movzx eax, ax
cmp ebx, eax
jle 0x10060266
push 0x5eb
push 0x100f30e0
push str.unicode_codepoint___ttUSHORT_data__endCount__2item_
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
movzx ecx, ax
add ecx, 8
add ecx, esi
lea ecx, [edi + ecx*2]
add ecx, ebp
call fcn.1005f6e0
movzx eax, ax
mov dword [esp + 0x20], eax
cmp ebx, eax
jl 0x10060168
mov ecx, dword [esp + 0x14]
movzx eax, cx
lea eax, [eax + eax*2]
lea ecx, [eax + 8]
mov dword [esp + 0x1c], eax
add ecx, esi
lea ecx, [edi + ecx*2]
add ecx, ebp
call fcn.1005f6e0
movzx eax, ax
test ax, ax
jne 0x100602d9
mov ecx, dword [esp + 0x14]
movzx eax, cx
add eax, 4
lea eax, [esi + eax*2]
lea ecx, [edi + eax*2]
add ecx, ebp
call fcn.1005f710
pop edi
pop esi
add ax, bx
pop ebp
movzx eax, ax
pop ebx
add esp, 0x14
ret
sub esi, dword [esp + 0x20]
lea ecx, [ebx + 8]
add esi, dword [esp + 0x1c]
add eax, edi
add ecx, esi
lea ecx, [eax + ecx*2]
add ecx, ebp
call fcn.1005f6e0
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x14
ret
cmp eax, 0xc
je 0x10060311
cmp eax, 0xd
je 0x10060311
push 0x60e
jmp 0x10060155
lea ecx, [edx + 0xc]
xor ebp, ebp
call fcn.1005f740
mov dword [esp + 0x10], eax
test eax, eax
jle 0x10060168
mov ecx, dword [esp + 0x14]
nop dword [eax + eax]
mov edx, eax
sub edx, ebp
sar edx, 1
add edx, ebp
lea eax, [edx + edx*2]
shl eax, 2
mov dword [esp + 0x20], eax
lea edi, [esi + eax]
movzx esi, byte [edi + ecx + 0x10]
movzx eax, byte [edi + ecx + 0x11]
add edi, ecx
shl esi, 8
add esi, eax
shl esi, 8
movzx eax, byte [edi + 0x12]
add esi, eax
movzx eax, byte [edi + 0x13]
shl esi, 8
add esi, eax
cmp ebx, esi
jae 0x10060374
mov eax, edx
mov dword [esp + 0x10], eax
jmp 0x100603a2
movzx ecx, byte [edi + 0x14]
movzx eax, byte [edi + 0x15]
shl ecx, 8
add ecx, eax
movzx eax, byte [edi + 0x16]
shl ecx, 8
add ecx, eax
movzx eax, byte [edi + 0x17]
shl ecx, 8
add ecx, eax
cmp ebx, ecx
mov ecx, dword [esp + 0x14]
jbe 0x100603b4
mov eax, dword [esp + 0x10]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x18]
cmp ebp, eax
jl 0x10060330
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x20]
add ecx, 0x18
add eax, dword [esp + 0x18]
add ecx, eax
call fcn.1005f740
cmp word [esp + 0x1c], 0xc
jne 0x1006016a
pop edi
sub eax, esi
pop esi
pop ebp
add eax, ebx
pop ebx
add esp, 0x14
ret