Function at 0x10058df0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
push edi
mov ecx, 0x1010b8e4
call fcn.100b1e70
mov ebp, dword [esi + 4]
mov edi, 0x100
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 0x10058e56
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
add eax, 0xfffffffa
add eax, ecx
cmp ebx, eax
jge 0x10058eb8
movzx eax, byte [edx + ebx + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp eax, 6
jne 0x10058e9b
movzx edi, byte [edx + 6]
movzx eax, byte [edx + 7]
shl edi, 8
add edi, eax
cmp ebx, edi
jb 0x10058eb8
movzx eax, byte [edx + 9]
movzx ecx, byte [edx + 8]
add eax, edi
shl ecx, 8
add ecx, eax
cmp ebx, ecx
jae 0x10058eb8
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 0x10058ec2
push 0x5c7
push str.D:onistrix_2018imguiimstb_truetype.h
push 0x100e9e24
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 0x1005904d
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 0x10058eb8
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.10058430
movzx eax, ax
cmp ebx, eax
cmovge edi, esi
sub edi, 2
cmp word [esp + 0x10], 0
je 0x10058f7f
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 0x10058f51
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.10058430
movzx eax, ax
cmp ebx, eax
jle 0x10058fb6
push 0x5eb
push str.D:onistrix_2018imguiimstb_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.10058430
movzx eax, ax
mov dword [esp + 0x20], eax
cmp ebx, eax
jl 0x10058eb8
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.10058430
movzx eax, ax
test ax, ax
jne 0x10059029
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.10058460
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.10058430
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x14
ret
cmp eax, 0xc
je 0x10059061
cmp eax, 0xd
je 0x10059061
push 0x60e
jmp 0x10058ea5
lea ecx, [edx + 0xc]
xor ebp, ebp
call fcn.10058490
mov dword [esp + 0x10], eax
test eax, eax
jle 0x10058eb8
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 0x100590c4
mov eax, edx
mov dword [esp + 0x10], eax
jmp 0x100590f2
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 0x10059104
mov eax, dword [esp + 0x10]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x18]
cmp ebp, eax
jl 0x10059080
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.10058490
cmp word [esp + 0x1c], 0xc
jne 0x10058eba
pop edi
sub eax, esi
pop esi
pop ebp
add eax, ebx
pop ebx
add esp, 0x14
ret