Function at 0x10017700
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f8
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x1f4], eax
push esi
push edi
push 0
mov edx, 0x100a4355
mov ecx, str.Dear_ImGui_Metrics_Debugger
call fcn.1000d430
add esp, 4
test al, al
je 0x10019d4b
mov esi, dword [0x100a3d98]
push str.1.83
push str.Dear_ImGui__s
mov dword [esp + 0x1c], esi
lea edi, [esi + 0x2f20]
mov dword [esp + 0x30], edi
call fcn.100649b0
movss xmm1, dword [esi + 0x35c]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [0x1009c788]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.100649b0
mov ecx, dword [esi + 0x364]
mov eax, 0x55555556
imul ecx
add esp, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push dword [esi + 0x360]
push str._d_vertices___d_indices___d_triangles_
call fcn.100649b0
push dword [esi + 0x368]
push dword [esi + 0x36c]
push str._d_active_windows___d_visible_
call fcn.100649b0
add esp, 0x1c
push dword [esi + 0x370]
push str._d_active_allocations
call fcn.100649b0
mov esi, dword [0x100a3d98]
add esp, 8
mov ecx, dword [esi + 0x1b9c]
cmp byte [ecx + 0x8f], 0
jne 0x1001780e
mov ecx, dword [ecx + 0x1a0]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.100683c0
mov esi, dword [0x100a3d98]
mov dword [esp + 0x104], str.OuterRect
mov dword [esp + 0x108], str.OuterRectClipped
mov dword [esp + 0x10c], str.InnerRect
mov dword [esp + 0x110], str.InnerClipRect
mov dword [esp + 0x114], str.WorkRect
mov dword [esp + 0x118], str.Content
mov dword [esp + 0x11c], str.ContentIdeal
mov dword [esp + 0x120], str.ContentRegionRect
mov dword [esp + 0x124], str.OuterRect
mov dword [esp + 0x128], str.InnerRect
mov dword [esp + 0x12c], str.WorkRect
mov dword [esp + 0x130], str.HostClipRect
mov dword [esp + 0x134], str.InnerClipRect
mov dword [esp + 0x138], str.BackgroundClipRect
mov dword [esp + 0x13c], str.ColumnsRect
mov dword [esp + 0x140], str.ColumnsWorkRect
mov dword [esp + 0x144], str.ColumnsClipRect
mov dword [esp + 0x148], str.ColumnsContentHeadersUsed
mov dword [esp + 0x14c], str.ColumnsContentHeadersIdeal
mov dword [esp + 0x150], str.ColumnsContentFrozen
mov dword [esp + 0x154], str.ColumnsContentUnfrozen
cmp dword [edi + 8], 0
jge 0x10017902
mov dword [edi + 8], 4
add edi, 0xc
mov dword [esp + 0x20], edi
cmp dword [edi], 0
jge 0x10017914
mov dword [edi], 2
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x100182b3
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.Tools
call fcn.10004270
add esp, 4
cmp dword [esi + 0x1bd4], eax
jne 0x10017961
mov dword [esi + 0x1bd8], eax
cmp dword [esi + 0x1c0c], eax
jne 0x10017970
mov byte [esi + 0x1c10], 1
push 0
push str.Tools
xor edx, edx
mov ecx, eax
call fcn.10077ad0
add esp, 8
test al, al
je 0x100182b3
push 0
lea edx, [esp + 0x34]
mov dword [esp + 0x34], 0
mov ecx, str.Item_Picker..
mov dword [esp + 0x38], 0
call fcn.10065970
add esp, 4
test al, al
je 0x100179be
mov eax, dword [0x100a3d98]
mov byte [eax + 0x2f18], 1
movss xmm1, dword [0x1009c7d4]
xorps xmm0, xmm0
call fcn.100107f0
push 0x1008a7d0
call fcn.10064b30
add esp, 4
xor ecx, ecx
call fcn.10007290
test al, al
je 0x10017ad0
xor edx, edx
call fcn.10011610
mov ecx, dword [0x100a3d98]
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [ecx + 0x1930]
mulss xmm0, dword [0x1009c724]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
mov edi, dword [eax + 0x1c8]
lea esi, [eax + 0x1c4]
mov ecx, dword [esi]
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x1c], eax
cmp ecx, edi
jne 0x10017a62
inc ecx
test edi, edi
je 0x10017a46
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10017a4b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1001c1a0
movss xmm0, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1b4]
push 1
mov dword [ecx + edx*4], eax
xor edx, edx
mov eax, dword [esp + 0x20]
mov ecx, str.Will_call_the_IM_DEBUG_BREAK___macro_to_break_in_debugger._nWarning:_If_you_dont_have_a_debugger_attached__this_will_probably_crash.
inc dword [esi]
movss dword [eax + 0x1b4], xmm0
call fcn.100642b0
mov ecx, dword [0x100a3d98]
add esp, 4
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1b9c]
mov ecx, dword [edx + 0x1c4]
mov eax, dword [edx + 0x1cc]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1b4], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1c4], eax
call fcn.1000f980
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov ecx, str.Show_windows_begin_order
lea edx, [esi + 1]
call fcn.100674f0
mov edx, esi
mov ecx, str.Show_windows_rectangles
call fcn.100674f0
movss xmm1, dword [0x1009c7d4]
xorps xmm0, xmm0
call fcn.100107f0
mov eax, dword [0x100a3d98]
lea edx, [esi + 8]
push 8
push 8
mov ecx, str.show_windows_rect_type
movss xmm0, dword [eax + 0x1930]
mulss xmm0, dword [0x1009c6f8]
or dword [eax + 0x1c80], 1
movss dword [eax + 0x1c84], xmm0
lea eax, [esp + 0x10c]
push eax
push fcn.10069320
call fcn.100693a0
add esp, 0x10
or byte [esi], al
je 0x10017cac
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1d00]
test eax, eax
je 0x10017cac
push dword [eax]
push str._s:
call fcn.100650e0
mov ecx, dword [0x100a3d98]
add esp, 8
mov edi, dword [esp + 0x14]
xor esi, esi
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [ecx + 0x1580]
addss xmm0, dword [eax + 0x110]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
nop word [eax + eax]
mov edx, dword [edi + 0x1d00]
lea ecx, [esp + 0xc0]
push esi
call fcn.10019f40
movss xmm2, dword [esp + 0xd0]
add esp, 4
movss xmm4, dword [esp + 0xc4]
movaps xmm0, xmm2
movss xmm1, dword [esp + 0xc8]
subss xmm0, xmm4
movss xmm3, dword [esp + 0xc0]
push dword [esp + esi*4 + 0x104]
sub esp, 0x30
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm4
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp], xmm0
push str.__6.1f__6.1f____6.1f__6.1f__Size___6.1f__6.1f___s
call fcn.100649b0
inc esi
add esp, 0x38
cmp esi, 8
jl 0x10017bc0
mov ecx, dword [0x100a3d98]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [ecx + 0x1580]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
lea edx, [esi + 3]
mov ecx, str.Show_ImDrawCmd_mesh_when_hovering
call fcn.100674f0
lea edx, [esi + 4]
mov ecx, str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.100674f0
lea edx, [esi + 2]
mov ecx, str.Show_tables_rectangles
call fcn.100674f0
movss xmm1, dword [0x1009c7d4]
xorps xmm0, xmm0
call fcn.100107f0
mov eax, dword [0x100a3d98]
mov edx, edi
push 0xd
push 0xd
mov ecx, str.show_table_rects_type
movss xmm0, dword [eax + 0x1930]
mulss xmm0, dword [0x1009c6f8]
or dword [eax + 0x1c80], 1
movss dword [eax + 0x1c84], xmm0
lea eax, [esp + 0x12c]
push eax
push fcn.10069320
call fcn.100693a0
add esp, 0x10
or byte [esi + 2], al
je 0x100182ae
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x1d00], 0
je 0x100182ae
xor edi, edi
mov dword [esp + 0x24], edi
cmp dword [edx + 0x1edc], edi
jle 0x100182ae
xor eax, eax
mov dword [esp + 0x18], eax
nop dword [eax]
mov esi, dword [edx + 0x1ee4]
add esi, eax
mov eax, dword [edx + 0x1b38]
dec eax
mov dword [esp + 0x1c], esi
cmp dword [esi + 0x50], eax
jl 0x10018290
mov eax, dword [edx + 0x1d00]
mov ecx, dword [esi + 0x164]
cmp ecx, eax
je 0x10017d98
cmp dword [esi + 0x168], eax
jne 0x10018290
push dword [ecx]
push dword [esi + 0x54]
push dword [esi]
push str.Table_0x_08X___d_columns__in__s_
call fcn.100650e0
add esp, 0x10
xor ecx, ecx
call fcn.10007290
test al, al
je 0x10017edf
mov eax, dword [0x100a3d98]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x1cfc]
mov ecx, dword [eax]
call fcn.10007650
movss xmm5, dword [0x1009c60c]
mov esi, eax
mov eax, dword [esp + 0x20]
add esp, 4
movss xmm4, dword [0x1009c5c4]
mov ecx, esi
test byte [esi + 0x24], 1
movss xmm2, dword [eax + 0xd4]
movss xmm3, dword [eax + 0xd8]
subss xmm2, xmm5
movss xmm0, dword [eax + 0xdc]
subss xmm3, xmm5
movss xmm1, dword [eax + 0xe0]
addss xmm0, xmm5
addss xmm1, xmm5
push 0
addss xmm2, xmm4
addss xmm3, xmm4
je 0x10017e6c
subss xmm0, xmm4
movss dword [esp + 0x84], xmm2
subss xmm1, xmm4
movss dword [esp + 0x88], xmm3
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x88]
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm1
jmp 0x10017eaf
subss xmm0, dword [0x1009c5c0]
subss xmm1, dword [0x1009c5c0]
lea eax, [esp + 0x8c]
movss dword [esp + 0x94], xmm2
push eax
movss dword [esp + 0x9c], xmm3
lea eax, [esp + 0x98]
movss dword [esp + 0x90], xmm0
movss dword [esp + 0x94], xmm1
push eax
xorps xmm3, xmm3
call fcn.10053680
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10051600
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [0x100a3d98]
lea edi, [esp + 0x124]
mov dword [esp + 0x20], edi
mov eax, dword [edx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [edx + 0x1b9c]
movss xmm0, dword [edx + 0x1580]
addss xmm0, dword [eax + 0x110]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
xor eax, eax
mov dword [esp + 0x2c], eax
cmp eax, 6
jb 0x10018665
je 0x10017f4a
cmp eax, 8
jne 0x1001822f
xor edi, edi
cmp dword [esi + 0x54], edi
jle 0x1001822b
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
push edi
push eax
mov edx, esi
lea ecx, [esp + 0xfc]
call fcn.10019d70
movss xmm1, dword [esp + 0x108]
add esp, 8
movss xmm3, dword [esp + 0xf8]
movaps xmm0, xmm1
mov eax, dword [esp + 0x20]
subss xmm0, xmm3
movss xmm2, dword [esp + 0xfc]
movss xmm4, dword [esp + 0xf4]
movss dword [esp + 0x64], xmm1
push dword [eax]
cvtps2pd xmm0, xmm0
push edi
sub esp, 0x30
lea eax, [esp + 0x1b0]
movss dword [esp + 0x68], xmm3
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [esp + 0x98], xmm2
movss dword [esp + 0x74], xmm4
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm4
movsd qword [esp], xmm0
push str.__6.1f__6.1f____6.1f__6.1f__Size___6.1f__6.1f__Col__d__s
push 0x80
push eax
call fcn.10004230
add esp, 0x44
lea eax, [esp + 0x98]
xor dl, dl
lea ecx, [esp + 0x178]
push eax
push 0
call fcn.10078a70
mov edx, dword [0x100a3d98]
add esp, 8
cmp byte [edx + 0x1d53], 0
mov ecx, dword [edx + 0x1b9c]
je 0x1001807a
cmp byte [edx + 0x1d52], 0
jne 0x1001807a
mov eax, dword [edx + 0x1d04]
cmp eax, dword [ecx + 0x11c]
jne 0x1001806b
test eax, eax
je 0x1001806b
mov al, 1
jmp 0x1001806d
xor al, al
test al, al
je 0x1001821d
jmp 0x10018113
mov eax, dword [ecx + 0x120]
test al, 1
je 0x1001821d
cmp dword [edx + 0x1ba0], ecx
je 0x10018098
test al, al
jns 0x1001821d
mov eax, dword [edx + 0x1bd4]
test eax, eax
je 0x100180bc
cmp eax, dword [ecx + 0x11c]
je 0x100180bc
cmp byte [edx + 0x1be1], 0
jne 0x100180bc
cmp eax, dword [ecx + 0x50]
jne 0x1001821d
mov eax, dword [edx + 0x1d00]
test eax, eax
je 0x100180ee
mov eax, dword [eax + 0x31c]
test eax, eax
je 0x100180ee
cmp byte [eax + 0x8b], 0
je 0x100180ee
cmp eax, dword [ecx + 0x31c]
je 0x100180ee
test dword [eax + 8], 0xc000000
jne 0x1001821d
test byte [edx + 0x1bbc], 4
jne 0x1001821d
mov eax, dword [ecx + 0x11c]
cmp eax, dword [ecx + 0x50]
jne 0x10018113
cmp byte [ecx + 0x8c], 0
jne 0x1001821d
mov eax, dword [edx + 0x1cfc]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.10007650
movss xmm5, dword [0x1009c60c]
mov esi, eax
movss xmm3, dword [esp + 0x40]
add esp, 4
movss xmm2, dword [esp + 0x30]
subss xmm3, xmm5
movss xmm4, dword [0x1009c5c4]
subss xmm2, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm1, dword [esp + 0x60]
movss xmm0, dword [esp + 0x64]
addss xmm1, xmm5
addss xmm0, xmm5
addss xmm3, xmm4
addss xmm2, xmm4
push 0
je 0x100181ad
subss xmm1, xmm4
movss dword [esp + 0x6c], xmm3
subss xmm0, xmm4
movss dword [esp + 0x70], xmm2
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x70]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
jmp 0x100181e7
subss xmm1, dword [0x1009c5c0]
subss xmm0, dword [0x1009c5c0]
lea eax, [esp + 0x74]
movss dword [esp + 0xb4], xmm3
push eax
movss dword [esp + 0xbc], xmm2
lea eax, [esp + 0xb8]
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x7c], xmm0
push eax
xorps xmm3, xmm3
call fcn.10053680
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10051600
mov edx, dword [0x100a3d98]
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
inc edi
cmp edi, dword [esi + 0x54]
jl 0x10017f63
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
inc eax
add edi, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edi
cmp eax, 0xd
jl 0x10017f36
mov eax, dword [edx + 0x1b9c]
mov edi, dword [esp + 0x24]
mov byte [eax + 0x8c], 1
mov eax, dword [edx + 0x1b9c]
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [edx + 0x1580]
mov edx, dword [esp + 0x14]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
mov eax, dword [esp + 0x18]
inc edi
add eax, 0x1b0
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], eax
cmp edi, dword [edx + 0x1edc]
jl 0x10017d60
call fcn.100786a0
mov ecx, dword [esp + 0x14]
mov edx, str.Windows
lea ecx, [ecx + 0x1b54]
call fcn.1001b9c0
mov eax, dword [esp + 0x14]
xor esi, esi
mov edi, dword [eax + 0x1cf4]
test edi, edi
jle 0x100182f2
mov edx, dword [eax + 0x1cfc]
nop dword [eax]
mov eax, dword [edx]
lea edx, [edx + 4]
mov ecx, dword [eax + 0x6c]
add ecx, dword [eax + 0x60]
add esi, ecx
sub edi, 1
jne 0x100182e0
push esi
push str.DrawLists___d_
push str.DrawLists
call fcn.10077770
add esp, 0xc
test al, al
je 0x100183ae
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
cmp dword [eax + 0x1cf4], 0
jle 0x100183a9
xor ecx, ecx
mov dword [esp + 0x20], ecx
nop dword [eax]
mov eax, dword [eax + 0x1cfc]
mov eax, dword [ecx + eax]
mov ecx, 2
add eax, 0x60
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
nop dword [eax]
xor esi, esi
cmp dword [eax], esi
jle 0x10018379
xor edi, edi
mov edx, dword [eax + 8]
push ecx
xor ecx, ecx
mov edx, dword [edx + edi]
call fcn.1001a090
mov eax, dword [esp + 0x1c]
lea edi, [edi + 4]
inc esi
add esp, 4
cmp esi, dword [eax]
jl 0x10018358
mov ecx, dword [esp + 0x24]
add eax, 0xc
sub ecx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
jne 0x10018350
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc edx
mov ecx, dword [esp + 0x20]
add ecx, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
cmp edx, dword [eax + 0x1cf4]
jl 0x10018330
call fcn.100786a0
mov edi, dword [esp + 0x14]
push dword [edi + 0x1cf4]
push str.Viewports___d_
push str.Viewports
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018867
mov ecx, dword [0x100a3d98]
movss xmm0, dword [ecx + 0x1550]
mov eax, dword [ecx + 0x1b9c]
addss xmm0, xmm0
addss xmm0, dword [ecx + 0x1930]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1b9c]
ucomiss xmm0, dword [0x1009c53c]
lahf
test ah, 0x44
jp 0x10018414
movss xmm0, dword [ecx + 0x1580]
addss xmm0, dword [edx + 0x110]
movss dword [edx + 0x110], xmm0
addss xmm0, dword [edx + 0xc]
addss xmm0, dword [edx + 0x114]
movss dword [edx + 0xd0], xmm0
call fcn.100174c0
mov ecx, dword [0x100a3d98]
movss xmm1, dword [ecx + 0x1550]
mov eax, dword [ecx + 0x1b9c]
addss xmm1, xmm1
addss xmm1, dword [ecx + 0x1930]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1b9c]
ucomiss xmm1, dword [0x1009c53c]
lahf
test ah, 0x44
jp 0x10018480
movss xmm1, dword [ecx + 0x1580]
movss xmm0, dword [edx + 0x110]
subss xmm0, xmm1
mov dword [esp + 0x1c], 0
movss dword [edx + 0x110], xmm0
addss xmm0, dword [edx + 0xc]
addss xmm0, dword [edx + 0x114]
movss dword [edx + 0xd0], xmm0
cmp dword [edi + 0x1cf4], 0
jle 0x10018862
xor esi, esi
mov dword [esp + 0x20], esi
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x1cfc]
mov esi, dword [esi + eax]
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x10018500
or dword [ecx + 0x1c80], 2
mov byte [ecx + 0x1c90], 1
mov dword [ecx + 0x1c8c], 2
push 0
push str.Viewport__d
push str.viewport0
call fcn.10077770
add esp, 0xc
test al, al
je 0x1001863a
movss xmm0, dword [esi + 0x84]
sub esp, 0x40
cvtps2pd xmm0, xmm0
mov eax, dword [esi]
mov dword [esp + 0x70], eax
movsd qword [esp + 0x38], xmm0
movss xmm0, dword [esi + 0x80]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [esi + 0x7c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [esi + 0x78]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Main_Pos:___.0f__.0f___Size:___.0f__.0f__nWorkArea_Offset_Left:__.0f_Top:__.0f__Right:__.0f__Bottom:__.0f
call fcn.100650e0
mov ecx, dword [esp + 0x74]
add esp, 0x44
test cl, 4
mov edx, 0x1008a296
mov eax, str._OwnedByApp
cmove eax, edx
test cl, 2
push eax
mov eax, str._IsPlatformMonitor
cmove eax, edx
test cl, 1
push eax
mov eax, str._IsPlatformWindow
cmove eax, edx
push eax
push dword [esi]
push str.Flags:_0x_04X__s_s_s
call fcn.100650e0
lea eax, [esi + 0x60]
mov ecx, 2
add esp, 0x14
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
xor edi, edi
cmp dword [eax], edi
jle 0x10018621
xor esi, esi
nop dword [eax + eax]
mov edx, dword [eax + 8]
push ecx
xor ecx, ecx
mov edx, dword [esi + edx]
call fcn.1001a090
mov eax, dword [esp + 0x1c]
lea esi, [esi + 4]
inc edi
add esp, 4
cmp edi, dword [eax]
jl 0x10018600
mov ecx, dword [esp + 0x24]
add eax, 0xc
sub ecx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
jne 0x100185f3
call fcn.100786a0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
inc edx
add esi, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
cmp edx, dword [edi + 0x1cf4]
jge 0x10018862
mov ecx, dword [0x100a3d98]
jmp 0x100184d0
push 0xffffffffffffffff
push eax
mov edx, esi
lea ecx, [esp + 0xd8]
call fcn.10019d70
movss xmm1, dword [esp + 0xe4]
lea eax, [esp + 0x180]
movss xmm3, dword [esp + 0xdc]
movaps xmm0, xmm1
movss xmm2, dword [esp + 0xe0]
subss xmm0, xmm3
movss xmm4, dword [esp + 0xd8]
add esp, 8
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x30], xmm2
push dword [edi]
cvtps2pd xmm0, xmm0
sub esp, 0x30
movss dword [esp + 0x98], xmm4
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm4
movsd qword [esp], xmm0
push str.__6.1f__6.1f____6.1f__6.1f__Size___6.1f__6.1f___s
push 0x80
push eax
call fcn.10004230
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 0
push eax
push 0
xor dl, dl
mov dword [esp + 0x8c], 0
lea ecx, [esp + 0x1c0]
call fcn.10078a70
add esp, 0x48
xor ecx, ecx
call fcn.10007290
test al, al
je 0x10018853
mov eax, dword [0x100a3d98]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x1cfc]
mov ecx, dword [eax]
call fcn.10007650
movss xmm5, dword [0x1009c60c]
mov esi, eax
movss xmm3, dword [esp + 0x68]
add esp, 4
movss xmm2, dword [esp + 0x60]
subss xmm3, xmm5
movss xmm4, dword [0x1009c5c4]
subss xmm2, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm1, dword [esp + 0x30]
movss xmm0, dword [esp + 0x3c]
addss xmm1, xmm5
addss xmm0, xmm5
addss xmm3, xmm4
addss xmm2, xmm4
push 0
je 0x100187ed
subss xmm1, xmm4
movss dword [esp + 0x54], xmm3
subss xmm0, xmm4
movss dword [esp + 0x58], xmm2
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x58]
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x54], xmm0
jmp 0x10018827
subss xmm1, dword [0x1009c5c0]
subss xmm0, dword [0x1009c5c0]
lea eax, [esp + 0x5c]
movss dword [esp + 0xc4], xmm3
push eax
movss dword [esp + 0xcc], xmm2
lea eax, [esp + 0xc8]
movss dword [esp + 0x60], xmm1
movss dword [esp + 0x64], xmm0
push eax
xorps xmm3, xmm3
call fcn.10053680
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10051600
mov dword [esi + 0x54], 0
mov edx, dword [0x100a3d98]
mov eax, dword [esp + 0x2c]
jmp 0x1001822f
call fcn.100786a0
push dword [edi + 0x1cdc]
push str.Popups___d_
push str.Popups
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018921
mov eax, dword [esp + 0x14]
xor edi, edi
cmp dword [eax + 0x1cdc], edi
jle 0x10018918
xor esi, esi
nop dword [eax + eax]
mov eax, dword [eax + 0x1ce4]
mov ecx, dword [eax + esi + 4]
test ecx, ecx
je 0x100188be
test dword [ecx + 8], 0x10000000
je 0x100188be
mov edx, str._ChildMenu
jmp 0x100188c7
mov edx, 0x1008a296
test ecx, ecx
je 0x100188d9
test dword [ecx + 8], 0x1000000
je 0x100188d9
mov ecx, dword [ecx]
mov eax, str._ChildWindow
jmp 0x100188eb
mov eax, 0x1008a296
test ecx, ecx
je 0x100188e6
mov ecx, dword [ecx]
jmp 0x100188eb
mov ecx, str.NULL
push edx
push eax
push ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1ce4]
push dword [eax + esi]
push str.PopupID:__08x__Window:__s_s_s
call fcn.100650e0
mov eax, dword [esp + 0x28]
inc edi
add esp, 0x14
add esi, 0x24
cmp edi, dword [eax + 0x1cdc]
jl 0x100188a0
call fcn.100786a0
mov edi, dword [esp + 0x14]
push dword [edi + 0x1f20]
push str.Tab_Bars___d_
push str.TabBars
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018977
xor esi, esi
cmp dword [edi + 0x1f20], esi
jle 0x10018972
mov eax, dword [esp + 0x14]
xor edi, edi
nop dword [eax]
mov ecx, dword [eax + 0x1f28]
add ecx, edi
call fcn.1001ad50
mov eax, dword [esp + 0x14]
inc esi
add edi, 0x90
cmp esi, dword [eax + 0x1f20]
jl 0x10018950
mov edi, eax
call fcn.100786a0
push dword [edi + 0x1edc]
push str.Tables___d_
push str.Tables
call fcn.10077770
add esp, 0xc
test al, al
je 0x100189ca
xor esi, esi
cmp dword [edi + 0x1edc], esi
jle 0x100189c5
mov eax, dword [esp + 0x14]
xor edi, edi
mov ecx, dword [eax + 0x1ee4]
add ecx, edi
call fcn.10062080
mov eax, dword [esp + 0x14]
inc esi
add edi, 0x1b0
cmp esi, dword [eax + 0x1edc]
jl 0x100189a3
mov edi, eax
call fcn.100786a0
mov esi, dword [edi + 0x98]
push dword [esi + 0x34]
push str.Fonts___d_
push str.Fonts
call fcn.10077770
add esp, 0xc
test al, al
je 0x100189f5
mov ecx, esi
call fcn.1003fe30
call fcn.100786a0
mov esi, dword [0x100a3d98]
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x10018fcb
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.Settings
call fcn.10004270
add esp, 4
cmp dword [esi + 0x1bd4], eax
jne 0x10018a48
mov dword [esi + 0x1bd8], eax
cmp dword [esi + 0x1c0c], eax
jne 0x10018a57
mov byte [esi + 0x1c10], 1
push 0
push str.Settings
xor edx, edx
mov ecx, eax
call fcn.10077ad0
add esp, 8
test al, al
je 0x10018fcb
mov esi, dword [0x100a3d98]
lea edx, [esp + 0xc0]
push 0x8000
mov ecx, str.Clear
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
movss xmm0, dword [esi + 0x1554]
movss dword [esp + 0x34], xmm0
mov dword [esi + 0x1554], 0
call fcn.10065970
movss xmm0, dword [esp + 0x34]
add esp, 4
movss dword [esi + 0x1554], xmm0
test al, al
je 0x10018b5e
mov esi, dword [0x100a3d98]
mov eax, dword [esi + 0x2eac]
test eax, eax
je 0x10018b17
mov dword [esi + 0x2ea8], 0
mov dword [esi + 0x2ea4], 0
test esi, esi
je 0x10018b03
dec dword [esi + 0x370]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esi + 0x2eac], 0
xor edi, edi
cmp dword [esi + 0x2eb0], edi
jle 0x10018b5a
xor ecx, ecx
mov dword [esp + 0x18], ecx
nop word [eax + eax]
mov eax, dword [esi + 0x2eb8]
add eax, ecx
mov edx, dword [eax + 8]
test edx, edx
je 0x10018b4a
push eax
push esi
call edx
mov ecx, dword [esp + 0x20]
add esp, 8
inc edi
add ecx, 0x24
mov dword [esp + 0x18], ecx
cmp edi, dword [esi + 0x2eb0]
jl 0x10018b30
mov edi, dword [esp + 0x14]
mov esi, dword [0x100a3d98]
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov edx, dword [esi + 0x1b9c]
cmp byte [edx + 0x8f], 0
jne 0x10018bcc
movss xmm1, dword [esi + 0x1560]
addss xmm1, dword [edx + 0xd8]
movss xmm0, dword [edx + 0xdc]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xd4], xmm0
mov eax, dword [edx + 0x100]
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf8], eax
mov eax, dword [edx + 0x10c]
mov dword [edx + 0xfc], ecx
mov dword [edx + 0x108], eax
movss xmm0, dword [esi + 0x1554]
lea edx, [esp + 0xc0]
push 0x8000
mov ecx, str.Save_to_memory
movss dword [esp + 0x34], xmm0
mov dword [esi + 0x1554], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call fcn.10065970
movss xmm0, dword [esp + 0x34]
add esp, 4
movss dword [esi + 0x1554], xmm0
test al, al
je 0x10018c2c
xor ecx, ecx
call fcn.100163b0
mov esi, dword [0x100a3d98]
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov edx, dword [esi + 0x1b9c]
cmp byte [edx + 0x8f], 0
jne 0x10018c9a
movss xmm1, dword [esi + 0x1560]
addss xmm1, dword [edx + 0xd8]
movss xmm0, dword [edx + 0xdc]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xd4], xmm0
mov eax, dword [edx + 0x100]
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf8], eax
mov eax, dword [edx + 0x10c]
mov dword [edx + 0xfc], ecx
mov dword [edx + 0x108], eax
movss xmm0, dword [esi + 0x1554]
lea edx, [esp + 0xc0]
push 0x8000
mov ecx, str.Save_to_disk
movss dword [esp + 0x34], xmm0
mov dword [esi + 0x1554], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call fcn.10065970
movss xmm0, dword [esp + 0x34]
add esp, 4
movss dword [esi + 0x1554], xmm0
test al, al
je 0x10018d46
mov eax, dword [0x100a3d98]
mov esi, dword [edi + 0x20]
mov dword [eax + 0x2ea0], 0
test esi, esi
je 0x10018d46
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.100163b0
mov edx, 0x1008a770
mov ecx, esi
mov edi, eax
call fcn.10004310
mov esi, eax
test esi, esi
je 0x10018d46
push esi
push dword [esp + 0x1c]
push 1
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
mov ecx, dword [0x100a3d98]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1b9c]
cmp byte [edx + 0x8f], 0
jne 0x10018db4
movss xmm1, dword [ecx + 0x1560]
addss xmm1, dword [edx + 0xd8]
movss xmm0, dword [edx + 0xdc]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xd4], xmm0
mov eax, dword [edx + 0x100]
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf8], eax
mov eax, dword [edx + 0x10c]
mov dword [edx + 0xfc], ecx
mov dword [edx + 0x108], eax
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x10018dcf
push eax
push str.__s_
call fcn.100649b0
add esp, 8
jmp 0x10018de0
push 1
xor edx, edx
mov ecx, str._NULL_
call fcn.100642b0
add esp, 4
movss xmm0, dword [edi + 0x2ea0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.100649b0
add esp, 0xc
push dword [edi + 0x2eb0]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018e5d
xor esi, esi
cmp dword [edi + 0x2eb0], esi
jle 0x10018e58
mov eax, dword [esp + 0x14]
xor edi, edi
nop dword [eax]
mov eax, dword [eax + 0x2eb8]
push dword [edi + eax]
push 0x1008ad40
call fcn.100650e0
mov eax, dword [esp + 0x1c]
lea edi, [edi + 0x24]
inc esi
add esp, 8
cmp esi, dword [eax + 0x2eb0]
jl 0x10018e30
mov edi, eax
call fcn.100786a0
push dword [edi + 0x2ebc]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018ee0
mov esi, dword [edi + 0x2ec4]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x10018edb
nop word [eax + eax]
movzx eax, byte [esi + 0xc]
push eax
movsx eax, word [esi + 0xa]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 6]
push eax
movsx eax, word [esi + 4]
push eax
lea eax, [esi + 0x10]
push eax
push dword [esi]
push str.0x_08X___s__Pos___d__d__Size___d__d__Collapsed_d
call fcn.100649b0
mov edx, dword [esi - 4]
add esp, 0x20
mov eax, dword [edi + 0x2ec4]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x2ebc]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x10018e90
call fcn.100786a0
push dword [edi + 0x2ec8]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018f3b
mov esi, dword [edi + 0x2ed0]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x10018f36
nop dword [eax]
mov ecx, esi
call fcn.10062b70
mov edx, dword [esi - 4]
mov eax, dword [edi + 0x2ed0]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x2ec8]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x10018f10
call fcn.100786a0
mov ecx, dword [edi + 0x2ea4]
lea eax, [ecx - 1]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push str.Settings_unpacked_data__.ini_:__d_bytes
push str.SettingsIniData
call fcn.10077770
add esp, 0xc
test al, al
je 0x10018fc6
mov eax, dword [0x100a3d98]
mov ecx, 0x100a3d94
push 0
push 0
push 0x4004000
movss xmm0, dword [eax + 0x1930]
mov eax, dword [edi + 0x2eac]
test eax, eax
mulss xmm0, dword [0x1009c70c]
cmovne ecx, eax
mov dword [esp + 0xcc], 0x80800000
lea eax, [esp + 0xcc]
xor edx, edx
push eax
push dword [edi + 0x2ea4]
movss dword [esp + 0xd8], xmm0
push ecx
mov ecx, str.Ini
call fcn.1006ed30
add esp, 0x18
call fcn.100786a0
call fcn.100786a0
mov esi, dword [0x100a3d98]
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x10019471
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.Internal_state
call fcn.10004270
add esp, 4
cmp dword [esi + 0x1bd4], eax
jne 0x1001901e
mov dword [esi + 0x1bd8], eax
cmp dword [esi + 0x1c0c], eax
jne 0x1001902d
mov byte [esi + 0x1c10], 1
push 0
push str.Internal_state
xor edx, edx
mov ecx, eax
call fcn.10077ad0
add esp, 8
test al, al
je 0x10019471
push str.WINDOWING
mov dword [esp + 0xd4], 0x1008ae04
mov dword [esp + 0xd8], str.Mouse
mov dword [esp + 0xdc], str.Keyboard
mov dword [esp + 0xe0], str.Gamepad
mov dword [esp + 0xe4], 0x1008ae28
mov dword [esp + 0xe8], str.Clipboard
call fcn.100649b0
mov ecx, dword [0x100a3d98]
add esp, 4
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [ecx + 0x1580]
addss xmm0, dword [eax + 0x110]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
mov eax, dword [edi + 0x1ba0]
test eax, eax
je 0x100190eb
mov eax, dword [eax]
jmp 0x100190f0
mov eax, str.NULL
push eax
push str.HoveredWindow:__s
call fcn.100649b0
mov eax, dword [edi + 0x1ba0]
add esp, 8
test eax, eax
je 0x10019112
mov eax, dword [eax + 0x31c]
mov eax, dword [eax]
jmp 0x10019117
mov eax, str.NULL
push eax
push str.HoveredWindow__Root:__s
call fcn.100649b0
mov eax, dword [edi + 0x1ba4]
add esp, 8
test eax, eax
je 0x10019133
mov eax, dword [eax]
jmp 0x10019138
mov eax, str.NULL
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.100649b0
mov eax, dword [edi + 0x1ba8]
add esp, 8
test eax, eax
je 0x10019154
mov eax, dword [eax]
jmp 0x10019159
mov eax, str.NULL
push eax
push str.MovingWindow:__s
call fcn.100649b0
mov ecx, dword [0x100a3d98]
push str.ITEMS
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [ecx + 0x1580]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
call fcn.100649b0
mov ecx, dword [0x100a3d98]
add esp, 0xc
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [ecx + 0x1580]
addss xmm0, dword [eax + 0x110]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
mov eax, dword [edi + 0x1c04]
movss xmm0, dword [edi + 0x1bdc]
cvtps2pd xmm0, xmm0
push dword [esp + eax*4 + 0xd0]
movzx eax, byte [edi + 0x1be1]
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [edi + 0x1c0c]
push dword [edi + 0x1bd4]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.100649b0
mov eax, dword [edi + 0x1c00]
add esp, 0x1c
test eax, eax
je 0x1001924c
mov eax, dword [eax]
jmp 0x10019251
mov eax, str.NULL
push eax
push str.ActiveIdWindow:__s
call fcn.100649b0
movss xmm0, dword [edi + 0x1bcc]
add esp, 8
movzx eax, byte [edi + 0x1bc8]
cvtps2pd xmm0, xmm0
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [edi + 0x1bc4]
push dword [edi + 0x1bc0]
push str.HoveredId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.100649b0
push dword [edi + 0x1e58]
lea eax, [edi + 0x1e68]
push eax
push dword [edi + 0x1e5c]
movzx eax, byte [edi + 0x1e44]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.100649b0
mov ecx, dword [0x100a3d98]
add esp, 0x2c
mov eax, dword [ecx + 0x1b9c]
push str.NAV_FOCUS
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [ecx + 0x1580]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
call fcn.100649b0
mov ecx, dword [0x100a3d98]
add esp, 4
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [ecx + 0x1580]
addss xmm0, dword [eax + 0x110]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
mov eax, dword [edi + 0x1d00]
test eax, eax
je 0x1001935f
mov eax, dword [eax]
jmp 0x10019364
mov eax, str.NULL
push eax
push str.NavWindow:__s
call fcn.100649b0
push dword [edi + 0x1d48]
push dword [edi + 0x1d04]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.100649b0
mov eax, dword [edi + 0x1d30]
add esp, 0x14
push dword [esp + eax*4 + 0xd0]
push str.NavInputSource:__s
call fcn.100649b0
movzx eax, byte [edi + 0x35a]
push eax
movzx eax, byte [edi + 0x359]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.100649b0
add esp, 0x14
push dword [edi + 0x1d18]
push dword [edi + 0x1d0c]
push str.NavActivateId:_0x_08X__NavInputId:_0x_08X
call fcn.100649b0
movzx eax, byte [edi + 0x1d53]
add esp, 0xc
push eax
movzx eax, byte [edi + 0x1d52]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.100649b0
add esp, 0xc
push dword [edi + 0x1d08]
push str.NavFocusScopeId__0x_08X
call fcn.100649b0
mov eax, dword [edi + 0x1e08]
add esp, 8
test eax, eax
je 0x10019413
mov eax, dword [eax]
jmp 0x10019418
mov eax, str.NULL
push eax
push str.NavWindowingTarget:__s
call fcn.100649b0
mov ecx, dword [0x100a3d98]
add esp, 8
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [ecx + 0x1580]
movss dword [eax + 0x110], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x114]
movss dword [eax + 0xd0], xmm0
call fcn.100786a0
cmp byte [edi + 0x2f20], 0
lea edx, [edi + 0x2f20]
jne 0x1001948a
cmp byte [edx + 1], 0
je 0x1001985d
cmp dword [edi + 0x1b54], 0
mov dword [esp + 0x18], 0
jle 0x1001985d
xor esi, esi
mov dword [esp + 0x24], esi
nop word [eax + eax]
mov eax, dword [edi + 0x1b5c]
mov esi, dword [esi + eax]
cmp byte [esi + 0x8b], 0
je 0x1001983d
mov eax, dword [0x100a3d98]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x1cfc]
mov ecx, dword [eax]
call fcn.10007650
mov edx, dword [esp + 0x2c]
add esp, 4
mov edi, eax
cmp byte [edx], 0
je 0x10019755
mov ecx, dword [edx + 8]
test ecx, ecx
jne 0x10019538
movss xmm1, dword [esi + 0xc]
movss xmm0, dword [esi + 0x10]
movss dword [esp + 0xb0], xmm1
addss xmm1, dword [esi + 0x14]
movss dword [esp + 0xb4], xmm0
addss xmm0, dword [esi + 0x18]
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0xbc], xmm0
jmp 0x10019657
cmp ecx, 1
jne 0x10019551
movups xmm0, xmmword [esi + 0x1e0]
movups xmmword [esp + 0xb0], xmm0
jmp 0x10019657
cmp ecx, 2
jne 0x1001956a
movups xmm0, xmmword [esi + 0x1f0]
movups xmmword [esp + 0xb0], xmm0
jmp 0x10019657
cmp ecx, 3
jne 0x10019583
movups xmm0, xmmword [esi + 0x200]
movups xmmword [esp + 0xb0], xmm0
jmp 0x10019657
cmp ecx, 4
jne 0x1001959c
movups xmm0, xmmword [esi + 0x210]
movups xmmword [esp + 0xb0], xmm0
jmp 0x10019657
cmp ecx, 5
jne 0x100195fb
movss xmm3, dword [esi + 0x1f0]
movss xmm2, dword [esi + 0x1f4]
subss xmm3, dword [esi + 0x58]
subss xmm2, dword [esi + 0x5c]
addss xmm3, dword [esi + 0x3c]
addss xmm2, dword [esi + 0x40]
movaps xmm1, xmm3
addss xmm1, dword [esi + 0x24]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x28]
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm2
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0xbc], xmm0
jmp 0x10019657
cmp ecx, 6
jne 0x10019636
movss xmm3, dword [esi + 0x1f0]
movss xmm2, dword [esi + 0x1f4]
subss xmm3, dword [esi + 0x58]
subss xmm2, dword [esi + 0x5c]
addss xmm3, dword [esi + 0x3c]
addss xmm2, dword [esi + 0x40]
movaps xmm1, xmm3
addss xmm1, dword [esi + 0x2c]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x30]
jmp 0x100195d5
cmp ecx, 7
jne 0x1001964c
movups xmm0, xmmword [esi + 0x240]
movups xmmword [esp + 0xb0], xmm0
jmp 0x10019657
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
test byte [edi + 0x24], 1
xorps xmm3, xmm3
movss xmm0, dword [esp + 0xb8]
mov ecx, edi
push 0
je 0x100196cc
movss xmm1, dword [0x1009c5c4]
lea eax, [esp + 0xc4]
subss xmm0, xmm1
push eax
lea eax, [esp + 0x60]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, xmm1
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0xb8]
addss xmm0, xmm1
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0xbc]
addss xmm0, xmm1
movss dword [esp + 0x64], xmm0
jmp 0x10019728
subss xmm0, dword [0x1009c5c0]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, dword [0x1009c5c0]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0xb8]
addss xmm0, dword [0x1009c5c4]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xbc]
addss xmm0, dword [0x1009c5c4]
movss dword [esp + 0x54], xmm0
push eax
call fcn.10053680
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push 0xff8000ff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10051600
mov edx, dword [esp + 0x28]
mov dword [edi + 0x54], 0
cmp byte [edx + 1], 0
je 0x10019839
test dword [esi + 8], 0x1000000
jne 0x10019839
movsx eax, word [esi + 0x9a]
push eax
push 0x1008b08c
lea eax, [esp + 0x160]
push 0x20
push eax
call fcn.10004230
mov eax, dword [0x100a3d98]
add esp, 0x10
add esi, 0xc
movss xmm1, dword [eax + 0x1930]
lea eax, [esp + 0x40]
push 0
push ecx
movaps xmm0, xmm1
mov dword [esp], 0
addss xmm0, dword [esi]
addss xmm1, dword [esi + 4]
push 0xff6464c8
push eax
push esi
mov ecx, edi
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x58], xmm1
call fcn.10053d20
lea ecx, [esp + 0x158]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100197e0
sub ecx, edx
lea eax, [esp + 0x158]
add ecx, eax
cmp eax, ecx
je 0x10019835
push dword [esi + 4]
mov eax, dword [edi + 0x2c]
push dword [esi]
movups xmm0, xmmword [edi + 0x60]
push 0
movss xmm2, dword [eax + 0xc]
push ecx
mov dword [esp], 0
push ecx
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0xe8]
push ecx
mov ecx, dword [eax + 8]
push 0xffffffffffffffff
push edi
movups xmmword [esp + 0xf4], xmm0
call fcn.10058270
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
inc eax
add esi, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], esi
cmp eax, dword [edi + 0x1b54]
jl 0x100194b0
cmp byte [edx + 2], 0
je 0x10019d4b
mov esi, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x24], edi
cmp dword [esi + 0x1edc], edi
jle 0x10019d4b
xor eax, eax
mov dword [esp + 0x30], 0xff80ffff
mov dword [esp + 0x2c], eax
nop dword [eax + eax]
mov esi, dword [esi + 0x1ee4]
add esi, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1b38]
dec eax
cmp dword [esi + 0x50], eax
jl 0x10019d29
mov eax, dword [0x100a3d98]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x1cfc]
mov ecx, dword [eax]
call fcn.10007650
mov edx, dword [esp + 0x2c]
mov ecx, eax
add esp, 4
mov dword [esp + 0x20], ecx
mov eax, dword [edx + 0xc]
cmp eax, 6
jl 0x10019bf3
cmp dword [esi + 0x54], 0
mov dword [esp + 0x1c], 0
jle 0x10019d29
xor edi, edi
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x10019910
movups xmm0, xmmword [esi + 0xd4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 1
jne 0x10019929
movups xmm0, xmmword [esi + 0xe4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 2
jne 0x10019942
movups xmm0, xmmword [esi + 0xf4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 3
jne 0x1001995b
movups xmm0, xmmword [esi + 0x144]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 4
jne 0x10019974
movups xmm0, xmmword [esi + 0x104]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 5
jne 0x1001998d
movups xmm0, xmmword [esi + 0x114]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 6
jne 0x100199b9
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0x108]
movaps xmm1, xmm0
addss xmm0, dword [esi + 0xb4]
movss xmm3, dword [eax + edi + 8]
movss xmm2, dword [eax + edi + 0xc]
jmp 0x10019ada
cmp eax, 7
jne 0x100199e2
mov eax, dword [esi + 0x10]
movss xmm1, dword [esi + 0xf8]
movss xmm0, dword [esi + 0x100]
movss xmm3, dword [eax + edi + 0x34]
movss xmm2, dword [eax + edi + 0x38]
jmp 0x10019ada
cmp eax, 8
jne 0x100199fc
mov eax, dword [esi + 0x10]
movups xmm0, xmmword [eax + edi + 0x20]
movups xmmword [esp + 0xa0], xmm0
jmp 0x10019ab6
cmp eax, 9
jne 0x10019a28
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0x108]
movaps xmm1, xmm0
addss xmm0, dword [esi + 0xb8]
movss xmm3, dword [eax + edi + 0x34]
movss xmm2, dword [eax + edi + 0x48]
jmp 0x10019ada
cmp eax, 0xa
jne 0x10019a54
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0x108]
movaps xmm1, xmm0
addss xmm0, dword [esi + 0xb8]
movss xmm3, dword [eax + edi + 0x34]
movss xmm2, dword [eax + edi + 0x4c]
jmp 0x10019ada
cmp eax, 0xb
jne 0x10019a7d
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0x108]
movaps xmm1, xmm0
addss xmm0, dword [esi + 0xb8]
movss xmm3, dword [eax + edi + 0x34]
movss xmm2, dword [eax + edi + 0x40]
jmp 0x10019ada
cmp eax, 0xc
jne 0x10019aab
mov eax, dword [esi + 0x10]
movss xmm1, dword [esi + 0x108]
addss xmm1, dword [esi + 0xb8]
movss xmm0, dword [esi + 0x110]
movss xmm3, dword [eax + edi + 0x34]
movss xmm2, dword [eax + edi + 0x44]
jmp 0x10019ada
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movss xmm3, dword [esp + 0xa0]
movss xmm1, dword [esp + 0xa4]
movss xmm2, dword [esp + 0xa8]
movss xmm0, dword [esp + 0xac]
movsx eax, byte [esi + 0x18c]
mov edx, 0xff8000ff
cmp eax, dword [esp + 0x1c]
cmove edx, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
jne 0x10019aff
movss xmm4, dword [0x1009c69c]
jmp 0x10019b07
movss xmm4, dword [0x1009c60c]
test byte [ecx + 0x24], 1
movss dword [esp + 0x18], xmm4
push 0
je 0x10019b59
movss xmm4, dword [0x1009c5c4]
lea eax, [esp + 0xc4]
subss xmm2, xmm4
subss xmm0, xmm4
addss xmm3, xmm4
addss xmm1, xmm4
push eax
movss dword [esp + 0xc8], xmm2
lea eax, [esp + 0x60]
movss dword [esp + 0xcc], xmm0
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x64], xmm1
jmp 0x10019b9a
subss xmm2, dword [0x1009c5c0]
subss xmm0, dword [0x1009c5c0]
addss xmm3, dword [0x1009c5c4]
addss xmm1, dword [0x1009c5c4]
lea eax, [esp + 0x54]
push eax
movss dword [esp + 0x58], xmm2
lea eax, [esp + 0x50]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x50], xmm3
movss dword [esp + 0x54], xmm1
push eax
xorps xmm3, xmm3
call fcn.10053680
movss xmm0, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push ecx
movss dword [esp], xmm0
mov ecx, eax
push 1
push dword [esp + 0x44]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.10051600
mov ecx, dword [esp + 0x20]
add edi, 0x68
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
mov dword [ecx + 0x54], 0
cmp edx, dword [esi + 0x54]
mov edx, dword [esp + 0x28]
jl 0x100198f5
mov edi, dword [esp + 0x24]
jmp 0x10019d29
test eax, eax
jne 0x10019c00
movups xmm1, xmmword [esi + 0xd4]
jmp 0x10019c49
cmp eax, 1
jne 0x10019c0e
movups xmm1, xmmword [esi + 0xe4]
jmp 0x10019c49
cmp eax, 2
jne 0x10019c1c
movups xmm1, xmmword [esi + 0xf4]
jmp 0x10019c49
cmp eax, 3
jne 0x10019c2a
movups xmm1, xmmword [esi + 0x144]
jmp 0x10019c49
cmp eax, 4
jne 0x10019c38
movups xmm1, xmmword [esi + 0x104]
jmp 0x10019c49
cmp eax, 5
jne 0x10019c46
movups xmm1, xmmword [esi + 0x114]
jmp 0x10019c49
xorps xmm1, xmm1
test byte [ecx + 0x24], 1
movaps xmm0, xmm1
push 0
xorps xmm3, xmm3
shufps xmm0, xmm1, 0xaa
je 0x10019cad
movss xmm2, dword [0x1009c5c4]
lea eax, [esp + 0x44]
subss xmm0, xmm2
push eax
lea eax, [esp + 0xb8]
movss dword [esp + 0x48], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
subss xmm0, xmm2
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm1
shufps xmm1, xmm1, 0x55
addss xmm0, xmm2
addss xmm1, xmm2
movss dword [esp + 0xb8], xmm0
movss dword [esp + 0xbc], xmm1
jmp 0x10019cfc
subss xmm0, dword [0x1009c5c0]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x70]
movss dword [esp + 0x78], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
subss xmm0, dword [0x1009c5c0]
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x1009c5c4]
shufps xmm1, xmm1, 0x55
addss xmm1, dword [0x1009c5c4]
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x74], xmm1
push eax
call fcn.10053680
mov esi, dword [esp + 0x20]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff8000ff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10051600
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x14]
inc edi
mov eax, dword [esp + 0x2c]
add eax, 0x1b0
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], eax
cmp edi, dword [esi + 0x1edc]
jl 0x10019890
call fcn.1000f980
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
xor ecx, esp
call fcn.10086e3f
mov esp, ebp
pop ebp
ret