Function at 0x10058430
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
push edi
mov ecx, 0x1010a8f1
call fcn.100b18e0
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 0x10058496
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
add eax, 0xfffffffa
add eax, ecx
cmp ebx, eax
jge 0x100584f8
movzx eax, byte [edx + ebx + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp eax, 6
jne 0x100584db
movzx edi, byte [edx + 6]
movzx eax, byte [edx + 7]
shl edi, 8
add edi, eax
cmp ebx, edi
jb 0x100584f8
movzx ecx, byte [edx + 8]
movzx eax, byte [edx + 9]
shl ecx, 8
add ecx, edi
add eax, ecx
cmp ebx, eax
jae 0x100584f8
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 0x10058502
push 0x5c7
push str.D:New_folderimguiimstb_truetype.h
push 0x100e8e1c
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 0x10058695
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 0x100584f8
movzx eax, byte [edx + 0xc]
movzx ecx, byte [edx + 0xd]
shl eax, 8
add ecx, eax
shr ecx, 1
lea esi, [edi + ecx*2]
lea ecx, [esi + ebp]
call fcn.10057a70
movzx eax, ax
cmp ebx, eax
cmovge edi, esi
sub edi, 2
cmp word [esp + 0x10], 0
je 0x100585bf
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 0x10058591
mov eax, dword [esp + 0x20]
sub edi, eax
add edi, 2
shr edi, 1
movzx esi, di
mov dword [esp + 0x10], esi
lea ecx, [eax + esi*2]
add ecx, ebp
call fcn.10057a70
movzx eax, ax
cmp ebx, eax
jle 0x100585fa
push 0x5eb
push str.D:New_folderimguiimstb_truetype.h
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.10057a70
movzx eax, ax
mov dword [esp + 0x20], eax
cmp ebx, eax
jl 0x100584f8
mov ecx, dword [esp + 0x14]
movzx eax, cx
mov ecx, dword [esp + 0x10]
add ecx, 8
lea esi, [eax + eax*2]
add ecx, esi
lea ecx, [edi + ecx*2]
add ecx, ebp
call fcn.10057a70
movzx eax, ax
test ax, ax
jne 0x10058671
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
movzx ecx, dx
lea eax, [eax + ecx*2]
lea eax, [eax + 8]
lea ecx, [edi + eax*2]
add ecx, ebp
call fcn.10057aa0
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 + 0x10]
add eax, edi
add ecx, esi
lea ecx, [eax + ecx*2]
add ecx, ebp
call fcn.10057a70
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x14
ret
cmp eax, 0xc
je 0x100586a9
cmp eax, 0xd
je 0x100586a9
push 0x60e
jmp 0x100584e5
lea ecx, [edx + 0xc]
xor ebp, ebp
call fcn.10057ad0
mov dword [esp + 0x10], eax
test eax, eax
jle 0x100584f8
mov ecx, dword [esp + 0x14]
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 0x10058707
mov eax, edx
mov dword [esp + 0x10], eax
jmp 0x10058735
movzx eax, byte [edi + 0x14]
movzx ecx, byte [edi + 0x15]
shl eax, 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 0x10058747
mov eax, dword [esp + 0x10]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x18]
cmp ebp, eax
jl 0x100586c3
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.10057ad0
cmp word [esp + 0x1c], 0xc
jne 0x100584fa
pop edi
sub eax, esi
pop esi
pop ebp
add eax, ebx
pop ebx
add esp, 0x14
ret