Function at 0x420090
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
mov eax, dword [0x4b2740]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x4b31e4]
cmp byte [ebx + 0x5ea0], 0
push esi
lea esi, [ebx + 0x5ea0]
mov dword [ebp - 0x12c], ebx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x160], esi
je 0x4200d3
push esi
call fcn.0041f2f0
add esp, 4
inc esi
cmp byte [esi], 0
je 0x4200e2
push esi
call fcn.0041fb70
add esp, 4
push 0
push edi
push str.Dear_ImGui_Metrics_Debugger
call fcn.00404a70
add esp, 0xc
test al, al
je 0x4236c6
mov ecx, dword [0x4b31e4]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp word [eax + 0xbc], 1
jg 0x4236c6
mov eax, dword [0x4b31e4]
push str.1.90.4
push str.Dear_ImGui__s
mov dword [eax + 0x3f88], 0
mov dword [eax + 0x4ce4], 0
mov dword [eax + 0x48d0], 0
call fcn.0047f590
movss xmm1, dword [ebx + 0x9c]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [0x494398]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.0047f590
mov ecx, dword [ebx + 0xa4]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push dword [ebx + 0xa0]
push str._d_vertices___d_indices___d_triangles_
call fcn.0047f590
mov eax, dword [ebx + 0x5edc]
sub eax, dword [ebx + 0x5ee0]
push eax
push dword [ebx + 0xa8]
push str._d_visible_windows___d_current_allocations
call fcn.0047f590
add esp, 0x30
call fcn.0047bac0
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0xc4], str.OuterRect
mov dword [ebp - 0xc0], str.OuterRectClipped
mov dword [ebp - 0xbc], str.InnerRect
mov dword [ebp - 0xb8], str.InnerClipRect
mov dword [ebp - 0xb4], str.WorkRect
mov dword [ebp - 0xb0], str.Content
mov dword [ebp - 0xac], str.ContentIdeal
mov dword [ebp - 0xa8], str.ContentRegionRect
mov dword [ebp - 0xf8], str.OuterRect
mov dword [ebp - 0xf4], str.InnerRect
mov dword [ebp - 0xf0], str.WorkRect
mov dword [ebp - 0xec], str.HostClipRect
mov dword [ebp - 0xe8], str.InnerClipRect
mov dword [ebp - 0xe4], str.BackgroundClipRect
mov dword [ebp - 0xe0], str.ColumnsRect
mov dword [ebp - 0xdc], str.ColumnsWorkRect
mov dword [ebp - 0xd8], str.ColumnsClipRect
mov dword [ebp - 0xd4], str.ColumnsContentHeadersUsed
mov dword [ebp - 0xd0], str.ColumnsContentHeadersIdeal
mov dword [ebp - 0xcc], str.ColumnsContentFrozen
mov dword [ebp - 0xc8], str.ColumnsContentUnfrozen
cmp dword [ecx + 0xc], 0
jge 0x4202b4
mov dword [ecx + 0xc], 4
cmp dword [ecx + 0x10], 0
lea edi, [ecx + 0x10]
jge 0x4202c3
mov dword [edi], 2
push str.Tools
call fcn.0047fcf0
add esp, 4
test al, al
je 0x420a51
mov ecx, dword [0x4b31e4]
lea eax, [ebp - 0x110]
push 0
push 0
push 0x4921ac
movss xmm0, dword [ecx + 0x3cf4]
sub esp, 0xc
mov ecx, dword [ecx + 0x3cf0]
mov dword [esp + 8], 0xbf800000
mov dword [esp + 4], 0x7f7fffff
movss dword [esp], xmm0
push eax
call fcn.00446e80
movss xmm0, dword [ebp - 0x110]
addss xmm0, dword [0x49430c]
push ecx
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x110], xmm0
addss xmm0, dword [ebx + 0x3964]
movss dword [esp], xmm0
push 0
push str.Debug_breaks
push 0
call fcn.0047bdb0
add esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push str.Will_call_the_IM_DEBUG_BREAK___macro_to_break_in_debugger._nWarning:_If_you_dont_have_a_debugger_attached__this_will_probably_crash.
call fcn.00414ef0
lea eax, [ebx + 0x5e85]
push eax
push str.Show_Item_Picker
call fcn.0046d2e0
add esp, 0x14
test al, al
je 0x4203a6
cmp byte [ebx + 0x5e85], 0
je 0x4203a6
mov eax, dword [0x4b31e4]
mov byte [eax + 0x5e85], 1
lea eax, [ebx + 0x64]
push eax
push str.Show__Debug_Break__buttons_in_other_sections__io.ConfigDebugIsDebuggerPresent_
call fcn.0046d2e0
push str.Visualize
call fcn.0047bd60
lea ecx, [ebx + 0x5ea0]
push ecx
push str.Show_Debug_Log
call fcn.0046d2e0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push str.You_can_also_call_ImGui::ShowDebugLogWindow___from_your_code.
call fcn.00414ef0
push esi
push str.Show_ID_Stack_Tool
call fcn.0046d2e0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push str.You_can_also_call_ImGui::ShowIDStackToolWindow___from_your_code.
call fcn.00414ef0
lea esi, [ebx + 0x5ea0]
lea eax, [esi + 3]
push eax
push str.Show_windows_begin_order
call fcn.0046d2e0
add esi, 2
push esi
push str.Show_windows_rectangles
call fcn.0046d2e0
add esp, 0x14
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
mov eax, dword [0x4b31e4]
lea ecx, [ebx + 0x5ea0]
push 8
push 8
movss xmm0, dword [eax + 0x3cf4]
mulss xmm0, dword [0x494364]
or dword [eax + 0x48e8], 1
movss dword [eax + 0x48f8], xmm0
lea eax, [ebp - 0xc4]
push eax
lea eax, [ecx + 0xc]
push eax
push str.show_windows_rect_type
call fcn.00471cc0
add esp, 0x1c
or byte [esi], al
je 0x42056d
mov eax, dword [ebx + 0x4a38]
test eax, eax
je 0x42056d
push dword [eax + 4]
push str._s:
call fcn.0046c770
add esp, 4
mov dword [esp], 0
call fcn.00412650
add esp, 4
xor esi, esi
push esi
push dword [ebx + 0x4a38]
lea eax, [ebp - 0x14]
push eax
call fcn.00410aa0
movss xmm2, dword [ebp - 8]
add esp, 0xc
movss xmm4, dword [ebp - 0x10]
movaps xmm0, xmm2
movss xmm1, dword [ebp - 0xc]
subss xmm0, xmm4
movss xmm3, dword [ebp - 0x14]
push dword [ebp + esi*4 - 0xc4]
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.0047f590
inc esi
add esp, 0x38
cmp esi, 8
jl 0x4204d2
push ecx
mov dword [esp], 0
call fcn.00424340
add esp, 4
lea esi, [ebx + 0x5ea4]
push esi
push str.Show_tables_rectangles
call fcn.0046d2e0
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
mov eax, dword [0x4b31e4]
push 0xd
push 0xd
movss xmm0, dword [eax + 0x3cf4]
mulss xmm0, dword [0x494364]
or dword [eax + 0x48e8], 1
movss dword [eax + 0x48f8], xmm0
lea eax, [ebp - 0xf8]
push eax
push edi
push str.show_table_rects_type
call fcn.00471cc0
add esp, 0x1c
or byte [esi], al
je 0x420982
cmp dword [ebx + 0x4a38], 0
je 0x420982
xor edx, edx
mov dword [ebp - 0x128], edx
cmp dword [ebx + 0x4d04], edx
jle 0x420982
nop dword [eax + eax]
mov eax, dword [ebx + 0x4d0c]
mov edi, dword [eax + edx*8 + 4]
cmp edi, 0xffffffff
je 0x42096f
shl edi, 9
add edi, dword [ebx + 0x4d00]
je 0x42096f
mov eax, dword [ebx + 0x3f08]
dec eax
cmp dword [edi + 0x3c], eax
jl 0x42096f
mov eax, dword [ebx + 0x4a38]
mov ecx, dword [edi + 0x154]
cmp ecx, eax
je 0x42064e
cmp dword [edi + 0x158], eax
jne 0x42096f
push dword [ecx + 4]
push dword [edi + 0x40]
push dword [edi]
push str.Table_0x_08X___d_columns__in__s_
call fcn.0046c770
push 0
call fcn.00412f90
add esp, 0x14
test al, al
je 0x420711
mov eax, dword [0x4b31e4]
push str.Foreground
push 1
mov eax, dword [eax + 0x4a34]
push dword [eax]
call fcn.00410960
movss xmm1, dword [0x494310]
add esp, 8
movss xmm0, dword [edi + 0xc4]
subss xmm0, xmm1
mov dword [esp], 0x40000000
push 0
push ecx
movss dword [ebp - 0x134], xmm0
lea ecx, [ebp - 0x110]
movss xmm0, dword [edi + 0xc8]
subss xmm0, xmm1
mov dword [esp], 0
push 0xff00ffff
push ecx
lea ecx, [ebp - 0x134]
push ecx
movss dword [ebp - 0x130], xmm0
mov ecx, eax
movss xmm0, dword [edi + 0xcc]
addss xmm0, xmm1
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [edi + 0xd0]
addss xmm0, xmm1
movss dword [ebp - 0x10c], xmm0
call fcn.00446370
mov ecx, dword [0x4b31e4]
lea esi, [ebp - 0xf8]
xor ebx, ebx
mov dword [ebp - 0x124], esi
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
cmp ebx, 6
jb 0x420fd7
je 0x420779
cmp ebx, 8
jne 0x42090a
xor esi, esi
cmp dword [edi + 0x40], esi
jle 0x420904
push esi
push ebx
lea eax, [ebp - 0x120]
push edi
push eax
call fcn.00410650
movss xmm2, dword [ebp - 0x114]
add esp, 0x10
movss xmm4, dword [ebp - 0x11c]
movaps xmm0, xmm2
mov eax, dword [ebp - 0x124]
subss xmm0, xmm4
movss xmm1, dword [ebp - 0x118]
movss xmm3, dword [ebp - 0x120]
push dword [eax]
cvtps2pd xmm0, xmm0
push esi
sub esp, 0x30
lea eax, [ebp - 0xa4]
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__Col__d__s
push 0x80
push eax
call fcn.00410e90
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0
push eax
push 0
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x158], 0
push 0
push eax
call fcn.0047b550
add esp, 0x54
push 0
call fcn.00412f90
add esp, 4
test al, al
je 0x4208fa
mov eax, dword [0x4b31e4]
push str.Foreground
push 1
mov eax, dword [eax + 0x4a34]
push dword [eax]
call fcn.00410960
movss xmm1, dword [0x494310]
add esp, 8
movss xmm0, dword [ebp - 0x118]
addss xmm0, xmm1
mov dword [esp], 0x40000000
push 0
push ecx
movss dword [ebp - 0x154], xmm0
lea ecx, [ebp - 0x154]
movss xmm0, dword [ebp - 0x114]
addss xmm0, xmm1
mov dword [esp], 0
push 0xff00ffff
push ecx
lea ecx, [ebp - 0x168]
push ecx
movss dword [ebp - 0x150], xmm0
mov ecx, eax
movss xmm0, dword [ebp - 0x120]
subss xmm0, xmm1
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x11c]
subss xmm0, xmm1
movss dword [ebp - 0x164], xmm0
call fcn.00446370
inc esi
cmp esi, dword [edi + 0x40]
jl 0x420784
mov esi, dword [ebp - 0x124]
inc ebx
add esi, 4
mov dword [ebp - 0x124], esi
cmp ebx, 0xd
jl 0x420765
mov ecx, dword [0x4b31e4]
mov ebx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x128]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
inc edx
mov dword [ebp - 0x128], edx
cmp edx, dword [ebx + 0x4d04]
jl 0x420600
lea eax, [ebx + 0x49b8]
push eax
push str.Show_groups_rectangles
call fcn.0046d2e0
push str.Validate
call fcn.0047bd60
lea eax, [ebx + 0x66]
push eax
push str.Debug_Begin_BeginChild_return_value
call fcn.0046d2e0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push str.Some_calls_to_Begin___BeginChild___will_return_false._n_nWill_cycle_through_window_depths_then_repeat._Windows_should_be_flickering_while_running.
call fcn.00414ef0
lea esi, [ebx + 0x5ea7]
push esi
push str.UTF_8_Encoding_viewer
call fcn.0046d2e0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.0041d280
push str.You_can_also_call_ImGui::DebugTextEncoding___from_your_code_with_a_given_string_to_test_that_your_UTF_8_encoding_settings_are_correct.
call fcn.00414ef0
add esp, 0xc
cmp byte [esi], 0
je 0x420a4c
mov eax, dword [0x4b31e4]
push 0
push 0
push 0
or dword [eax + 0x48e8], 1
push 0x40
push 0x4b3200
push str.DebugTextEncodingBuf
mov dword [eax + 0x48f8], 0x80800000
call fcn.00474f60
add esp, 0x18
cmp byte [0x4b3200], 0
je 0x420a4c
push 0x4b3200
call fcn.0040d300
add esp, 4
call fcn.00480a10
push dword [ebx + 0x3f40]
lea esi, [ebx + 0x3f40]
push str.Windows___d_
push str.Windows
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x420b34
push str.By_display_order
push esi
call fcn.0040c360
lea eax, [ebx + 0x3f4c]
push str.By_focus_order__root_windows_
push eax
call fcn.0040c360
push str.By_submission_order__begin_stack_
call fcn.0047fcf0
add esp, 0x14
test al, al
je 0x420b2f
lea edi, [ebx + 0x3f58]
push 0
mov ecx, edi
call fcn.004280f0
mov esi, dword [esi + 8]
mov eax, dword [ebx + 0x3f40]
lea eax, [esi + eax*4]
mov dword [ebp - 0x124], eax
cmp esi, eax
je 0x420b00
nop dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0x128], eax
mov eax, dword [eax + 0x244]
inc eax
cmp eax, dword [ebx + 0x3f08]
jl 0x420af5
lea eax, [ebp - 0x128]
mov ecx, edi
push eax
call fcn.00427ab0
add esi, 4
cmp esi, dword [ebp - 0x124]
jne 0x420ad0
mov eax, dword [edi]
cmp eax, 1
jbe 0x420b1b
push 0x4272b0
push 4
push eax
push dword [edi + 8]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
add esp, 0x10
push 0
push dword [edi]
push dword [edi + 8]
call fcn.0040c3f0
add esp, 0xc
call fcn.00480a10
call fcn.00480a10
mov ecx, dword [ebx + 0x4a34]
xor edx, edx
mov eax, dword [ebx + 0x4a2c]
lea esi, [ecx + eax*4]
cmp ecx, esi
je 0x420b5c
nop dword [eax]
mov eax, dword [ecx]
add ecx, 4
add edx, dword [eax + 0x4c]
cmp ecx, esi
jne 0x420b50
push edx
push str.DrawLists___d_
push str.DrawLists
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x420c12
lea eax, [ebx + 0x5ea5]
push eax
push str.Show_ImDrawCmd_mesh_when_hovering
call fcn.0046d2e0
lea eax, [ebx + 0x5ea6]
push eax
push str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.0046d2e0
mov ecx, dword [ebx + 0x4a34]
add esp, 0x10
mov eax, dword [ebx + 0x4a2c]
mov dword [ebp - 0x128], ecx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x148], eax
cmp ecx, eax
je 0x420c0d
nop dword [eax + eax]
mov edi, dword [ecx]
mov esi, dword [edi + 0x54]
mov eax, dword [edi + 0x4c]
lea eax, [esi + eax*4]
mov dword [ebp - 0x124], eax
cmp esi, eax
je 0x420bf6
mov ebx, eax
push str.DrawList
push dword [esi]
push edi
push 0
call fcn.0040a990
add esi, 4
add esp, 0x10
cmp esi, ebx
jne 0x420bd7
mov ecx, dword [ebp - 0x128]
add ecx, 4
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebp - 0x148]
jne 0x420bc0
mov ebx, dword [ebp - 0x12c]
call fcn.00480a10
push dword [ebx + 0x4a2c]
push str.Viewports___d_
push str.Viewports
call fcn.0047fc60
add esp, 0xc
mov dword [ebp - 0x10c], 0x490e2c
test al, al
je 0x420f67
push 2
push 1
call fcn.0047c1a0
push str.Windows_Minimap
call fcn.0047fcf0
add esp, 0xc
test al, al
je 0x420ddc
mov ecx, dword [0x4b31e4]
movss xmm4, dword [0x4942c8]
mov eax, dword [ecx + 0x4a34]
mov edi, dword [ecx + 0x3f8c]
mov esi, dword [ecx + 0x4a34]
mov eax, dword [eax]
movss xmm5, dword [edi + 0xf8]
movss xmm6, dword [edi + 0xfc]
movss xmm0, dword [eax + 8]
movss xmm3, dword [eax + 0xc]
movaps xmm1, xmm0
addss xmm1, dword [eax + 0x10]
movss dword [ebp - 0x130], xmm0
movaps xmm2, xmm3
addss xmm2, dword [eax + 0x14]
mov eax, dword [ecx + 0x4a2c]
mulss xmm0, xmm4
movss dword [ebp - 0x164], xmm1
lea eax, [esi + eax*4]
movss dword [ebp - 0x158], xmm3
movss dword [ebp - 0x150], xmm2
subss xmm5, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm4
movss dword [ebp - 0x128], xmm5
subss xmm6, xmm0
movss dword [ebp - 0x124], xmm6
cmp esi, eax
je 0x420da4
mov ebx, eax
nop dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x14]
push ecx
push eax
push dword [edi + 0x270]
movss xmm2, dword [eax + 8]
movss xmm3, dword [eax + 0xc]
movaps xmm1, xmm2
addss xmm1, dword [eax + 0x10]
movaps xmm0, xmm3
mulss xmm2, xmm4
addss xmm0, dword [eax + 0x14]
mulss xmm3, xmm4
mulss xmm1, xmm4
addss xmm2, xmm5
mulss xmm0, xmm4
addss xmm3, xmm6
addss xmm1, xmm5
movss dword [ebp - 0x14], xmm2
addss xmm0, xmm6
movss dword [ebp - 0x10], xmm3
movss dword [ebp - 0xc], xmm1
movss dword [ebp - 8], xmm0
call fcn.0040cd20
movss xmm4, dword [0x4942c8]
add esi, 4
movss xmm5, dword [ebp - 0x128]
add esp, 0xc
movss xmm6, dword [ebp - 0x124]
cmp esi, ebx
jne 0x420d00
movss xmm1, dword [ebp - 0x164]
movss xmm2, dword [ebp - 0x150]
movss xmm3, dword [ebp - 0x158]
mov ebx, dword [ebp - 0x12c]
subss xmm1, dword [ebp - 0x130]
subss xmm2, xmm3
lea eax, [ebp - 0x13c]
push eax
mulss xmm1, xmm4
mulss xmm2, xmm4
movss dword [ebp - 0x13c], xmm1
movss dword [ebp - 0x138], xmm2
call fcn.00473bb0
add esp, 4
call fcn.00480a10
mov dword [ebx + 0x5eb8], 0
mov ecx, dword [ebx + 0x4a34]
mov eax, dword [ebx + 0x4a2c]
mov dword [ebp - 0x128], ecx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x130], eax
cmp ecx, eax
je 0x420f62
nop dword [eax]
mov edi, dword [ecx]
mov esi, dword [0x4b31e4]
push 2
push 1
call fcn.0047c1a0
push 0
push str.Viewport__d
push str.viewport0
call fcn.0047fc60
push 0
mov bl, al
call fcn.00412f90
add esp, 0x18
test al, al
je 0x420e4a
mov ecx, dword [edi]
mov dword [esi + 0x5eb8], ecx
test bl, bl
je 0x420f41
movss xmm0, dword [edi + 0x94]
sub esp, 0x40
cvtps2pd xmm0, xmm0
mov ebx, dword [edi + 4]
movsd qword [esp + 0x38], xmm0
movss xmm0, dword [edi + 0x90]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0x8c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x88]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 8]
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.0046c770
test bl, 4
mov ecx, 0x490e2c
mov eax, str._OwnedByApp
cmove eax, ecx
test bl, 2
push eax
mov eax, str._IsPlatformMonitor
cmove eax, ecx
test bl, 1
push eax
mov eax, str._IsPlatformWindow
cmove eax, ecx
push eax
push dword [edi + 4]
push str.Flags:_0x_04X__s_s_s
call fcn.0046c770
mov esi, dword [edi + 0x54]
add esp, 0x58
mov eax, dword [edi + 0x4c]
lea ebx, [esi + eax*4]
cmp esi, ebx
je 0x420f3c
push str.DrawList
push dword [esi]
push edi
push 0
call fcn.0040a990
add esi, 4
add esp, 0x10
cmp esi, ebx
jne 0x420f23
call fcn.00480a10
mov ecx, dword [ebp - 0x128]
add ecx, 4
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebp - 0x130]
jne 0x420e10
mov ebx, dword [ebp - 0x12c]
call fcn.00480a10
push dword [ebx + 0x4a08]
push str.Popups___d_
push str.Popups
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x4211bf
mov eax, dword [ebx + 0x4a08]
mov esi, dword [ebx + 0x4a10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x130], eax
cmp esi, eax
je 0x4211ba
mov ebx, eax
nop dword [eax]
mov eax, dword [esi + 4]
test eax, eax
je 0x421132
mov ecx, dword [eax + 0x304]
test ecx, ecx
je 0x421132
mov edx, dword [ecx + 4]
mov dword [ebp - 0x128], edx
jmp 0x42113c
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00410650
movss xmm2, dword [ebp - 8]
lea eax, [ebp - 0xa4]
movss xmm4, dword [ebp - 0x10]
movaps xmm0, xmm2
movss xmm1, dword [ebp - 0xc]
subss xmm0, xmm4
movss xmm3, dword [ebp - 0x14]
add esp, 0x10
push dword [esi]
cvtps2pd xmm0, xmm0
sub esp, 0x30
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
push 0x80
push eax
call fcn.00410e90
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0
push eax
push 0
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x148], 0
push 0
push eax
call fcn.0047b550
add esp, 0x50
push 0
call fcn.00412f90
add esp, 4
test al, al
je 0x42090a
movss xmm1, dword [0x494310]
movss xmm0, dword [ebp - 0xc]
addss xmm0, xmm1
mov eax, dword [0x4b31e4]
push ecx
mov dword [esp], 0x40000000
push 0
push ecx
movss dword [ebp - 0x100], xmm0
lea ecx, [ebp - 0x100]
movss xmm0, dword [ebp - 8]
addss xmm0, xmm1
mov dword [esp], 0
push 0xff00ffff
push ecx
lea ecx, [ebp - 0x13c]
push ecx
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x14]
subss xmm0, xmm1
push str.Foreground
push 1
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x10]
subss xmm0, xmm1
movss dword [ebp - 0x138], xmm0
mov eax, dword [eax + 0x4a34]
push dword [eax]
call fcn.00410960
add esp, 0xc
mov ecx, eax
call fcn.00446370
jmp 0x42090a
mov dword [ebp - 0x128], str.NULL
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x421148
mov edi, dword [ecx + 4]
jmp 0x42114d
mov edi, str.NULL
test eax, eax
je 0x421161
test dword [eax + 0xc], 0x10000000
je 0x421161
mov edx, str.Menu_
jmp 0x42116a
mov edx, 0x490e2c
test eax, eax
je 0x42117d
test dword [eax + 0xc], 0x1000000
je 0x42117d
mov eax, dword [eax + 4]
mov ecx, str.Child_
jmp 0x421190
mov ecx, 0x490e2c
test eax, eax
je 0x42118b
mov eax, dword [eax + 4]
jmp 0x421190
mov eax, str.NULL
push dword [ebp - 0x128]
push edi
push edx
push ecx
push eax
push dword [esi]
push str.PopupID:__08x__Window:__s___s_s___BackupNavWindow__s__ParentWindow__s
call fcn.0046c770
add esi, 0x28
add esp, 0x1c
cmp esi, ebx
jne 0x420fb0
mov ebx, dword [ebp - 0x12c]
call fcn.00480a10
push dword [ebx + 0x4d50]
push str.Tab_Bars___d_
push str.TabBars
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x421274
xor ecx, ecx
mov dword [ebp - 0x128], ecx
cmp dword [ebx + 0x4d40], ecx
jle 0x42126f
mov eax, dword [ebx + 0x4d48]
mov eax, dword [eax + ecx*8 + 4]
cmp eax, 0xffffffff
je 0x421260
imul edi, eax, 0x98
add edi, dword [ebx + 0x4d3c]
je 0x421260
mov eax, dword [0x4b31e4]
push edi
mov esi, dword [eax + 0x3f8c]
mov ecx, esi
call fcn.0040f7c0
mov dword [ebp - 0x130], eax
lea ecx, [esi + 0xec]
lea eax, [ebp - 0x130]
push eax
call fcn.00427ab0
push 0x4929dc
push edi
call fcn.0040b7f0
mov eax, dword [0x4b31e4]
add esp, 8
mov ecx, dword [ebp - 0x128]
mov eax, dword [eax + 0x3f8c]
dec dword [eax + 0xec]
inc ecx
mov dword [ebp - 0x128], ecx
cmp ecx, dword [ebx + 0x4d40]
jl 0x4211f3
call fcn.00480a10
push dword [ebx + 0x4d14]
push str.Tables___d_
push str.Tables
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x4212d1
xor esi, esi
cmp dword [ebx + 0x4d04], esi
jle 0x4212cc
nop word [eax + eax]
mov eax, dword [ebx + 0x4d0c]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x4212c3
shl eax, 9
add eax, dword [ebx + 0x4d00]
je 0x4212c3
push eax
call fcn.0045a910
add esp, 4
inc esi
cmp esi, dword [ebx + 0x4d04]
jl 0x4212a0
call fcn.00480a10
mov edi, dword [ebx + 0x2c]
mov dword [ebp - 0x150], edi
push dword [edi + 0x3c]
push str.Fonts___d_
push str.Fonts
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x42145e
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x130], ecx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x158], eax
cmp ecx, eax
je 0x421370
mov ebx, ecx
mov eax, dword [0x4b31e4]
mov edi, dword [ebx]
push edi
mov esi, dword [eax + 0x3f8c]
mov ecx, esi
call fcn.0040f7c0
mov dword [ebp - 0x130], eax
lea ecx, [esi + 0xec]
lea eax, [ebp - 0x130]
push eax
call fcn.00427ab0
push edi
call fcn.0040b0e0
mov eax, dword [0x4b31e4]
add ebx, 4
add esp, 4
mov eax, dword [eax + 0x3f8c]
dec dword [eax + 0xec]
cmp ebx, dword [ebp - 0x158]
jne 0x421312
mov ebx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x150]
push dword [edi + 0x28]
push dword [edi + 0x24]
push str.Font_Atlas___dx_d_pixels_
push str.Font_Atlas
call fcn.0047fc60
add esp, 0x10
test al, al
je 0x421459
mov esi, dword [0x4b31e4]
add esi, 0x5ea8
push esi
push str.Tint_with_Text_Color
call fcn.0046d2e0
mov ecx, dword [0x4b31e4]
lea eax, [ebp - 0x14]
add esp, 8
cmp byte [esi], 0
je 0x4213c1
movups xmm0, xmmword [ecx + 0x398c]
jmp 0x4213c8
movaps xmm0, xmmword [0x494430]
movups xmmword [ebp - 0x14], xmm0
mov dword [ebp - 0x13c], 0x3f800000
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x120]
mov dword [ebp - 0x138], 0x3f800000
push eax
movups xmmword [ebp - 0x14], xmm0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [ecx + 0x39dc]
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0xfc], 0
movups xmmword [ebp - 0x120], xmm0
push eax
movd xmm0, dword [edi + 0x24]
lea eax, [ebp - 0x100]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [ebp - 0x134]
push eax
push dword [edi + 4]
movss dword [ebp - 0x134], xmm0
movd xmm0, dword [edi + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x130], xmm0
call fcn.004743f0
add esp, 0x18
call fcn.00480a10
call fcn.00480a10
push 0x492a0c
call fcn.0047fcf0
add esp, 4
test al, al
je 0x421483
lea eax, [ebx + 0x4d94]
push eax
call fcn.00472850
add esp, 4
call fcn.00480a10
xor eax, eax
cmp byte [ebx + 0x5d4c], al
setne al
push eax
push str.TypingSelect___d_
push str.TypingSelect
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x4214b9
lea eax, [ebx + 0x5d3c]
push eax
call fcn.00472a30
add esp, 4
call fcn.00480a10
push str.Settings
call fcn.0047fcf0
add esp, 4
test al, al
je 0x42197d
push str.Clear
call fcn.0047ced0
add esp, 4
test al, al
je 0x42154b
mov edi, dword [0x4b31e4]
mov eax, dword [edi + 0x5dcc]
test eax, eax
je 0x421516
push eax
mov dword [edi + 0x5dc8], 0
mov dword [edi + 0x5dc4], 0
call fcn.00414e70
add esp, 4
mov dword [edi + 0x5dcc], 0
mov eax, dword [edi + 0x5dd0]
mov esi, dword [edi + 0x5dd8]
lea eax, [eax + eax*8]
lea eax, [esi + eax*4]
cmp esi, eax
je 0x42154b
mov ebx, eax
nop
mov eax, dword [esi + 8]
test eax, eax
je 0x42153e
push esi
push edi
call eax
add esp, 8
add esi, 0x24
cmp esi, ebx
jne 0x421530
mov ebx, dword [ebp - 0x12c]
mov eax, dword [0x4b31e4]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4215b2
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
push str.Save_to_memory
call fcn.0047ced0
add esp, 4
test al, al
je 0x4215cd
push 0
call fcn.0041d3a0
add esp, 4
mov eax, dword [0x4b31e4]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421634
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
push str.Save_to_disk
call fcn.0047ced0
add esp, 4
test al, al
je 0x4216a1
mov eax, dword [0x4b31e4]
mov esi, dword [ebx + 0x20]
mov dword [eax + 0x5dc0], 0
test esi, esi
je 0x4216a1
lea eax, [ebp - 0x128]
mov dword [ebp - 0x128], 0
push eax
call fcn.0041d3a0
push 0x4920c0
push esi
mov edi, eax
call fcn.00410cf0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4216a1
push esi
push dword [ebp - 0x128]
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 eax, dword [0x4b31e4]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421708
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x42171c
push eax
push str.__s_
call fcn.0047f590
jmp 0x421728
push 0
push str._NULL_
call fcn.0047fb30
add esp, 8
lea eax, [ebx + 0x68]
push eax
push str.io.ConfigDebugIniSettings
call fcn.0046d2e0
movss xmm0, dword [ebx + 0x5dc0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.0047f590
push dword [ebx + 0x5dd0]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.0047fc60
add esp, 0x18
test al, al
je 0x4217ab
mov eax, dword [ebx + 0x5dd0]
mov esi, dword [ebx + 0x5dd8]
lea eax, [eax + eax*8]
lea edi, [esi + eax*4]
cmp esi, edi
je 0x4217a6
nop word [eax + eax]
push dword [esi]
push str.__s_
call fcn.0046c770
add esi, 0x24
add esp, 8
cmp esi, edi
jne 0x421790
call fcn.00480a10
push dword [ebx + 0x5ddc]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x42189a
mov esi, dword [ebx + 0x5de4]
test esi, esi
je 0x421895
add esi, 4
je 0x421895
cmp byte [esi + 0xf], 0
je 0x42183b
mov edi, dword [0x4b31e4]
mov ecx, dword [edi + 0x48dc]
lea edx, [edi + 0x48dc]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x421823
movss xmm0, dword [edi + 0x38a8]
movss dword [edi + 0x5d18], xmm0
mulss xmm0, dword [edi + 0x38ac]
movss dword [edi + 0x38a8], xmm0
or ecx, 4
mov dword [edx], ecx
lea ecx, [edi + 0x49f0]
push edx
call fcn.00427ab0
inc word [edi + 0x5d1c]
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.0047f590
add esp, 0x20
cmp byte [esi + 0xf], 0
je 0x421872
call fcn.0040db30
mov edx, dword [esi - 4]
mov eax, dword [ebx + 0x5de4]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [ebx + 0x5ddc]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x4217e2
call fcn.00480a10
push dword [ebx + 0x5de8]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.0047fc60
add esp, 0xc
test al, al
je 0x4218f2
mov esi, dword [ebx + 0x5df0]
test esi, esi
je 0x4218ed
add esi, 4
je 0x4218ed
push esi
call fcn.0045b170
mov edx, dword [esi - 4]
add esp, 4
mov eax, dword [ebx + 0x5df0]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [ebx + 0x5de8]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x4218c5
call fcn.00480a10
mov ecx, dword [ebx + 0x5dc4]
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.0047fc60
add esp, 0xc
test al, al
je 0x421978
mov eax, dword [ebx + 0x5dcc]
mov ecx, 0x4b31e0
test eax, eax
push 0
cmovne ecx, eax
mov eax, dword [0x4b31e4]
push 0
push 0x4000
movss xmm0, dword [eax + 0x3cf4]
lea eax, [ebp - 0x13c]
mulss xmm0, dword [0x494370]
push eax
push dword [ebx + 0x5dc4]
mov dword [ebp - 0x13c], 0x80800000
push ecx
push str.Ini
movss dword [ebp - 0x138], xmm0
call fcn.00478960
add esp, 0x1c
call fcn.00480a10
call fcn.00480a10
push str.Memory_allocations
call fcn.0047fcf0
add esp, 4
test al, al
je 0x421a37
mov eax, dword [ebx + 0x5edc]
sub eax, dword [ebx + 0x5ee0]
push eax
push str._d_current_allocations
call fcn.0047f590
push str.GC_now
call fcn.0047ced0
add esp, 0xc
test al, al
je 0x4219c1
mov byte [ebx + 0x3f17], 1
push str.Recent_frames_with_allocations:
call fcn.0047f590
mov edi, 5
add esp, 4
lea ecx, [edi + 1]
nop word [eax + eax]
movsx eax, word [ebx + 0x5ee4]
sub eax, edi
add eax, 6
cdq
idiv ecx
movsx ecx, word [ebx + edx*8 + 0x5eee]
lea esi, [ebx + edx*8]
movsx edx, word [esi + 0x5eec]
test edi, edi
mov eax, str.__most_recent_
cmovne eax, dword [ebp - 0x10c]
push eax
push ecx
push edx
sub edx, ecx
push edx
push dword [esi + 0x5ee8]
push str.Frame__06d:__3d____2d_malloc___2d_free___s
call fcn.0046c770
add esp, 0x18
mov ecx, 6
sub edi, 1
jns 0x4219e0
call fcn.00480a10
push str.Inputs
call fcn.0047fcf0
add esp, 4
test al, al
je 0x422cb7
push str.KEYBOARD_GAMEPAD_MOUSE_KEYS
call fcn.0047f590
mov ecx, dword [0x4b31e4]
push str.Keys_down:
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov edi, dword [0x4b31e4]
mov eax, 0xb8
add esp, 8
mov dword [ebp - 0x124], eax
xor esi, esi
mov ebx, str.__s___d
cmp esi, 0x1ff
ja 0x421ad3
cmp dword [eax + edi], 0xffffffff
jne 0x421c8b
push esi
call fcn.004132b0
add esp, 4
test al, al
je 0x421c85
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421b4c
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov edi, dword [0x4b31e4]
lea ecx, [esi - 0x200]
mov eax, esi
cmp esi, 0x1ff
ja 0x421b71
mov eax, dword [ebp - 0x124]
mov eax, dword [edi + eax]
cmp eax, 0xffffffff
jne 0x421b71
mov eax, 0x4919ec
jmp 0x421bad
test eax, eax
jne 0x421b7c
mov eax, 0x4919f0
jmp 0x421bad
test eax, 0xf800
je 0x421b93
push eax
push edi
call fcn.00409780
add esp, 8
lea ecx, [esi - 0x200]
add eax, 0xfffffe00
cmp eax, 0x99
ja 0x421ba8
mov eax, dword [eax*4 + 0x490a58]
jmp 0x421bad
mov eax, str.Unknown
push esi
push eax
cmp ecx, 0x99
mov eax, str.__s_
cmova eax, ebx
push eax
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 0xc
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421c34
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov edi, dword [0x4b31e4]
mov eax, esi
test esi, 0xf800
je 0x421c48
push esi
push edi
call fcn.00409780
add esp, 8
cmp eax, 0x1ff
ja 0x421c5c
mov ecx, dword [edi + eax*4 + 0xb8]
cmp ecx, 0xffffffff
cmovne eax, ecx
add eax, eax
sub esp, 8
movss xmm0, dword [edi + eax*8 + 0xe28]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__.02f_
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 0xc
mov eax, dword [ebp - 0x124]
add eax, 4
inc esi
mov dword [ebp - 0x124], eax
cmp eax, 0xb20
jl 0x421ac1
push str.Keys_pressed:
call fcn.0047f590
mov edi, dword [0x4b31e4]
mov eax, 0xb8
add esp, 4
mov dword [ebp - 0x124], eax
xor esi, esi
cmp esi, 0x1ff
ja 0x421cd2
cmp dword [eax + edi], 0xffffffff
jne 0x421dda
push 1
push 0
push esi
call fcn.004133c0
add esp, 0xc
test al, al
je 0x421dd4
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421d4f
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov edi, dword [0x4b31e4]
lea ecx, [esi - 0x200]
mov eax, esi
cmp esi, 0x1ff
ja 0x421d74
mov eax, dword [ebp - 0x124]
mov eax, dword [edi + eax]
cmp eax, 0xffffffff
jne 0x421d74
mov eax, 0x4919ec
jmp 0x421db0
test eax, eax
jne 0x421d7f
mov eax, 0x4919f0
jmp 0x421db0
test eax, 0xf800
je 0x421d96
push eax
push edi
call fcn.00409780
add esp, 8
lea ecx, [esi - 0x200]
add eax, 0xfffffe00
cmp eax, 0x99
ja 0x421dab
mov eax, dword [eax*4 + 0x490a58]
jmp 0x421db0
mov eax, str.Unknown
push esi
push eax
cmp ecx, 0x99
mov eax, str.__s_
mov ecx, str.__s___d
cmova eax, ecx
push eax
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 0xc
mov eax, dword [ebp - 0x124]
add eax, 4
inc esi
mov dword [ebp - 0x124], eax
cmp eax, 0xb20
jl 0x421cc0
push str.Keys_released:
call fcn.0047f590
mov edi, dword [0x4b31e4]
mov edx, 0xb8
add esp, 4
mov dword [ebp - 0x124], edx
xor esi, esi
mov ebx, str.__s___d
cmp esi, 0x1ff
ja 0x421e26
cmp dword [edx + edi], 0xffffffff
jne 0x421f76
mov eax, esi
test esi, 0xf800
je 0x421e40
push esi
push edi
call fcn.00409780
mov edx, dword [ebp - 0x124]
add esp, 8
cmp eax, 0x1ff
ja 0x421e54
mov ecx, dword [edi + eax*4 + 0xb8]
cmp ecx, 0xffffffff
cmovne eax, ecx
add eax, eax
xorps xmm0, xmm0
comiss xmm0, dword [edi + eax*8 + 0xe2c]
ja 0x421f76
cmp byte [edi + eax*8 + 0xe24], 0
jne 0x421f76
push 0
push esi
call fcn.004241b0
add esp, 8
test al, al
je 0x421f70
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421ef0
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov edi, dword [0x4b31e4]
lea ecx, [esi - 0x200]
mov eax, esi
cmp esi, 0x1ff
ja 0x421f15
mov eax, dword [ebp - 0x124]
mov eax, dword [edi + eax]
cmp eax, 0xffffffff
jne 0x421f15
mov eax, 0x4919ec
jmp 0x421f51
test eax, eax
jne 0x421f20
mov eax, 0x4919f0
jmp 0x421f51
test eax, 0xf800
je 0x421f37
push eax
push edi
call fcn.00409780
add esp, 8
lea ecx, [esi - 0x200]
add eax, 0xfffffe00
cmp eax, 0x99
ja 0x421f4c
mov eax, dword [eax*4 + 0x490a58]
jmp 0x421f51
mov eax, str.Unknown
push esi
push eax
cmp ecx, 0x99
mov eax, str.__s_
cmova eax, ebx
push eax
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 0xc
mov edx, dword [ebp - 0x124]
add edx, 4
inc esi
mov dword [ebp - 0x124], edx
cmp edx, 0xb20
jl 0x421e14
mov ebx, dword [ebp - 0x12c]
mov ecx, 0x490e2c
mov eax, str.SUPER
cmp byte [ebx + 0xe1f], 0
cmove eax, ecx
cmp byte [ebx + 0xe1e], 0
push eax
mov eax, str.ALT
cmove eax, ecx
cmp byte [ebx + 0xe1d], 0
push eax
mov eax, str.SHIFT
cmove eax, ecx
cmp byte [ebx + 0xe1c], 0
push eax
mov eax, str.CTRL
cmove eax, ecx
push eax
push str.Keys_mods:__s_s_s_s
call fcn.0047f590
push str.Chars_queue:
call fcn.0047f590
xor esi, esi
add esp, 0x18
cmp dword [ebx + 0x3898], esi
jle 0x4220b8
mov edi, 0xde
mov ecx, dword [0x4b31e4]
mov eax, dword [ebx + 0x38a0]
mov edx, dword [ecx + 0x3f8c]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x128], eax
cmp byte [edx + 0xb3], 0
jne 0x42207f
movss xmm1, dword [ecx + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x130], eax
mov eax, dword [ebp - 0x128]
mov dword [edx + 0x124], ecx
mov byte [edx + 0x138], 1
lea ecx, [eax - 0x21]
mov edx, 0x3f
movzx eax, al
cmp cx, di
cmovbe edx, eax
mov eax, dword [ebp - 0x128]
movzx eax, ax
push eax
movsx eax, dl
push eax
push str._c__0x_04X_
call fcn.0047f590
inc esi
add esp, 0xc
cmp esi, dword [ebx + 0x3898]
jl 0x422001
mov ecx, dword [0x4b31e4]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
push dword [eax + 0x270]
call fcn.0040c730
mov ecx, dword [0x4b31e4]
push str.MOUSE_STATE
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 8
movss xmm1, dword [0x4943b0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov eax, dword [0x4b31e4]
movss xmm0, dword [eax + 0xe00]
comiss xmm0, xmm1
movss xmm2, dword [eax + 0xe04]
jb 0x4221cf
comiss xmm2, xmm1
jb 0x4221cf
movss xmm0, dword [ebx + 0xe04]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xe00]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_pos:___g___g_
call fcn.0047f590
add esp, 0x14
jmp 0x4221dc
push str.Mouse_pos:__INVALID_
call fcn.0047f590
add esp, 4
movss xmm0, dword [ebx + 0xb4]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_delta:___g___g_
call fcn.0047f590
push str.Mouse_down:
call fcn.0047f590
mov edi, dword [0x4b31e4]
lea ecx, [ebx + 0x3850]
add esp, 0x18
mov dword [ebp - 0x124], ecx
mov esi, 0x28f
nop
cmp byte [esi + edi + 0xb79], 0
je 0x422338
cmp esi, 0x200
jl 0x42224e
cmp esi, 0x29a
jl 0x422276
cmp esi, 0x1000
je 0x422276
cmp esi, 0x2000
je 0x422276
cmp esi, 0x4000
je 0x422276
cmp esi, 0x8000
je 0x422276
cmp esi, 0x800
jne 0x4222a1
mov eax, esi
test esi, 0xf800
je 0x422290
push esi
push edi
call fcn.00409780
mov ecx, dword [ebp - 0x124]
add esp, 8
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x284c], 0
jne 0x422338
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422303
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov eax, dword [ebp - 0x124]
sub esp, 8
movss xmm0, dword [eax]
lea eax, [esi - 0x28f]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
push str.b_d___.02f_secs_
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 0x10
mov ecx, dword [ebp - 0x124]
inc esi
add ecx, 4
mov dword [ebp - 0x124], ecx
lea eax, [esi - 0x28f]
cmp eax, 5
jl 0x422230
push str.Mouse_clicked:
call fcn.0047f590
mov ecx, 0x3850
lea edx, [ebx + 0x382a]
add esp, 4
mov dword [ebp - 0x128], ecx
xor esi, esi
mov dword [ebp - 0x124], edx
nop word [eax + eax]
mov edi, dword [0x4b31e4]
cmp byte [esi + edi + 0xe08], 0
je 0x422451
movss xmm0, dword [ecx + edi]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x422451
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x422451
lea eax, [esi + 0x28f]
push 0
push eax
call fcn.004241b0
add esp, 8
test al, al
je 0x422445
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x42242d
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov eax, dword [ebp - 0x124]
movzx eax, word [eax]
push eax
push esi
push str.b_d___d_
call fcn.0047f590
add esp, 0xc
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
add ecx, 4
add edx, 2
inc esi
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], edx
cmp ecx, 0x3864
jl 0x422380
push str.Mouse_released:
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 4
mov esi, 0x28f
nop dword [eax + eax]
cmp byte [esi + edi + 0x35af], 0
je 0x422577
cmp esi, 0x200
jl 0x4224ae
cmp esi, 0x29a
jl 0x4224d6
cmp esi, 0x1000
je 0x4224d6
cmp esi, 0x2000
je 0x4224d6
cmp esi, 0x4000
je 0x4224d6
cmp esi, 0x8000
je 0x4224d6
cmp esi, 0x800
jne 0x4224fb
mov eax, esi
test esi, 0xf800
je 0x4224ea
push esi
push edi
call fcn.00409780
add esp, 8
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x284c], 0
jne 0x422577
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x42255d
movss xmm1, dword [edi + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
lea eax, [esi - 0x28f]
push eax
push 0x492d68
call fcn.0047f590
mov edi, dword [0x4b31e4]
add esp, 8
inc esi
lea eax, [esi - 0x28f]
cmp eax, 5
jl 0x422490
movss xmm0, dword [ebx + 0xe10]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_wheel:__.1f
call fcn.0047f590
movss xmm0, dword [ebx + 0x4d88]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.MouseStationaryTimer:__.2f
call fcn.0047f590
mov eax, dword [ebx + 0xe18]
mov dword [ebp - 0x140], str.Mouse
mov dword [ebp - 0x13c], str.TouchScreen
mov dword [ebp - 0x138], 0x491b8c
push dword [ebp + eax*4 - 0x140]
push str.Mouse_source:__s
call fcn.0047f590
movss xmm0, dword [ebx + 0x388c]
add esp, 0xc
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pen_Pressure:__.1f
call fcn.0047f590
mov ecx, dword [0x4b31e4]
push str.MOUSE_WHEELING
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 0x10
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov eax, dword [ebx + 0x3f9c]
test eax, eax
je 0x4226bb
mov eax, dword [eax + 4]
jmp 0x4226c0
mov eax, str.NULL
push eax
push str.WheelingWindow:__s
call fcn.0047f590
movss xmm0, dword [ebx + 0x3fb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.WheelingWindowReleaseTimer:__.2f
call fcn.0047f590
movss xmm1, dword [ebx + 0x3fbc]
add esp, 0xc
movss xmm0, dword [ebx + 0x3fc0]
comiss xmm1, xmm0
jbe 0x422704
mov eax, 0x491618
jmp 0x422714
comiss xmm0, xmm1
mov eax, 0x49161c
mov ecx, str._none_
cmovbe eax, ecx
cvtps2pd xmm0, xmm0
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push str.WheelingAxisAvg______.3f___.3f___Main_Axis:__s
call fcn.0047f590
mov ecx, dword [0x4b31e4]
push str.KEY_OWNERS
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov ecx, dword [0x4b31e4]
mov dword [ebp - 0x13c], 0x80800000
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov ecx, dword [0x4b31e4]
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3cf4]
addss xmm0, dword [ecx + 0x38f8]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
mulss xmm0, dword [0x494358]
mov ecx, dword [esi + 0xec]
mov eax, dword [esi + 0xf4]
movss dword [ebp - 0x138], xmm0
push dword [eax + ecx*4 - 4]
push 0
push str.owners
call fcn.00411940
mov ecx, dword [esi]
mov edi, eax
add esp, 0x28
cmp dword [ecx + 0x3fc4], edi
jne 0x422849
push 0
push str.owners
push 0xb
push edi
call fcn.0040a060
add esp, 0x10
push 0x100
push 0x88
lea eax, [ebp - 0x13c]
push eax
push edi
push str.owners
call fcn.00407140
add esp, 0x14
test al, al
je 0x422974
mov edx, 0x8b8
mov esi, 0x200
mov dword [ebp - 0x128], edx
mov eax, esi
test esi, 0xf800
je 0x42289a
push esi
push ebx
call fcn.00409780
mov edx, dword [ebp - 0x128]
add esp, 8
lea edi, [eax + eax*2]
cmp dword [ebx + edi*4 + 0x2844], 0xffffffff
je 0x42295e
cmp byte [ebx + edi*4 + 0x284d], 0
je 0x4228c1
mov dword [ebp - 0x124], str._LockUntilRelease
jmp 0x4228dc
cmp byte [ebx + edi*4 + 0x284c], 0
mov ecx, str._LockThisFrame
mov eax, 0x490e2c
cmove ecx, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [0x4b31e4]
mov eax, esi
cmp esi, 0x1ff
ja 0x4228fb
mov eax, dword [edx + ecx]
cmp eax, 0xffffffff
jne 0x4228fb
mov eax, 0x4919ec
jmp 0x422931
test eax, eax
jne 0x422906
mov eax, 0x4919f0
jmp 0x422931
test eax, 0xf800
je 0x422917
push eax
push ecx
call fcn.00409780
add esp, 8
add eax, 0xfffffe00
cmp eax, 0x99
ja 0x42292c
mov eax, dword [eax*4 + 0x490a58]
jmp 0x422931
mov eax, str.Unknown
push dword [ebp - 0x124]
push dword [ebx + edi*4 + 0x2844]
push eax
push str._s:_0x_08X_s
call fcn.0047f590
push dword [ebx + edi*4 + 0x2844]
call fcn.0040a2a0
mov edx, dword [ebp - 0x128]
add esp, 0x14
add edx, 4
inc esi
mov dword [ebp - 0x128], edx
cmp edx, 0xb20
jl 0x422880
call fcn.0040d970
mov ecx, dword [0x4b31e4]
push str.SHORTCUT_ROUTING
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov eax, dword [0x4b31e4]
add esp, 4
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422a33
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
push str.Declared_shortcut_routes_automatically_set_key_owner_when_mods_matches.
call fcn.00414ef0
mov ecx, dword [0x4b31e4]
mov dword [ebp - 0x13c], 0x80800000
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov ecx, dword [0x4b31e4]
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3cf4]
addss xmm0, dword [ecx + 0x38f8]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
mulss xmm0, dword [0x494358]
mov ecx, dword [esi + 0xec]
mov eax, dword [esi + 0xf4]
movss dword [ebp - 0x138], xmm0
push dword [eax + ecx*4 - 4]
push 0
push str.routes
call fcn.00411940
mov ecx, dword [esi]
mov edi, eax
add esp, 0x10
cmp dword [ecx + 0x3fc4], edi
jne 0x422b03
push 0
push str.routes
push 0xb
push edi
call fcn.0040a060
add esp, 0x10
push 0x100
push 0x88
lea eax, [ebp - 0x13c]
push eax
push edi
push str.routes
call fcn.00407140
add esp, 0x14
test al, al
je 0x422c4c
mov ecx, 0x200
xor eax, eax
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
nop dword [eax]
movzx eax, word [ebx + eax + 0x477c]
cmp ax, 0xffff
je 0x422c2b
movsx esi, ax
shl esi, 4
add esi, dword [ebx + 0x48b8]
movzx eax, byte [esi + 4]
movzx edi, word [esi + 2]
push eax
push dword [esi + 8]
or edi, ecx
push edi
call fcn.0040fb20
add esp, 4
push eax
push str._s:_0x_08X__scored__d_
call fcn.0047f590
push dword [esi + 8]
call fcn.0040a2a0
add esp, 0x14
cmp byte [ebx + 0x64], 0
je 0x422c18
mov eax, dword [0x4b31e4]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422bfc
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
push str.in_SetShortcutRouting___for_this_KeyChord
push str.DebugBreak
call fcn.00409b20
add esp, 8
test al, al
je 0x422c18
mov dword [ebx + 0x48d0], edi
movzx eax, word [esi]
mov ecx, dword [ebp - 0x128]
cmp ax, 0xffff
jne 0x422b52
mov eax, dword [ebp - 0x124]
inc ecx
add eax, 2
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
cmp eax, 0x134
jl 0x422b40
call fcn.0040d970
push dword [ebx + 0x48c8]
movzx eax, byte [ebx + 0x48cc]
push eax
push str._ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:_0x_X_
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 0xc
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.00480a10
push str.Internal_state
call fcn.0047fcf0
add esp, 4
test al, al
je 0x4232a9
push str.WINDOWING
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 4
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov eax, dword [ebx + 0x3f90]
test eax, eax
je 0x422d2e
mov eax, dword [eax + 4]
jmp 0x422d33
mov eax, str.NULL
push eax
push str.HoveredWindow:__s
call fcn.0047f590
mov eax, dword [ebx + 0x3f90]
add esp, 8
test eax, eax
je 0x422d56
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 4]
jmp 0x422d5b
mov eax, str.NULL
push eax
push str.HoveredWindow__Root:__s
call fcn.0047f590
mov eax, dword [ebx + 0x3f94]
add esp, 8
test eax, eax
je 0x422d78
mov eax, dword [eax + 4]
jmp 0x422d7d
mov eax, str.NULL
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.0047f590
mov eax, dword [ebx + 0x3f98]
add esp, 8
test eax, eax
je 0x422d9a
mov eax, dword [eax + 4]
jmp 0x422d9f
mov eax, str.NULL
push eax
push str.MovingWindow:__s
call fcn.0047f590
mov ecx, dword [0x4b31e4]
push str.ITEMS
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 0xc
mov dword [ebp - 0x18], 0x4919f0
mov dword [ebp - 0x14], str.Mouse
mov dword [ebp - 0x10], str.Keyboard
mov eax, dword [ecx + 0x3f8c]
mov dword [ebp - 0xc], str.Gamepad
mov dword [ebp - 8], str.Clipboard
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov eax, dword [ebx + 0x4000]
movss xmm0, dword [ebx + 0x3fe4]
cvtps2pd xmm0, xmm0
push dword [ebp + eax*4 - 0x18]
movzx eax, byte [ebx + 0x3fe9]
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x4004]
push dword [ebx + 0x3fdc]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.0047f590
push dword [ebx + 0x3fdc]
call fcn.0040a2a0
mov eax, dword [ebx + 0x3ffc]
add esp, 0x20
test eax, eax
je 0x422ebe
mov eax, dword [eax + 4]
jmp 0x422ec3
mov eax, str.NULL
push eax
push str.ActiveIdWindow:__s
call fcn.0047f590
push dword [ebx + 0x48c8]
movzx eax, byte [ebx + 0x48cc]
push eax
push str.ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:__X
call fcn.0047f590
movss xmm0, dword [ebx + 0x3fd4]
add esp, 0x14
movzx eax, byte [ebx + 0x3fd0]
cvtps2pd xmm0, xmm0
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x3fcc]
push str.HoveredId:_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.0047f590
movss xmm0, dword [ebx + 0x4d78]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0x4d74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebx + 0x4d6c]
push str.HoverItemDelayId:_0x_08X__Timer:__.2f__ClearTimer:__.2f
call fcn.0047f590
push dword [ebx + 0x4c44]
lea eax, [ebx + 0x4c54]
push eax
push dword [ebx + 0x4c48]
movzx eax, byte [ebx + 0x4c30]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.0047f590
push dword [ebx + 0x4c48]
call fcn.0040a2a0
mov ecx, dword [0x4b31e4]
push str.NAV_FOCUS
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 0x34
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [ecx + 0x3914]
addss xmm0, dword [eax + 0x13c]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
mov eax, dword [ebx + 0x4a38]
test eax, eax
je 0x423020
mov eax, dword [eax + 4]
jmp 0x423025
mov eax, str.NULL
push eax
push str.NavWindow:__s
call fcn.0047f590
push dword [ebx + 0x4a80]
push dword [ebx + 0x4a3c]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.0047f590
push dword [ebx + 0x4a3c]
call fcn.0040a2a0
mov eax, dword [ebx + 0x4a7c]
mov dword [ebp - 0x18], 0x4919f0
mov dword [ebp - 0x14], str.Mouse
mov dword [ebp - 0x10], str.Keyboard
mov dword [ebp - 0xc], str.Gamepad
mov dword [ebp - 8], str.Clipboard
push dword [ebp + eax*4 - 0x18]
push str.NavInputSource:__s
call fcn.0047f590
mov eax, dword [ebx + 0x4a8c]
mov ecx, dword [ebx + 0x4a88]
push eax
push ecx
push eax
push ecx
push str.NavLastValidSelectionUserData___I64d__0x_I64X_
call fcn.0047f590
movzx eax, byte [ebx + 0x98]
push eax
movzx eax, byte [ebx + 0x97]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.0047f590
add esp, 0x40
push dword [ebx + 0x4a58]
push dword [ebx + 0x4a54]
push dword [ebx + 0x4a50]
push str.NavActivateId_DownId_PressedId:__08X__08X__08X
call fcn.0047f590
push dword [ebx + 0x4a5c]
push str.NavActivateFlags:__04X
call fcn.0047f590
movzx eax, byte [ebx + 0x4a93]
push eax
movzx eax, byte [ebx + 0x4a92]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.0047f590
push dword [ebx + 0x4a40]
push str.NavFocusScopeId__0x_08X
call fcn.0047f590
push str.NavFocusRoute___
call fcn.0047f590
mov esi, dword [ebx + 0x4a44]
add esp, 0x30
sub esi, 1
mov dword [ebp - 0x128], esi
js 0x42323c
nop word [eax + eax]
mov eax, dword [0x4b31e4]
mov edi, dword [ebx + 0x4a4c]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4231ad
movss xmm1, dword [edx + 0x100]
addss xmm1, dword [0x4942a0]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
push dword [edi + esi*8]
push str.0x_08X_
call fcn.0047f590
mov eax, dword [0x4b31e4]
add esp, 8
mov edi, dword [edi + esi*8 + 4]
mov edx, dword [eax + 0x3f70]
mov esi, dword [eax + 0x3f78]
test edx, edx
je 0x4231f9
mov ecx, edx
shr ecx, 1
cmp dword [esi + ecx*8], edi
lea eax, [esi + ecx*8]
jae 0x4231ee
lea esi, [eax + 8]
or eax, 0xffffffff
sub eax, ecx
add edx, eax
jmp 0x4231f0
mov edx, ecx
test edx, edx
jne 0x4231d6
mov eax, dword [0x4b31e4]
mov ecx, dword [eax + 0x3f70]
mov eax, dword [eax + 0x3f78]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x423215
cmp dword [esi], edi
jne 0x423215
mov eax, dword [esi + 4]
jmp 0x423217
xor eax, eax
push dword [eax + 4]
push str.In_window___s_
call fcn.0041df70
mov esi, dword [ebp - 0x128]
add esp, 8
sub esi, 1
mov dword [ebp - 0x128], esi
jns 0x423140
mov eax, dword [ebx + 0x4c00]
test eax, eax
je 0x42324b
mov eax, dword [eax + 4]
jmp 0x423250
mov eax, str.NULL
push eax
push str.NavWindowingTarget:__s
call fcn.0047f590
mov ecx, dword [0x4b31e4]
add esp, 8
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x13c]
subss xmm0, dword [ecx + 0x3914]
movss dword [eax + 0x13c], xmm0
addss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x140]
movss dword [eax + 0xf8], xmm0
call fcn.00480a10
cmp byte [ebx + 0x5ea2], 0
lea ecx, [ebx + 0x5ea0]
jne 0x4232c2
cmp byte [ecx + 3], 0
je 0x42355a
mov edi, dword [ebx + 0x3f48]
mov eax, dword [ebx + 0x3f40]
lea esi, [edi + eax*4]
mov dword [ebp - 0x124], esi
cmp edi, esi
je 0x42355a
mov eax, esi
mov esi, dword [edi]
cmp byte [esi + 0xaf], 0
je 0x42354f
mov eax, dword [0x4b31e4]
push str.Foreground
push 1
mov eax, dword [eax + 0x4a34]
push dword [eax]
call fcn.00410960
lea ecx, [ebx + 0x5ea0]
mov dword [ebp - 0x128], eax
add esp, 0xc
cmp byte [ecx + 2], 0
je 0x4234af
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x423362
movss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x1c]
movss dword [ebp - 0x108], xmm1
addss xmm1, dword [esi + 0x20]
movss dword [ebp - 0x104], xmm0
addss xmm0, dword [esi + 0x24]
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0xfc], xmm0
jmp 0x42347d
cmp ecx, 1
jne 0x423373
movups xmm0, xmmword [esi + 0x1cc]
jmp 0x423476
cmp ecx, 2
jne 0x423384
movups xmm0, xmmword [esi + 0x1dc]
jmp 0x423476
cmp ecx, 3
jne 0x423395
movups xmm0, xmmword [esi + 0x1ec]
jmp 0x423476
cmp ecx, 4
jne 0x4233a6
movups xmm0, xmmword [esi + 0x1fc]
jmp 0x423476
cmp ecx, 5
jne 0x423407
movss xmm3, dword [esi + 0x1dc]
movss xmm2, dword [esi + 0x1e0]
subss xmm3, dword [esi + 0x7c]
subss xmm2, dword [esi + 0x80]
addss xmm3, dword [esi + 0x48]
addss xmm2, dword [esi + 0x4c]
movaps xmm1, xmm3
movss dword [ebp - 0x108], xmm3
addss xmm1, dword [esi + 0x30]
movaps xmm0, xmm2
movss dword [ebp - 0x104], xmm2
addss xmm0, dword [esi + 0x34]
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0xfc], xmm0
jmp 0x42347d
cmp ecx, 6
jne 0x423465
movss xmm3, dword [esi + 0x1dc]
movss xmm2, dword [esi + 0x1e0]
subss xmm3, dword [esi + 0x7c]
subss xmm2, dword [esi + 0x80]
addss xmm3, dword [esi + 0x48]
addss xmm2, dword [esi + 0x4c]
movaps xmm1, xmm3
movss dword [ebp - 0x108], xmm3
addss xmm1, dword [esi + 0x38]
movaps xmm0, xmm2
movss dword [ebp - 0x104], xmm2
addss xmm0, dword [esi + 0x3c]
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0xfc], xmm0
jmp 0x42347d
cmp ecx, 7
jne 0x423473
movups xmm0, xmmword [esi + 0x22c]
jmp 0x423476
xorps xmm0, xmm0
movups xmmword [ebp - 0x108], xmm0
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x100]
push 0xff8000ff
push ecx
lea ecx, [ebp - 0x108]
push ecx
mov ecx, eax
call fcn.00446370
lea ecx, [ebx + 0x5ea0]
cmp byte [ecx + 3], 0
je 0x423549
test dword [esi + 0xc], 0x1000000
jne 0x423549
movsx eax, word [esi + 0xc2]
push eax
push 0x492180
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.00410e90
mov eax, dword [0x4b31e4]
add esp, 0x10
add esi, 0x18
movss xmm1, dword [eax + 0x3cf4]
lea eax, [ebp - 0x13c]
push 0
push ecx
mov ecx, dword [ebp - 0x128]
movaps xmm0, xmm1
addss xmm0, dword [esi]
addss xmm1, dword [esi + 4]
mov dword [esp], 0
push 0xff6464c8
push eax
push esi
movss dword [ebp - 0x13c], xmm0
movss dword [ebp - 0x138], xmm1
call fcn.00446460
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x24]
push 0
push eax
push 0xffffffffffffffff
push esi
call fcn.00446750
lea ecx, [ebx + 0x5ea0]
mov eax, dword [ebp - 0x124]
add edi, 4
cmp edi, eax
jne 0x4232e1
cmp byte [ecx + 4], 0
je 0x4236c6
xor edi, edi
mov dword [ebp - 0x128], edi
cmp dword [ebx + 0x4d04], edi
jle 0x4236c6
nop dword [eax + eax]
mov eax, dword [ebx + 0x4d0c]
mov edi, dword [eax + edi*8 + 4]
cmp edi, 0xffffffff
je 0x4236ad
shl edi, 9
add edi, dword [ebx + 0x4d00]
je 0x4236ad
mov eax, dword [ebx + 0x3f08]
dec eax
cmp dword [edi + 0x3c], eax
jl 0x4236ad
mov eax, dword [0x4b31e4]
push str.Foreground
push 1
mov eax, dword [eax + 0x4a34]
push dword [eax]
call fcn.00410960
mov esi, eax
lea ecx, [ebx + 0x5ea0]
mov eax, dword [ecx + 0x10]
add esp, 0xc
mov dword [ebp - 0x10c], esi
cmp eax, 6
jl 0x42366f
xor esi, esi
cmp dword [edi + 0x40], esi
jle 0x4236ad
mov ebx, dword [ebp - 0x10c]
nop dword [eax]
push esi
push dword [ecx + 0x10]
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00410650
movsx eax, word [edi + 0x1be]
add esp, 0x10
cmp eax, esi
mov ecx, 0xff8000ff
mov edx, 0xff80ffff
cmove ecx, edx
jne 0x423633
movss xmm0, dword [0x494340]
jmp 0x42363b
movss xmm0, dword [0x494310]
push ecx
movss dword [esp], xmm0
lea eax, [ebp - 0xc]
push 0
push ecx
mov dword [esp], 0
push ecx
push eax
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.00446370
mov ecx, dword [ebp - 0x160]
inc esi
cmp esi, dword [edi + 0x40]
jl 0x423600
mov ebx, dword [ebp - 0x12c]
jmp 0x4236ad
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x120]
push edi
push eax
call fcn.00410650
add esp, 0xc
lea eax, [ebp - 0x118]
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
mov ecx, esi
push 0xff8000ff
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00446370
mov edi, dword [ebp - 0x128]
inc edi
mov dword [ebp - 0x128], edi
cmp edi, dword [ebx + 0x4d04]
jl 0x423580
call fcn.0040d5a0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048cd9a
mov esp, ebp
pop ebp
ret