Function at 0x10233320
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
mov ecx, 0x104f66fc
call fcn.1015f0d9
mov eax, dword [0x104e7304]
mov dword [ebp - 4], eax
mov eax, 2
imul ecx, eax, 0
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x1a4]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c0]
mov dword [ebp - 0xc], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10233370
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0xc]
mov word [eax], cx
jmp 0x1023338c
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0xc]
jne 0x10233384
mov eax, str.PushID_PopID_or_TreeNode_TreePop_Mismatch_
test eax, eax
jne 0x1023338c
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x198]
mov dword [ebp - 0x10], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x102333b5
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0x10]
mov word [eax], cx
jmp 0x102333d1
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0x10]
jne 0x102333c9
mov eax, str.BeginGroup_EndGroup_Mismatch_
test eax, eax
jne 0x102333d1
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1a24]
mov dword [ebp - 0x14], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x102333fa
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0x14]
mov word [eax], cx
jmp 0x10233416
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0x14]
jne 0x1023340e
mov eax, str.BeginMenu_EndMenu_or_BeginPopup_EndPopup_Mismatch
test eax, eax
jne 0x10233416
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x19f4]
mov dword [ebp - 0x18], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x1023343f
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0x18]
mov word [eax], cx
jmp 0x1023345b
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0x18]
jl 0x10233453
mov eax, str.PushStyleColor_PopStyleColor_Mismatch_
test eax, eax
jne 0x1023345b
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1a00]
mov dword [ebp - 0x1c], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10233484
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0x1c]
mov word [eax], cx
jmp 0x102334a0
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0x1c]
jl 0x10233498
mov eax, str.PushStyleVar_PopStyleVar_Mismatch_
test eax, eax
jne 0x102334a0
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1a0c]
mov dword [ebp - 0x20], ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x102334c9
mov eax, dword [ebp - 8]
mov cx, word [ebp - 0x20]
mov word [eax], cx
jmp 0x102334e5
mov eax, dword [ebp - 8]
movsx ecx, word [eax]
cmp ecx, dword [ebp - 0x20]
jl 0x102334dd
mov eax, str.PushFont_PopFont_Mismatch_
test eax, eax
jne 0x102334e5
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
add eax, 0x1b0
cmp dword [ebp - 8], eax
je 0x10233503
push 0
call dword [sym.imp.ucrtbased.dll_exit]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret