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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x10023c6d
push edx
push str._s:_NULL
call fcn.1006edd0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [0x10117114]
xor ecx, ecx
mov al, byte [edi + 0xab]
mov byte [esp + 0x12], al
cmp edi, dword [esi + 0x47f0]
sete cl
mov dword [esp + 0x20], ecx
test al, al
jne 0x10023cca
movups xmm0, xmmword [esi + 0x3864]
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
lea ecx, [esi + 0x4774]
movups xmmword [esp + 0x44], xmm0
call fcn.100264f0
movups xmm0, xmmword [esi + 0x3874]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
movups xmmword [esi + 0x3864], xmm0
cmp byte [esp + 0x12], 0
mov eax, 0x100f0ea6
mov esi, str._Inactive
cmove eax, esi
push eax
push dword [edi + 4]
push edx
push str._s__s_s
push ecx
push edx
call fcn.10083eb0
add esp, 0x18
mov byte [esp + 0x13], al
cmp byte [esp + 0x12], 0
jne 0x10023d05
mov ecx, 1
call fcn.100059a0
xor ecx, ecx
call fcn.10008e80
test al, al
je 0x10023ddb
cmp byte [esp + 0x12], 0
je 0x10023ddb
mov eax, dword [0x10117114]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x47ec]
mov ecx, dword [eax]
call fcn.10009360
movss xmm3, dword [edi + 0x14]
add esp, 4
movss xmm4, dword [edi + 0x18]
movaps xmm1, xmm3
movss xmm0, dword [0x101074a4]
mov esi, eax
addss xmm1, dword [edi + 0x1c]
movaps xmm2, xmm4
addss xmm3, xmm0
addss xmm2, dword [edi + 0x20]
test byte [esi + 0x24], 1
addss xmm4, xmm0
push 0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x20], xmm4
xorps xmm3, xmm3
push eax
je 0x10023d97
subss xmm1, xmm0
subss xmm2, xmm0
jmp 0x10023da7
subss xmm1, dword [0x101074a0]
subss xmm2, dword [0x101074a0]
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm2
call fcn.1005b6f0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10059640
mov dword [esi + 0x54], 0
cmp byte [esp + 0x13], 0
je 0x10024333
cmp byte [edi + 0x358], 0
je 0x10023dfc
push str.Note:_some_memory_buffers_have_been_compacted_freed.
call fcn.1006e890
add esp, 4
mov eax, dword [edi + 0xc]
push ecx
push dword [edi + 0x264]
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.10022240
movss xmm0, dword [edi + 0x38]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
sub esp, 0x38
movss xmm0, dword [edi + 0x34]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0x30]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x2c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x20]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pos:___.1f__.1f___Size:___.1f__.1f___ContentSize___.1f__.1f__Ideal___.1f__.1f_
call fcn.1006edd0
mov ecx, dword [esp + 0x64]
add esp, 0x44
test cl, 0x40
mov esi, 0x100f0ea6
mov eax, str.AlwaysAutoResize
cmove eax, esi
test ecx, 0x40000
push eax
mov eax, str.NoNavInputs
cmove eax, esi
test ecx, 0x200
push eax
mov eax, str.NoMouseInputs
cmove eax, esi
test ecx, 0x100
push eax
mov eax, str.NoSavedSettings
cmove eax, esi
test ecx, 0x10000000
push eax
mov eax, str.ChildMenu
cmove eax, esi
test ecx, 0x8000000
push eax
mov eax, str.Modal
cmove eax, esi
test ecx, 0x4000000
push eax
mov eax, 0x100f3850
cmove eax, esi
test ecx, 0x2000000
push eax
mov eax, 0x100f3858
cmove eax, esi
test ecx, 0x1000000
push eax
mov eax, 0x100f3864
cmove eax, esi
push eax
push ecx
push str.Flags:_0x_08X___s_s_s_s_s_s_s_s_s.._
call fcn.1006edd0
add esp, 0x2c
mov eax, 0x100f175c
cmp byte [edi + 0xa9], 0
cmove eax, esi
push eax
mov eax, 0x100f1758
cmp byte [edi + 0xa8], 0
movss xmm0, dword [edi + 0x84]
cvtps2pd xmm0, xmm0
cmove eax, esi
push eax
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x7c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x80]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x78]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Scroll:___.2f__.2f__.2f__.2f__Scrollbar:_s_s
call fcn.1006edd0
mov cl, byte [edi + 0xaa]
add esp, 0x2c
test cl, cl
jne 0x10023fae
cmp byte [edi + 0xab], cl
jne 0x10023fae
or eax, 0xffffffff
jmp 0x10023fb5
movsx eax, word [edi + 0xbc]
push eax
movzx eax, byte [edi + 0xac]
push eax
movzx eax, byte [edi + 0xab]
push eax
movzx eax, cl
push eax
push str.Active:__d__d__WriteAccessed:__d__BeginOrderWithinContext:__d
call fcn.1006edd0
movzx eax, byte [edi + 0xaf]
add esp, 0x14
push eax
movsx eax, byte [edi + 0xcd]
push eax
movsx eax, byte [edi + 0xcc]
push eax
movzx eax, byte [edi + 0xb1]
push eax
movzx eax, byte [edi + 0xb0]
push eax
push str.Appearing:__d__Hidden:__d__CanSkip__d_Cannot__d___SkipItems:__d
call fcn.1006edd0
lea eax, [edi + 0x314]
add esp, 0x18
mov dword [esp + 0x20], eax
xor esi, esi
lea eax, [edi + 0x31c]
mov edi, 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 0x10024061
comiss xmm2, xmm0
jb 0x10024061
push dword [edi]
push esi
push str.NavLastIds__d_:_0x_08X
call fcn.1006edd0
add esp, 0xc
jmp 0x100240a2
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 [edi]
push esi
push str.NavLastIds__d_:_0x_08X_at___.1f__.1f___.1f__.1f_
call fcn.1006edd0
add esp, 0x2c
mov ecx, dword [edi]
call fcn.10025120
mov eax, dword [esp + 0x14]
inc esi
add eax, 0x10
add edi, 4
mov dword [esp + 0x14], eax
cmp esi, 2
jl 0x10024030
movss xmm2, dword [0x101076b8]
xor esi, esi
movss xmm1, dword [0x10107718]
mov edi, dword [esp + 0x1c]
nop word [eax + eax]
movss xmm0, dword [edi + esi*8 + 0x340]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x100240f5
movaps xmm0, xmm1
cvtps2pd xmm3, xmm0
movss xmm0, dword [edi + esi*8 + 0x33c]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1002410d
movaps xmm0, xmm1
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm3
movsd qword [esp], xmm0
push esi
push str.NavPreferredScoringPosRel__d____.1f__.1f_
call fcn.1006edd0
movss xmm1, dword [0x10107718]
inc esi
movss xmm2, dword [0x101076b8]
add esp, 0x18
cmp esi, 2
jl 0x100240e0
mov eax, dword [edi + 0x310]
test eax, eax
je 0x10024151
mov eax, dword [eax + 4]
jmp 0x10024156
mov eax, str.NULL
push eax
movsx eax, word [edi + 0x14c]
push eax
push str.NavLayersActiveMask:__X__NavLastChildNavWindow:__s
call fcn.1006edd0
mov ecx, dword [edi + 0x300]
add esp, 0xc
cmp ecx, edi
je 0x10024180
mov edx, str.RootWindow
call fcn.10023c40
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x10024194
mov edx, str.ParentWindow
call fcn.10023c40
cmp dword [edi + 0x180], 0
lea ecx, [edi + 0x180]
jle 0x100241ad
mov edx, str.ChildWindows
call fcn.10024340
mov eax, dword [edi + 0x250]
test eax, eax
jle 0x100242d2
push eax
push str.Columns_sets___d_
push str.Columns
call fcn.10083d60
add esp, 0xc
test al, al
je 0x100242d2
imul eax, dword [edi + 0x250], 0x7c
mov esi, dword [edi + 0x258]
add eax, esi
mov dword [esp + 0x14], eax
cmp esi, eax
je 0x100242cd
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.10083d80
add esp, 0x14
test al, al
je 0x100242bc
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.1006edd0
mov eax, dword [esi + 0x5c]
add esp, 0x1c
mov edi, dword [esi + 0x64]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edi + ecx*4]
mov dword [esp + 0x20], eax
cmp edi, eax
je 0x100242b7
movss xmm0, dword [esi + 0x18]
mov ecx, edi
subss xmm0, dword [esi + 0x14]
movss xmm1, dword [edi]
mov eax, 0x92492493
sub ecx, dword [esi + 0x64]
sub esp, 0x10
imul ecx
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push eax
push str.Column__02d:_OffsetNorm__.3f____.1f_px_
call fcn.1006edd0
add edi, 0x1c
add esp, 0x18
cmp edi, dword [esp + 0x20]
jne 0x10024262
call fcn.10084e50
add esi, 0x7c
cmp esi, dword [esp + 0x14]
jne 0x100241f1
mov edi, dword [esp + 0x1c]
call fcn.10084e50
mov ecx, dword [edi + 0x244]
lea eax, [ecx*8]
push eax
push ecx
push str.Storage
push str._s:__d_entries___d_bytes
push str.Storage
call fcn.10083d60
add esp, 0x14
test al, al
je 0x1002432e
mov esi, dword [edi + 0x24c]
mov eax, dword [edi + 0x244]
lea edi, [esi + eax*8]
cmp esi, edi
je 0x10024329
nop
push dword [esi + 4]
push dword [esi]
push str.Key_0x_08X_Value__i:__d_
call fcn.1006edd0
add esi, 8
add esp, 0xc
cmp esi, edi
jne 0x10024310
call fcn.10084e50
call fcn.10084e50
pop edi
pop esi
mov esp, ebp
pop ebp
ret