Function at 0x10023080
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
push esi
mov esi, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], esi
push edi
test esi, esi
jne 0x100230ad
push edx
push str._s:_NULL
call fcn.1006c580
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [0x10103264]
xor ecx, ecx
mov al, byte [esi + 0xa7]
mov byte [esp + 0x12], al
cmp esi, dword [edi + 0x47a8]
sete cl
mov dword [esp + 0x18], ecx
test al, al
jne 0x1002310a
movups xmm0, xmmword [edi + 0x3860]
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
lea ecx, [edi + 0x4738]
movups xmmword [esp + 0x44], xmm0
call fcn.10025a70
movups xmm0, xmmword [edi + 0x3870]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
movups xmmword [edi + 0x3860], xmm0
cmp byte [esp + 0x12], 0
mov eax, 0x1009b3b6
mov edi, str._Inactive
cmove eax, edi
push eax
push dword [esi]
push edx
push str._s__s_s
push ecx
push edx
call fcn.10081f60
add esp, 0x18
mov byte [esp + 0x13], al
cmp byte [esp + 0x12], 0
jne 0x10023144
mov ecx, 1
call fcn.10005480
mov ecx, dword [0x10103264]
cmp byte [ecx + 0x47e7], 0
mov edi, dword [ecx + 0x3e28]
je 0x1002318e
cmp byte [ecx + 0x47e6], 0
jne 0x1002318e
test byte [ecx + 0x46a0], 4
jne 0x1002330d
mov eax, dword [ecx + 0x47ac]
cmp eax, dword [ecx + 0x469c]
jne 0x1002330d
test eax, eax
je 0x1002330d
jmp 0x1002324b
mov eax, dword [ecx + 0x46a4]
test al, 1
je 0x1002330d
cmp dword [ecx + 0x3e2c], edi
je 0x100231ac
test al, al
jns 0x1002330d
mov eax, dword [ecx + 0x3e74]
test eax, eax
je 0x100231d0
cmp eax, dword [ecx + 0x469c]
je 0x100231d0
cmp byte [ecx + 0x3e81], 0
jne 0x100231d0
cmp eax, dword [edi + 0x6c]
jne 0x1002330d
mov edx, dword [ecx + 0x47a8]
test edx, edx
je 0x10023226
mov edx, dword [edx + 0x304]
test edx, edx
je 0x10023226
cmp byte [edx + 0xa7], 0
je 0x10023226
mov eax, dword [edi + 0x304]
cmp edx, eax
je 0x10023226
test dword [edx + 8], 0xc000000
je 0x10023226
cmp dword [eax + 0x304], edx
je 0x10023226
cmp eax, edx
je 0x10023226
mov eax, dword [eax + 0x300]
test eax, eax
jne 0x10023208
test dword [ecx + 0x46a0], 0x100
je 0x1002330d
test byte [ecx + 0x46a0], 4
jne 0x1002330d
mov eax, dword [ecx + 0x469c]
cmp eax, dword [edi + 0x6c]
jne 0x1002324b
cmp byte [edi + 0xa8], 0
jne 0x1002330d
cmp byte [esp + 0x12], 0
je 0x1002330d
mov eax, dword [ecx + 0x47a4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.10007f50
movss xmm3, dword [esi + 0x10]
add esp, 4
movss xmm4, dword [esi + 0x14]
movaps xmm1, xmm3
movss xmm0, dword [0x100b12bc]
mov edi, eax
addss xmm1, dword [esi + 0x18]
movaps xmm2, xmm4
addss xmm3, xmm0
addss xmm2, dword [esi + 0x1c]
test byte [edi + 0x24], 1
addss xmm4, xmm0
push 0
lea eax, [esp + 0x24]
mov ecx, edi
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x24], xmm4
xorps xmm3, xmm3
push eax
je 0x100232c9
subss xmm1, xmm0
subss xmm2, xmm0
jmp 0x100232d9
subss xmm1, dword [0x100b12b8]
subss xmm2, dword [0x100b12b8]
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm2
call fcn.10059510
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push 0xff00ffff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10057460
mov dword [edi + 0x54], 0
cmp byte [esp + 0x13], 0
je 0x100237ed
cmp byte [esi + 0x34c], 0
je 0x1002332e
push str.Note:_some_memory_buffers_have_been_compacted_freed.
call fcn.1006c010
add esp, 4
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x268]
push ecx
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.10021280
movss xmm0, dword [esi + 0x34]
sub esp, 0x3c
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x38], xmm0
movss xmm0, dword [esi + 0x30]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [esi + 0x2c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [esi + 0x28]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pos:___.1f__.1f___Size:___.1f__.1f___ContentSize___.1f__.1f__Ideal___.1f__.1f_
call fcn.1006c580
mov ecx, dword [esp + 0x64]
add esp, 0x44
test cl, 0x40
mov edi, 0x1009b3b6
mov eax, str.AlwaysAutoResize
cmove eax, edi
test ecx, 0x40000
push eax
mov eax, str.NoNavInputs
cmove eax, edi
test ecx, 0x200
push eax
mov eax, str.NoMouseInputs
cmove eax, edi
test ecx, 0x100
push eax
mov eax, str.NoSavedSettings
cmove eax, edi
test ecx, sym.xinput1_3.dll_Ordinal_9
push eax
mov eax, str.ChildMenu
cmove eax, edi
test ecx, 0x8000000
push eax
mov eax, str.Modal
cmove eax, edi
test ecx, 0x4000000
push eax
mov eax, 0x1009da88
cmove eax, edi
test ecx, 0x2000000
push eax
mov eax, str.Tooltip
cmove eax, edi
test ecx, 0x1000000
push eax
mov eax, 0x1009da9c
cmove eax, edi
push eax
push ecx
push str.Flags:_0x_08X___s_s_s_s_s_s_s_s_s.._
call fcn.1006c580
add esp, 0x2c
mov eax, 0x1009bb60
cmp byte [esi + 0xa5], 0
cmove eax, edi
push eax
mov eax, 0x1009bb5c
cmp byte [esi + 0xa4], 0
movss xmm0, dword [esi + 0x80]
cvtps2pd xmm0, xmm0
cmove eax, edi
push eax
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x78]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0x7c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0x74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Scroll:___.2f__.2f__.2f__.2f__Scrollbar:_s_s
call fcn.1006c580
mov cl, byte [esi + 0xa6]
add esp, 0x2c
test cl, cl
jne 0x100234de
cmp byte [esi + 0xa7], cl
jne 0x100234de
or eax, 0xffffffff
jmp 0x100234e5
movsx eax, word [esi + 0xb8]
push eax
movzx eax, byte [esi + 0xa8]
push eax
movzx eax, byte [esi + 0xa7]
push eax
movzx eax, cl
push eax
push str.Active:__d__d__WriteAccessed:__d__BeginOrderWithinContext:__d
call fcn.1006c580
movzx eax, byte [esi + 0xab]
add esp, 0x14
push eax
movsx eax, byte [esi + 0xc9]
push eax
movsx eax, byte [esi + 0xc8]
push eax
movzx eax, byte [esi + 0xad]
push eax
movzx eax, byte [esi + 0xac]
push eax
push str.Appearing:__d__Hidden:__d__CanSkip__d_Cannot__d___SkipItems:__d
call fcn.1006c580
lea eax, [esi + 0x318]
add esp, 0x18
mov dword [esp + 0x20], eax
xor edi, edi
lea eax, [esi + 0x320]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
nop word [eax + eax]
movups xmm1, xmmword [eax]
movaps xmm0, xmm1
movaps xmmword [esp + 0x20], xmm1
movss xmm2, dword [esp + 0x24]
shufps xmm0, xmm1, 0xff
comiss xmm1, xmm0
jb 0x10023591
comiss xmm2, xmm0
jb 0x10023591
push dword [esi]
push edi
push str.NavLastIds__d_:_0x_08X
call fcn.1006c580
add esp, 0xc
jmp 0x100235d2
cvtss2sd xmm0, xmm0
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x48]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp], xmm0
push dword [esi]
push edi
push str.NavLastIds__d_:_0x_08X_at___.1f__.1f___.1f__.1f_
call fcn.1006c580
add esp, 0x2c
mov ecx, dword [esi]
call fcn.100247e0
mov eax, dword [esp + 0x14]
inc edi
add eax, 0x10
add esi, 4
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10023560
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x314]
test eax, eax
je 0x10023603
mov eax, dword [eax]
jmp 0x10023608
mov eax, str.NULL
push eax
movsx eax, word [esi + 0x148]
push eax
push str.NavLayersActiveMask:__X__NavLastChildNavWindow:__s
call fcn.1006c580
mov ecx, dword [esi + 0x304]
add esp, 0xc
cmp ecx, esi
je 0x10023632
mov edx, str.RootWindow
call fcn.10023080
mov ecx, dword [esi + 0x2fc]
test ecx, ecx
je 0x10023646
mov edx, str.ParentWindow
call fcn.10023080
cmp dword [esi + 0x184], 0
lea ecx, [esi + 0x184]
jle 0x1002365f
mov edx, str.ChildWindows
call fcn.10023800
mov eax, dword [esi + 0x254]
test eax, eax
jle 0x10023787
push eax
push str.Columns_sets___d_
push str.Columns
call fcn.10081e10
add esp, 0xc
test al, al
je 0x10023787
xor edi, edi
mov dword [esp + 0x18], edi
cmp dword [esi + 0x254], edi
jle 0x10023782
xor eax, eax
mov dword [esp + 0x20], eax
mov esi, dword [esi + 0x25c]
add esi, eax
push dword [esi + 4]
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
push str.Columns_Id:_0x_08X__Count:__d__Flags:_0x_04X
push eax
call fcn.10081e30
add esp, 0x14
test al, al
je 0x10023762
movss xmm2, dword [esi + 0x18]
sub esp, 0x18
movss xmm1, dword [esi + 0x14]
cvtps2pd xmm0, xmm2
subss xmm2, xmm1
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
push str.Width:__.1f__MinX:__.1f__MaxX:__.1f_
call fcn.1006c580
xor edi, edi
add esp, 0x1c
cmp dword [esi + 0x5c], edi
jle 0x10023759
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop dword [eax]
movss xmm0, dword [esi + 0x18]
sub esp, 0x10
subss xmm0, dword [esi + 0x14]
mov eax, dword [esi + 0x64]
movss xmm1, dword [ecx + eax]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push edi
push str.Column__02d:_OffsetNorm__.3f____.1f_px_
call fcn.1006c580
mov ecx, dword [esp + 0x2c]
inc edi
add ecx, 0x1c
add esp, 0x18
mov dword [esp + 0x14], ecx
cmp edi, dword [esi + 0x5c]
jl 0x10023710
call fcn.10082d90
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
inc edi
mov eax, dword [esp + 0x20]
add eax, 0x7c
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
cmp edi, dword [esi + 0x254]
jl 0x100236a0
call fcn.10082d90
mov ecx, dword [esi + 0x248]
lea eax, [ecx*8]
push eax
push ecx
push str.Storage
push str._s:__d_entries___d_bytes
push str.Storage
call fcn.10081e10
add esp, 0x14
test al, al
je 0x100237e8
xor edi, edi
cmp dword [esi + 0x248], edi
jle 0x100237e3
nop dword [eax + eax]
mov eax, dword [esi + 0x250]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
push str.Key_0x_08X_Value__i:__d_
call fcn.1006c580
inc edi
add esp, 0xc
cmp edi, dword [esi + 0x248]
jl 0x100237c0
call fcn.10082d90
call fcn.10082d90
pop edi
pop esi
mov esp, ebp
pop ebp
ret