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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1e8
mov eax, dword [0x4ba040]
xor eax, esp
mov dword [esp + 0x1e4], eax
push esi
push edi
mov edi, dword [0x4bead0]
cmp byte [edi + 0x5ea0], 0
lea esi, [edi + 0x5ea0]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3c], esi
je 0x41ff10
mov ecx, esi
call fcn.00426f90
cmp byte [esi + 1], 0
je 0x41ff1e
lea ecx, [esi + 1]
call fcn.00427da0
push 0
mov edx, 0x4bf2a8
mov ecx, str.Dear_ImGui_Metrics_Debugger
call fcn.0040fc80
add esp, 4
test al, al
je 0x4240e8
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp word [eax + 0xbc], 1
jg 0x4240e8
push str.1.90.4
push str.Dear_ImGui__s
mov dword [ecx + 0x3f88], 0
mov dword [ecx + 0x4ce4], 0
mov dword [ecx + 0x48d0], 0
call fcn.004762d0
movss xmm1, dword [edi + 0x9c]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [0x4b6c68]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.004762d0
mov ecx, dword [edi + 0xa4]
mov eax, 0x55555556
imul ecx
add esp, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push dword [edi + 0xa0]
push str._d_vertices___d_indices___d_triangles_
call fcn.004762d0
mov eax, dword [edi + 0x5edc]
sub eax, dword [edi + 0x5ee0]
push eax
push dword [edi + 0xa8]
push str._d_visible_windows___d_current_allocations
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0x1c
movss xmm0, dword [0x4b6ac4]
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x420054
mov edx, dword [eax + 0x1a0]
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 2
cmp dword [eax + 0x198], 0
je 0x420046
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm0
call fcn.00479d60
mov ecx, dword [0x4bead0]
cmp dword [esi + 0xc], 0
mov dword [esp + 0xf4], str.OuterRect
mov dword [esp + 0xf8], str.OuterRectClipped
mov dword [esp + 0xfc], str.InnerRect
mov dword [esp + 0x100], str.InnerClipRect
mov dword [esp + 0x104], str.WorkRect
mov dword [esp + 0x108], str.Content
mov dword [esp + 0x10c], str.ContentIdeal
mov dword [esp + 0x110], str.ContentRegionRect
mov dword [esp + 0x114], str.OuterRect
mov dword [esp + 0x118], str.InnerRect
mov dword [esp + 0x11c], str.WorkRect
mov dword [esp + 0x120], str.HostClipRect
mov dword [esp + 0x124], str.InnerClipRect
mov dword [esp + 0x128], str.BackgroundClipRect
mov dword [esp + 0x12c], str.ColumnsRect
mov dword [esp + 0x130], str.ColumnsWorkRect
mov dword [esp + 0x134], str.ColumnsClipRect
mov dword [esp + 0x138], str.ColumnsContentHeadersUsed
mov dword [esp + 0x13c], str.ColumnsContentHeadersIdeal
mov dword [esp + 0x140], str.ColumnsContentFrozen
mov dword [esp + 0x144], str.ColumnsContentUnfrozen
jge 0x420148
mov dword [esi + 0xc], 4
cmp dword [esi + 0x10], 0
jge 0x420155
mov dword [esi + 0x10], 2
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x420b36
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Tools
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x4201bb
push ecx
push str.Tools
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x20]
add esp, 8
push 0
push str.Tools
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x420b36
mov ecx, dword [0x4bead0]
lea eax, [esp + 0x90]
movss xmm3, dword [0x4b6c90]
push 0
push 0
movss xmm2, dword [ecx + 0x3cf4]
push 0x4a078c
push ecx
mov ecx, dword [ecx + 0x3cf0]
mov dword [esp], 0xbf800000
push eax
call fcn.004667b0
movss xmm0, dword [esp + 0x90]
mov edx, str.Debug_breaks
addss xmm0, dword [0x4b6abc]
push 0
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm3, dword [edi + 0x3964]
call fcn.0047a000
movss xmm1, dword [0x4b6cc0]
add esp, 4
xorps xmm0, xmm0
call fcn.004165f0
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.
call fcn.0041fca0
lea edx, [edi + 0x5e85]
mov ecx, str.Show_Item_Picker
call fcn.00478c00
test al, al
je 0x420286
cmp byte [edi + 0x5e85], 0
je 0x420286
mov eax, dword [0x4bead0]
mov byte [eax + 0x5e85], 1
lea edx, [edi + 0x64]
mov ecx, str.Show__Debug_Break__buttons_in_other_sections__io.ConfigDebugIsDebuggerPresent_
call fcn.00478c00
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x4202e5
mov ecx, str.Visualize
mov esi, ecx
cmp esi, 0xffffffff
jae 0x4202d7
mov dl, byte [ecx]
test dl, dl
je 0x4202d7
cmp dl, 0x23
jne 0x4202d1
cmp byte [ecx + 1], dl
je 0x4202d7
inc ecx
cmp ecx, 0xffffffff
jb 0x4202c1
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.0047a000
add esp, 4
lea esi, [edi + 0x5ea0]
mov ecx, str.Show_Debug_Log
mov edx, esi
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov ecx, str.You_can_also_call_ImGui::ShowDebugLogWindow___from_your_code.
call fcn.0041fca0
lea edx, [esi + 1]
mov ecx, str.Show_ID_Stack_Tool
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov ecx, str.You_can_also_call_ImGui::ShowIDStackToolWindow___from_your_code.
call fcn.0041fca0
lea edx, [esi + 3]
mov ecx, str.Show_windows_begin_order
call fcn.00478c00
lea edx, [esi + 2]
mov ecx, str.Show_windows_rectangles
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov eax, dword [0x4bead0]
lea edx, [edi + 0x5eac]
push 8
push 8
mov ecx, str.show_windows_rect_type
movss xmm0, dword [eax + 0x3cf4]
mulss xmm0, dword [0x4b6bb4]
or dword [eax + 0x48e8], 1
movss dword [eax + 0x48f8], xmm0
lea eax, [esp + 0xfc]
push eax
push fcn.00432da0
call fcn.0047b240
add esp, 0x10
or byte [esi + 2], al
je 0x420504
mov eax, dword [edi + 0x4a38]
test eax, eax
je 0x420504
push dword [eax + 4]
push str._s:
call fcn.00476910
mov ecx, dword [0x4bead0]
add esp, 8
xor esi, 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
nop dword [eax]
mov edx, dword [edi + 0x4a38]
lea ecx, [esp + 0x90]
push esi
call fcn.00424320
movss xmm2, dword [esp + 0xa0]
add esp, 4
movss xmm4, dword [esp + 0x94]
movaps xmm0, xmm2
movss xmm1, dword [esp + 0x98]
subss xmm0, xmm4
movss xmm3, dword [esp + 0x90]
push dword [esp + esi*4 + 0xf4]
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.004762d0
inc esi
add esp, 0x38
cmp esi, 8
jl 0x420420
mov ecx, dword [0x4bead0]
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
lea edx, [edi + 0x5ea4]
mov ecx, str.Show_tables_rectangles
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov eax, dword [0x4bead0]
lea edx, [edi + 0x5eb0]
push 0xd
push 0xd
mov ecx, str.show_table_rects_type
movss xmm0, dword [eax + 0x3cf4]
mulss xmm0, dword [0x4b6bb4]
or dword [eax + 0x48e8], 1
movss dword [eax + 0x48f8], xmm0
lea eax, [esp + 0x11c]
push eax
push fcn.00432da0
call fcn.0047b240
add esp, 0x10
or byte [edi + 0x5ea4], al
je 0x420a17
cmp dword [edi + 0x4a38], 0
je 0x420a17
xor edx, edx
mov dword [esp + 0x14], edx
cmp dword [edi + 0x4d04], edx
jle 0x420a17
nop word [eax + eax]
mov eax, dword [edi + 0x4d0c]
mov esi, dword [eax + edx*8 + 4]
cmp esi, 0xffffffff
je 0x420a06
shl esi, 9
add esi, dword [edi + 0x4d00]
mov dword [esp + 0xc], esi
je 0x420a06
mov eax, dword [edi + 0x3f08]
dec eax
cmp dword [esi + 0x3c], eax
jl 0x420a06
mov eax, dword [edi + 0x4a38]
mov ecx, dword [esi + 0x154]
cmp ecx, eax
je 0x4205f2
cmp dword [esi + 0x158], eax
jne 0x420a06
push dword [ecx + 4]
push dword [esi + 0x40]
push dword [esi]
push str.Table_0x_08X___d_columns__in__s_
call fcn.00476910
add esp, 0x10
xor ecx, ecx
call fcn.004094b0
test al, al
je 0x420720
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
movss xmm3, dword [0x4b6ac4]
mov edi, eax
movss xmm4, dword [esi + 0xc4]
add esp, 4
movss xmm5, dword [esi + 0xc8]
subss xmm4, xmm3
movss xmm1, dword [esi + 0xcc]
subss xmm5, xmm3
test byte [edi + 0x24], 1
addss xmm1, xmm3
movss xmm2, dword [esi + 0xd0]
mov ecx, edi
movss xmm0, dword [0x4b6a7c]
addss xmm2, xmm3
addss xmm4, xmm0
xorps xmm3, xmm3
addss xmm5, xmm0
push 0
je 0x4206b7
subss xmm1, xmm0
movss dword [esp + 0x74], xmm4
subss xmm2, xmm0
movss dword [esp + 0x78], xmm5
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x78]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm2
jmp 0x4206f7
subss xmm1, dword [0x4b6a78]
subss xmm2, dword [0x4b6a78]
lea eax, [esp + 0x7c]
movss dword [esp + 0x84], xmm4
push eax
movss dword [esp + 0x8c], xmm5
lea eax, [esp + 0x88]
movss dword [esp + 0x80], xmm1
movss dword [esp + 0x84], xmm2
push eax
call fcn.00461a00
push ecx
mov dword [esp], 0x40000000
mov ecx, edi
push 1
push 0xff00ffff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0045f840
mov dword [edi + 0x54], 0
mov ecx, dword [0x4bead0]
lea edi, [esp + 0x114]
mov dword [esp + 0x10], edi
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
xor eax, eax
mov dword [esp + 0x20], eax
cmp eax, 6
jb 0x420c97
je 0x42078b
cmp eax, 8
jne 0x4209a3
xor edi, edi
cmp dword [esi + 0x40], edi
jle 0x42099f
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
push edi
push eax
mov edx, esi
lea ecx, [esp + 0xec]
call fcn.00424110
movss xmm1, dword [esp + 0xf8]
add esp, 8
movss xmm3, dword [esp + 0xe8]
movaps xmm0, xmm1
mov eax, dword [esp + 0x10]
subss xmm0, xmm3
movss xmm2, dword [esp + 0xec]
movss xmm4, dword [esp + 0xe4]
movss dword [esp + 0x30], xmm1
push dword [eax]
cvtps2pd xmm0, xmm0
push edi
sub esp, 0x30
lea eax, [esp + 0x1a0]
movss dword [esp + 0x6c], xmm3
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x5c], 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.00403f20
add esp, 0x44
lea eax, [esp + 0x88]
xor dl, dl
lea ecx, [esp + 0x168]
push eax
push 0
call fcn.0048cb20
add esp, 8
xor ecx, ecx
call fcn.004094b0
test al, al
je 0x42098d
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
movss xmm5, dword [0x4b6ac4]
mov esi, eax
movss xmm3, dword [esp + 0x28]
add esp, 4
movss xmm2, dword [esp + 0x34]
subss xmm3, xmm5
movss xmm4, dword [0x4b6a7c]
subss xmm2, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm1, dword [esp + 0x18]
movss xmm0, dword [esp + 0x30]
addss xmm1, xmm5
addss xmm0, xmm5
addss xmm3, xmm4
addss xmm2, xmm4
push 0
je 0x420923
subss xmm1, xmm4
movss dword [esp + 0x64], xmm3
subss xmm0, xmm4
movss dword [esp + 0x68], xmm2
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x68]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
jmp 0x42095d
subss xmm1, dword [0x4b6a78]
subss xmm0, dword [0x4b6a78]
lea eax, [esp + 0x6c]
movss dword [esp + 0xb4], xmm3
push eax
movss dword [esp + 0xbc], xmm2
lea eax, [esp + 0xb8]
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x74], xmm0
push eax
xorps xmm3, xmm3
call fcn.00461a00
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.0045f840
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
inc edi
cmp edi, dword [esi + 0x40]
jl 0x4207a4
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
inc eax
add edi, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edi
cmp eax, 0xd
jl 0x420777
mov ecx, dword [0x4bead0]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
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 [esp + 0x14], edx
cmp edx, dword [edi + 0x4d04]
jl 0x4205a0
lea edx, [edi + 0x49b8]
mov ecx, str.Show_groups_rectangles
call fcn.00478c00
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x420a79
mov ecx, str.Validate
mov esi, ecx
cmp esi, 0xffffffff
jae 0x420a6b
mov dl, byte [ecx]
test dl, dl
je 0x420a6b
cmp dl, 0x23
jne 0x420a65
cmp byte [ecx + 1], dl
je 0x420a6b
inc ecx
cmp ecx, 0xffffffff
jb 0x420a55
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.0047a000
add esp, 4
lea edx, [edi + 0x66]
mov ecx, str.Debug_Begin_BeginChild_return_value
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov ecx, 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.0041fca0
lea edx, [edi + 0x5ea7]
mov ecx, str.UTF_8_Encoding_viewer
call fcn.00478c00
movss xmm1, dword [0x4b6cc0]
xorps xmm0, xmm0
call fcn.004165f0
mov ecx, 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.0041fca0
cmp byte [edi + 0x5ea7], 0
je 0x420b31
mov eax, dword [0x4bead0]
xor edx, edx
push 0
push 0
push 0
or dword [eax + 0x48e8], 1
mov ecx, str.DebugTextEncodingBuf
mov dword [eax + 0x48f8], 0x80800000
lea eax, [esp + 0x9c]
push eax
push 0x40
push 0x4bea88
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
call fcn.00481760
add esp, 0x18
cmp byte [0x4bea88], 0
je 0x420b31
call fcn.0041f940
call fcn.0048c700
push dword [edi + 0x3f40]
push str.Windows___d_
push str.Windows
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x420efd
mov edx, str.By_display_order
lea ecx, [edi + 0x3f40]
call fcn.00426a50
lea ecx, [edi + 0x3f4c]
mov edx, str.By_focus_order__root_windows_
call fcn.00426a50
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x420ef8
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.By_submission_order__begin_stack_
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x420be2
push ecx
push str.By_submission_order__begin_stack_
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x14]
add esp, 8
push 0
push str.By_submission_order__begin_stack_
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x420ef8
mov ecx, dword [edi + 0x3f5c]
lea esi, [edi + 0x3f58]
test ecx, ecx
jns 0x420c25
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00428f20
mov dword [esi], 0
mov edx, dword [edi + 0x3f48]
mov eax, dword [edi + 0x3f40]
mov dword [esp + 0x14], edx
lea eax, [edx + eax*4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x420ec9
nop word [eax + eax]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x244]
inc eax
cmp eax, dword [edi + 0x3f08]
jl 0x420eb8
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp eax, ecx
jne 0x420ea6
lea edx, [eax + 1]
mov dword [esp + 0xc], edx
test ecx, ecx
je 0x420e90
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, ecx
jmp 0x420e95
push 0xffffffffffffffff
push eax
mov edx, esi
lea ecx, [esp + 0xc8]
call fcn.00424110
movss xmm1, dword [esp + 0xd4]
lea eax, [esp + 0x170]
movss xmm3, dword [esp + 0xcc]
movaps xmm0, xmm1
movss xmm2, dword [esp + 0xd0]
subss xmm0, xmm3
movss xmm4, dword [esp + 0xc8]
add esp, 8
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x18], xmm2
push dword [edi]
cvtps2pd xmm0, xmm0
sub esp, 0x30
movss dword [esp + 0x58], 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.00403f20
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 0
push eax
push 0
xor dl, dl
mov dword [esp + 0x8c], 0
lea ecx, [esp + 0x1b0]
call fcn.0048cb20
add esp, 0x48
xor ecx, ecx
call fcn.004094b0
test al, al
je 0x420e87
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
movss xmm5, dword [0x4b6ac4]
mov edi, eax
movss xmm4, dword [esp + 0x28]
add esp, 4
movss xmm3, dword [esp + 0x34]
subss xmm4, xmm5
movss xmm0, dword [0x4b6a7c]
subss xmm3, xmm5
test byte [edi + 0x24], 1
mov ecx, edi
movss xmm2, dword [esp + 0x18]
movss xmm1, dword [esp + 0x30]
addss xmm2, xmm5
addss xmm1, xmm5
addss xmm4, xmm0
addss xmm3, xmm0
push 0
je 0x420e1c
subss xmm2, xmm0
movss dword [esp + 0x54], xmm4
subss xmm1, xmm0
movss dword [esp + 0x58], xmm3
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x58]
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm1
jmp 0x420e56
subss xmm2, dword [0x4b6a78]
subss xmm1, dword [0x4b6a78]
lea eax, [esp + 0x5c]
movss dword [esp + 0x94], xmm4
push eax
movss dword [esp + 0x9c], xmm3
lea eax, [esp + 0x98]
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm1
push eax
xorps xmm3, xmm3
call fcn.00461a00
push ecx
mov dword [esp], 0x40000000
mov ecx, edi
push 1
push 0xff00ffff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0045f840
mov dword [edi + 0x54], 0
jmp 0x42099b
mov eax, dword [esp + 0x20]
jmp 0x4209a3
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.00428f20
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4], edi
inc dword [esi]
mov edi, dword [esp + 0x1c]
add edx, 4
mov dword [esp + 0x14], edx
cmp edx, dword [esp + 0x30]
jne 0x420c50
mov eax, dword [esi]
cmp eax, 1
jbe 0x420ee4
push 0x424470
push 4
push eax
push dword [esi + 8]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
add esp, 0x10
mov edx, dword [esi]
mov ecx, dword [esi + 8]
push 0
call fcn.00426b30
add esp, 4
call fcn.0048c700
call fcn.0048c700
mov ecx, dword [edi + 0x4a34]
xor edx, edx
mov eax, dword [edi + 0x4a2c]
lea esi, [ecx + eax*4]
cmp ecx, esi
je 0x420f1e
mov eax, dword [ecx]
add ecx, 4
add edx, dword [eax + 0x4c]
cmp ecx, esi
jne 0x420f12
push edx
push str.DrawLists___d_
push str.DrawLists
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x420fb3
lea edx, [edi + 0x5ea5]
mov ecx, str.Show_ImDrawCmd_mesh_when_hovering
call fcn.00478c00
lea edx, [edi + 0x5ea6]
mov ecx, str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.00478c00
mov ecx, dword [edi + 0x4a34]
mov eax, dword [edi + 0x4a2c]
mov dword [esp + 0x14], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
cmp ecx, eax
je 0x420fae
mov eax, dword [ecx]
mov esi, dword [eax + 0x54]
mov eax, dword [eax + 0x4c]
lea eax, [esi + eax*4]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x420f9d
mov edi, eax
push ecx
push dword [esi]
xor ecx, ecx
call fcn.004248b0
add esi, 4
add esp, 8
cmp esi, edi
jne 0x420f85
mov ecx, dword [esp + 0x14]
add ecx, 4
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x18]
jne 0x420f70
mov edi, dword [esp + 0x1c]
call fcn.0048c700
push dword [edi + 0x4a2c]
push str.Viewports___d_
push str.Viewports
call fcn.0048b4f0
add esp, 0xc
mov dword [esp + 0x28], 0x49f357
test al, al
je 0x42142b
mov eax, dword [0x4bead0]
mov ecx, dword [eax + 0x3f8c]
cmp byte [ecx + 0xb3], 0
jne 0x421004
or dword [eax + 0x48e8], 2
mov byte [eax + 0x4900], 1
mov byte [eax + 0x4904], 2
mov byte [ecx + 0xb0], 1
mov esi, dword [eax + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x421283
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Windows_Minimap
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x421064
push ecx
push str.Windows_Minimap
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x14]
add esp, 8
push 0
push str.Windows_Minimap
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x421283
mov ecx, dword [0x4bead0]
movss xmm4, dword [0x4b6a40]
mov eax, dword [ecx + 0x4a34]
mov edx, dword [ecx + 0x3f8c]
mov esi, dword [ecx + 0x4a34]
mov eax, dword [eax]
movss xmm6, dword [edx + 0xf8]
movss xmm7, dword [edx + 0xfc]
movss xmm0, dword [eax + 8]
movss xmm2, dword [eax + 0xc]
movaps xmm1, xmm0
addss xmm1, dword [eax + 0x10]
movss dword [esp + 0x20], xmm0
movaps xmm5, xmm2
addss xmm5, dword [eax + 0x14]
mov eax, dword [ecx + 0x4a2c]
mulss xmm0, xmm4
movss dword [esp + 0x24], xmm1
lea eax, [esi + eax*4]
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x34], xmm5
subss xmm6, xmm0
mov dword [esp + 0x18], eax
movaps xmm0, xmm2
mulss xmm0, xmm4
movss dword [esp + 0x30], xmm6
subss xmm7, xmm0
movss dword [esp + 0x14], xmm7
cmp esi, eax
je 0x4211d3
mov edi, edx
nop dword [eax]
mov edx, dword [esi]
lea eax, [esp + 0xc0]
mov ecx, dword [edi + 0x270]
push eax
movss xmm2, dword [edx + 8]
movss xmm3, dword [edx + 0xc]
movaps xmm1, xmm2
addss xmm1, dword [edx + 0x10]
movaps xmm0, xmm3
mulss xmm2, xmm4
addss xmm0, dword [edx + 0x14]
mulss xmm3, xmm4
mulss xmm1, xmm4
addss xmm2, xmm6
mulss xmm0, xmm4
addss xmm3, xmm7
addss xmm1, xmm6
movss dword [esp + 0xc4], xmm2
addss xmm0, xmm7
movss dword [esp + 0xc8], xmm3
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0xd0], xmm0
call fcn.0041e7f0
movss xmm4, dword [0x4b6a40]
add esi, 4
movss xmm6, dword [esp + 0x34]
add esp, 4
movss xmm7, dword [esp + 0x14]
cmp esi, dword [esp + 0x18]
jne 0x421120
mov ecx, dword [0x4bead0]
movss xmm1, dword [esp + 0x24]
movss xmm5, dword [esp + 0x34]
movss xmm2, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 0x3f8c]
subss xmm5, xmm2
subss xmm1, dword [esp + 0x20]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
mulss xmm1, xmm4
mulss xmm5, xmm4
cmp byte [eax + 0xb3], 0
movss dword [esp + 0x90], xmm1
movss dword [esp + 0x94], xmm5
jne 0x42127e
movss xmm3, dword [eax + 0xf8]
lea ecx, [esp + 0x90]
movss xmm0, dword [eax + 0xfc]
movaps xmm4, xmm3
movaps xmm2, xmm0
movss dword [esp + 0xc0], xmm3
addss xmm4, xmm1
movss dword [esp + 0xc4], xmm0
movss xmm1, dword [0x4b6cc0]
addss xmm2, xmm5
movss dword [esp + 0xc8], xmm4
movss dword [esp + 0xcc], xmm2
call fcn.00416490
push 0
push 0
xor edx, edx
lea ecx, [esp + 0xc8]
call fcn.004161a0
add esp, 8
call fcn.0048c700
mov dword [edi + 0x5eb8], 0
mov ecx, dword [edi + 0x4a34]
mov eax, dword [edi + 0x4a2c]
mov dword [esp + 0x14], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
cmp ecx, eax
je 0x421426
nop dword [eax]
mov esi, dword [0x4bead0]
mov edi, dword [ecx]
mov eax, dword [esi + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x4212dc
or dword [esi + 0x48e8], 2
mov byte [esi + 0x4900], 1
mov byte [esi + 0x4904], 2
push 0
push str.Viewport__d
push str.viewport0
call fcn.0048b4f0
add esp, 0xc
mov byte [esp + 0x3b], al
xor ecx, ecx
call fcn.004094b0
test al, al
je 0x421307
mov ecx, dword [edi]
mov dword [esi + 0x5eb8], ecx
cmp byte [esp + 0x3b], 0
je 0x42140d
movss xmm0, dword [edi + 0x94]
sub esp, 0x40
cvtps2pd xmm0, xmm0
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
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.00476910
mov ecx, dword [esp + 0x50]
add esp, 0x44
test cl, 4
mov edx, 0x49f357
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 [edi + 4]
push str.Flags:_0x_04X__s_s_s
call fcn.00476910
mov esi, dword [edi + 0x54]
add esp, 0x14
mov eax, dword [edi + 0x4c]
lea eax, [esi + eax*4]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x421408
mov edi, eax
push ecx
push dword [esi]
xor ecx, ecx
call fcn.004248b0
add esi, 4
add esp, 8
cmp esi, edi
jne 0x4213f4
call fcn.0048c700
mov ecx, dword [esp + 0x14]
add ecx, 4
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x18]
jne 0x4212b0
mov edi, dword [esp + 0x1c]
call fcn.0048c700
push dword [edi + 0x4a08]
push str.Popups___d_
push str.Popups
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x42151b
mov eax, dword [edi + 0x4a08]
mov esi, dword [edi + 0x4a10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x421516
mov edi, eax
nop dword [eax + eax]
mov eax, dword [esi + 4]
test eax, eax
je 0x42148a
mov ecx, dword [eax + 0x304]
test ecx, ecx
je 0x42148a
mov edx, dword [ecx + 4]
mov dword [esp + 0x14], edx
jmp 0x421492
mov dword [esp + 0x14], str.NULL
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4214a2
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
jmp 0x4214aa
mov dword [esp + 0x24], str.NULL
test eax, eax
je 0x4214be
test dword [eax + 0xc], 0x10000000
je 0x4214be
mov edx, str.Menu_
jmp 0x4214c7
mov edx, 0x49f357
test eax, eax
je 0x4214da
test dword [eax + 0xc], 0x1000000
je 0x4214da
mov eax, dword [eax + 4]
mov ecx, str.Child_
jmp 0x4214ed
mov ecx, 0x49f357
test eax, eax
je 0x4214e8
mov eax, dword [eax + 4]
jmp 0x4214ed
mov eax, str.NULL
push dword [esp + 0x14]
push dword [esp + 0x28]
push edx
push ecx
push eax
push dword [esi]
push str.PopupID:__08x__Window:__s___s_s___BackupNavWindow__s__ParentWindow__s
call fcn.00476910
add esi, 0x28
add esp, 0x1c
cmp esi, edi
jne 0x421470
mov edi, dword [esp + 0x1c]
call fcn.0048c700
push dword [edi + 0x4d50]
push str.Tab_Bars___d_
push str.TabBars
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421601
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [edi + 0x4d40], ecx
jle 0x4215fc
mov edx, dword [0x4bead0]
mov eax, dword [edi + 0x4d48]
mov eax, dword [eax + ecx*8 + 4]
cmp eax, 0xffffffff
je 0x4215eb
imul eax, eax, 0x98
add eax, dword [edi + 0x4d3c]
mov dword [esp + 0x18], eax
je 0x4215eb
mov esi, dword [edx + 0x3f8c]
mov ecx, esi
push eax
call fcn.00409120
mov ecx, dword [esi + 0xec]
add esi, 0xec
mov dword [esp + 0xc], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x4215be
inc ecx
test eax, eax
je 0x4215ac
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x4215b1
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00428f20
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0xc]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x18]
inc dword [esi]
call fcn.00425c90
mov edx, dword [0x4bead0]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x3f8c]
dec dword [eax + 0xec]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x4d40]
jl 0x421553
call fcn.0048c700
push dword [edi + 0x4d14]
push str.Tables___d_
push str.Tables
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x42165d
xor esi, esi
cmp dword [edi + 0x4d04], esi
jle 0x421658
nop word [eax + eax]
mov eax, dword [edi + 0x4d0c]
mov ecx, dword [eax + esi*8 + 4]
cmp ecx, 0xffffffff
je 0x42164f
shl ecx, 9
add ecx, dword [edi + 0x4d00]
je 0x42164f
call fcn.00473910
inc esi
cmp esi, dword [edi + 0x4d04]
jl 0x421630
call fcn.0048c700
mov esi, dword [edi + 0x2c]
push dword [esi + 0x3c]
push str.Fonts___d_
push str.Fonts
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421685
mov ecx, esi
call fcn.0041fd40
call fcn.0048c700
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x421714
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, 0x4a0fec
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x4216ed
push ecx
push 0x4a0fec
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x14]
add esp, 8
push 0
push 0x4a0fec
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x421714
lea ecx, [edi + 0x4d94]
call fcn.004859e0
call fcn.0048c700
xor eax, eax
lea esi, [edi + 0x5d4c]
cmp byte [esi], al
setne al
push eax
push str.TypingSelect___d_
push str.TypingSelect
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421793
push esi
push str.SearchBuffer____s_
call fcn.004762d0
movzx eax, byte [edi + 0x5d98]
push eax
movsx eax, byte [edi + 0x5d4a]
push eax
movzx eax, byte [edi + 0x5d49]
push eax
push str.SingleCharMode___d__Size___d__Lock___d
call fcn.004762d0
movss xmm0, dword [edi + 0x5d94]
add esp, 0x18
cvtps2pd xmm0, xmm0
push dword [edi + 0x5d90]
sub esp, 8
movsd qword [esp], xmm0
push str.LastRequest__time:__.2f__frame:__d
call fcn.004762d0
add esp, 0x10
call fcn.0048c700
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x421d8d
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Settings
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x4217ff
push ecx
push str.Settings
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x14]
add esp, 8
push 0
push str.Settings
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x421d8d
mov esi, dword [0x4bead0]
lea edx, [esp + 0x90]
push 0x8000
mov ecx, str.Clear
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
movss xmm0, dword [esi + 0x38e8]
movss dword [esp + 0x10], xmm0
mov dword [esi + 0x38e8], 0
call fcn.00477360
movss xmm0, dword [esp + 0x10]
add esp, 4
movss dword [esi + 0x38e8], xmm0
test al, al
je 0x4218cb
mov esi, dword [0x4bead0]
mov dword [esp + 0x14], esi
lea ecx, [esi + 0x5dc4]
call fcn.004010a0
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x5dd8]
mov eax, dword [eax + 0x5dd0]
lea eax, [eax + eax*8]
lea eax, [esi + eax*4]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x4218cb
mov edi, dword [esp + 0x14]
mov eax, dword [esi + 8]
test eax, eax
je 0x4218be
push esi
push edi
call eax
add esp, 8
add esi, 0x24
cmp esi, dword [esp + 0xc]
jne 0x4218b0
mov edi, dword [esp + 0x1c]
mov esi, dword [0x4bead0]
mov edx, dword [esi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421933
movss xmm1, dword [esi + 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
movss xmm0, dword [esi + 0x38e8]
lea edx, [esp + 0x90]
push 0x8000
mov ecx, str.Save_to_memory
movss dword [esp + 0x10], xmm0
mov dword [esi + 0x38e8], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
call fcn.00477360
movss xmm0, dword [esp + 0x10]
add esp, 4
movss dword [esi + 0x38e8], xmm0
test al, al
je 0x421993
xor ecx, ecx
call fcn.0041ded0
mov esi, dword [0x4bead0]
mov edx, dword [esi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4219fb
movss xmm1, dword [esi + 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
movss xmm0, dword [esi + 0x38e8]
lea edx, [esp + 0x90]
push 0x8000
mov ecx, str.Save_to_disk
movss dword [esp + 0x10], xmm0
mov dword [esi + 0x38e8], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
call fcn.00477360
movss xmm0, dword [esp + 0x10]
add esp, 4
movss dword [esi + 0x38e8], xmm0
test al, al
je 0x421aac
mov eax, dword [0x4bead0]
mov esi, dword [edi + 0x20]
mov dword [eax + 0x5dc0], 0
test esi, esi
je 0x421aac
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.0041ded0
mov edx, 0x4a06a0
mov dword [esp + 0xc], eax
mov ecx, esi
call fcn.00404130
mov esi, eax
test esi, esi
je 0x421aac
push esi
push dword [esp + 0x18]
push 1
push dword [esp + 0x18]
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 [0x4bead0]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x421b13
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 [edi + 0x20]
test eax, eax
je 0x421b2a
push eax
push str.__s_
call fcn.004762d0
add esp, 8
jmp 0x421b3b
push 1
xor edx, edx
mov ecx, str._NULL_
call fcn.00475c00
add esp, 4
lea edx, [edi + 0x68]
mov ecx, str.io.ConfigDebugIniSettings
call fcn.00478c00
movss xmm0, dword [edi + 0x5dc0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.004762d0
add esp, 0xc
push dword [edi + 0x5dd0]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421bbf
mov eax, dword [edi + 0x5dd0]
mov esi, dword [edi + 0x5dd8]
lea eax, [eax + eax*8]
lea eax, [esi + eax*4]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x421bba
mov edi, eax
push dword [esi]
push str.__s_
call fcn.00476910
add esi, 0x24
add esp, 8
cmp esi, edi
jne 0x421ba0
mov edi, dword [esp + 0x1c]
call fcn.0048c700
push dword [edi + 0x5ddc]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421ca5
mov esi, dword [edi + 0x5de4]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x421ca0
cmp byte [esi + 0xf], 0
je 0x421bff
call fcn.00412f50
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.004762d0
add esp, 0x20
cmp byte [esi + 0xf], 0
je 0x421c7d
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x48dc]
dec dword [eax + 0x49f0]
mov ecx, dword [eax + 0x49f0]
dec word [eax + 0x5d1c]
mov eax, dword [eax + 0x49f8]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [0x4bead0]
mov dword [ecx + 0x48dc], eax
test dl, 1
je 0x421c7d
test al, 4
jne 0x421c7d
mov eax, dword [ecx + 0x5d18]
mov dword [ecx + 0x38a8], eax
mov edx, dword [esi - 4]
mov eax, dword [edi + 0x5ddc]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x5de4]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x421bf4
call fcn.0048c700
push dword [edi + 0x5de8]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.0048b4f0
add esp, 0xc
test al, al
je 0x421cfd
mov esi, dword [edi + 0x5df0]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x421cf8
mov ecx, esi
call fcn.00474380
mov edx, dword [esi - 4]
mov eax, dword [edi + 0x5de8]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x5df0]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x421cd2
call fcn.0048c700
mov ecx, dword [edi + 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.0048b4f0
add esp, 0xc
test al, al
je 0x421d88
mov eax, dword [0x4bead0]
mov ecx, 0x4beacc
push 0
push 0
push 0x4004000
movss xmm0, dword [eax + 0x3cf4]
mov eax, dword [edi + 0x5dcc]
test eax, eax
mulss xmm0, dword [0x4b6bcc]
cmovne ecx, eax
mov dword [esp + 0x9c], 0x80800000
lea eax, [esp + 0x9c]
xor edx, edx
push eax
push dword [edi + 0x5dc4]
movss dword [esp + 0xa8], xmm0
push ecx
mov ecx, str.Ini
call fcn.00481760
add esp, 0x18
call fcn.0048c700
call fcn.0048c700
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x421f0f
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Memory_allocations
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x421df9
push ecx
push str.Memory_allocations
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x14]
add esp, 8
push 0
push str.Memory_allocations
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x421f0f
mov eax, dword [edi + 0x5edc]
sub eax, dword [edi + 0x5ee0]
push eax
push str._d_current_allocations
call fcn.004762d0
mov esi, dword [0x4bead0]
lea edx, [esp + 0x98]
push 0x8000
mov ecx, str.GC_now
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
movss xmm0, dword [esi + 0x38e8]
movss dword [esp + 0x18], xmm0
mov dword [esi + 0x38e8], 0
call fcn.00477360
movss xmm0, dword [esp + 0x18]
add esp, 0xc
movss dword [esi + 0x38e8], xmm0
test al, al
je 0x421e91
mov byte [edi + 0x3f17], 1
push str.Recent_frames_with_allocations:
call fcn.004762d0
mov ecx, 5
add esp, 4
mov dword [esp + 0x10], ecx
lea esi, [ecx + 1]
nop word [eax + eax]
movsx eax, word [edi + 0x5ee4]
sub eax, ecx
add eax, 6
cdq
idiv esi
cmp dword [esp + 0x10], 0
lea esi, [edi + edx*8]
movsx ecx, word [esi + 0x5eee]
mov eax, str.__most_recent_
cmovne eax, dword [esp + 0x28]
movsx edx, word [esi + 0x5eec]
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.00476910
mov ecx, dword [esp + 0x28]
add esp, 0x18
sub ecx, 1
mov esi, 6
mov dword [esp + 0x10], ecx
jns 0x421eb0
call fcn.0048c700
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x4230f6
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Inputs
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x421f7b
push ecx
push str.Inputs
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x30]
add esp, 8
push 0
push str.Inputs
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x4230f6
push str.KEYBOARD_GAMEPAD_MOUSE_KEYS
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 4
mov eax, dword [ecx + 0x3f8c]
push str.Keys_down:
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.004762d0
mov ecx, dword [0x4bead0]
mov eax, 0xb8
add esp, 4
mov dword [esp + 0x10], eax
xor esi, esi
cmp esi, 0x1ff
ja 0x422019
cmp dword [eax + ecx], 0xffffffff
jne 0x42219d
mov edx, esi
call fcn.00413b40
cmp byte [eax], 0
je 0x422199
cmp esi, 0x200
jl 0x422039
cmp esi, 0x29a
jl 0x422061
cmp esi, 0x1000
je 0x422061
cmp esi, 0x2000
je 0x422061
cmp esi, 0x4000
je 0x422061
cmp esi, 0x8000
je 0x422061
cmp esi, 0x800
jne 0x422072
mov edx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
jne 0x422199
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4220d4
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 + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov ecx, esi
call fcn.00413bf0
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x99
mov eax, str.__s___d
cmova ecx, eax
push ecx
call fcn.004762d0
mov eax, dword [0x4bead0]
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x3f8c]
cmp byte [ecx + 0xb3], 0
jne 0x42216d
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [ecx + 0x100]
movss xmm0, dword [ecx + 0x104]
movss dword [ecx + 0xf8], xmm1
movss dword [ecx + 0xfc], xmm0
mov eax, dword [ecx + 0x128]
mov edx, dword [ecx + 0x12c]
mov dword [ecx + 0x120], eax
mov eax, dword [ecx + 0x134]
mov dword [ecx + 0x130], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x124], edx
mov byte [ecx + 0x138], 1
mov edx, esi
mov ecx, eax
call fcn.00413b40
sub esp, 8
movss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__.02f_
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, 4
inc esi
mov dword [esp + 0x10], eax
cmp eax, 0xb20
jl 0x422007
push str.Keys_pressed:
call fcn.004762d0
mov edi, dword [0x4bead0]
mov eax, 0xb8
add esp, 4
mov dword [esp + 0x10], eax
xor esi, esi
nop
cmp esi, 0x1ff
ja 0x4221e2
cmp dword [eax + edi], 0xffffffff
jne 0x42228e
push 1
xor edx, edx
mov ecx, esi
call fcn.00414340
add esp, 4
test al, al
je 0x42228a
mov edx, dword [edi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x42225a
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 ecx, esi
call fcn.00413bf0
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x99
mov eax, str.__s___d
cmova ecx, eax
push ecx
call fcn.004762d0
mov edi, dword [0x4bead0]
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, 4
inc esi
mov dword [esp + 0x10], eax
cmp eax, 0xb20
jl 0x4221d0
push str.Keys_released:
call fcn.004762d0
mov ecx, dword [0x4bead0]
mov eax, 0xb8
mov edi, dword [esp + 0x20]
add esp, 4
xor esi, esi
mov dword [esp + 0x10], eax
cmp esi, 0x1ff
ja 0x4222d5
cmp dword [eax + ecx], 0xffffffff
jne 0x4223d1
mov edx, esi
call fcn.00413b40
xorps xmm0, xmm0
comiss xmm0, dword [eax + 8]
ja 0x4223cd
cmp byte [eax], 0
jne 0x4223cd
cmp esi, 0x200
jl 0x422302
cmp esi, 0x29a
jl 0x42232a
cmp esi, 0x1000
je 0x42232a
cmp esi, 0x2000
je 0x42232a
cmp esi, 0x4000
je 0x42232a
cmp esi, 0x8000
je 0x42232a
cmp esi, 0x800
jne 0x42233b
mov edx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
jne 0x4223cd
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x42239d
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 + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov ecx, esi
call fcn.00413bf0
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x99
mov eax, str.__s___d
cmova ecx, eax
push ecx
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, 4
inc esi
mov dword [esp + 0x10], eax
cmp eax, 0xb20
jl 0x4222c3
cmp byte [edi + 0xe1f], 0
mov ecx, 0x49f357
mov eax, str.SUPER
cmove eax, ecx
cmp byte [edi + 0xe1e], 0
push eax
mov eax, str.ALT
cmove eax, ecx
cmp byte [edi + 0xe1d], 0
push eax
mov eax, str.SHIFT
cmove eax, ecx
cmp byte [edi + 0xe1c], 0
push eax
mov eax, str.CTRL
cmove eax, ecx
push eax
push str.Keys_mods:__s_s_s_s
call fcn.004762d0
add esp, 0x14
push str.Chars_queue:
call fcn.004762d0
xor ecx, ecx
add esp, 4
mov dword [esp + 0x14], ecx
cmp dword [edi + 0x3898], ecx
jle 0x422517
mov dword [esp + 0xc], 0xde
nop dword [eax]
mov eax, dword [edi + 0x38a0]
movzx eax, word [eax + ecx*2]
mov ecx, dword [0x4bead0]
mov dword [esp + 0x28], eax
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4224da
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 [esp + 0x28]
mov dword [edx + 0x124], ecx
mov byte [edx + 0x138], 1
lea ecx, [eax - 0x21]
movzx esi, ax
cmp cx, word [esp + 0xc]
mov edx, 0x3f
movzx eax, al
cmovbe edx, eax
push esi
movsx eax, dl
push eax
push str._c__0x_04X_
call fcn.004762d0
mov ecx, dword [esp + 0x20]
add esp, 0xc
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x3898]
jl 0x422460
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov ecx, dword [ecx + 0x3f8c]
mov ecx, dword [ecx + 0x270]
call fcn.0041efe0
mov ecx, dword [0x4bead0]
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.004762d0
mov ecx, dword [0x4bead0]
add esp, 4
movss xmm1, dword [0x4b6cf4]
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
movss xmm0, dword [ecx + 0xe00]
comiss xmm0, xmm1
movss xmm2, dword [ecx + 0xe04]
jb 0x422629
comiss xmm2, xmm1
jb 0x422629
movss xmm0, dword [edi + 0xe04]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0xe00]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_pos:___g___g_
call fcn.004762d0
add esp, 0x14
jmp 0x422636
push str.Mouse_pos:__INVALID_
call fcn.004762d0
add esp, 4
movss xmm0, dword [edi + 0xb4]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0xb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_delta:___g___g_
call fcn.004762d0
add esp, 0x14
push str.Mouse_down:
call fcn.004762d0
mov ecx, dword [0x4bead0]
lea eax, [edi + 0x3850]
add esp, 4
mov esi, 0x28f
mov edi, eax
nop word [eax + eax]
cmp byte [esi + ecx + 0xb79], 0
je 0x422772
cmp esi, 0x200
jl 0x4226ae
cmp esi, 0x29a
jl 0x4226d6
cmp esi, 0x1000
je 0x4226d6
cmp esi, 0x2000
je 0x4226d6
cmp esi, 0x4000
je 0x4226d6
cmp esi, 0x8000
je 0x4226d6
cmp esi, 0x800
jne 0x4226e7
mov edx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
jne 0x422772
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422749
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 + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
movss xmm0, dword [edi]
lea eax, [esi - 0x28f]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push eax
push str.b_d___.02f_secs_
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0x10
inc esi
add edi, 4
lea eax, [esi - 0x28f]
cmp eax, 5
jl 0x422690
push str.Mouse_clicked:
call fcn.004762d0
mov ecx, dword [esp + 0x20]
add esp, 4
add ecx, 0x382a
mov edx, 0x3850
mov dword [esp + 0x28], ecx
mov esi, 0x28f
mov ecx, dword [0x4bead0]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edx
nop dword [eax + eax]
cmp byte [esi + ecx + 0xb79], 0
je 0x4228b9
movss xmm0, dword [edx + ecx]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x4228b9
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4228b9
cmp esi, 0x200
jl 0x4227fc
cmp esi, 0x29a
jl 0x422824
cmp esi, 0x1000
je 0x422824
cmp esi, 0x2000
je 0x422824
cmp esi, 0x4000
je 0x422824
cmp esi, 0x8000
je 0x422824
cmp esi, 0x800
jne 0x422835
mov edx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
jne 0x4228b5
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422897
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 + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
movzx eax, word [edi]
push eax
lea eax, [esi - 0x28f]
push eax
push str.b_d___d_
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0xc
mov edx, dword [esp + 0x10]
inc esi
add edx, 4
add edi, 2
mov dword [esp + 0x10], edx
lea eax, [esi - 0x28f]
cmp eax, 5
jl 0x4227c0
push str.Mouse_released:
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, 0x28f
nop
cmp byte [esi + ecx + 0x35af], 0
je 0x4229c3
cmp esi, 0x200
jl 0x42290e
cmp esi, 0x29a
jl 0x422936
cmp esi, 0x1000
je 0x422936
cmp esi, 0x2000
je 0x422936
cmp esi, 0x4000
je 0x422936
cmp esi, 0x8000
je 0x422936
cmp esi, 0x800
jne 0x422947
mov edx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
jne 0x4229c3
mov edx, dword [ecx + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x4229a9
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 + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
lea eax, [esi - 0x28f]
push eax
push 0x4a1348
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 8
inc esi
lea eax, [esi - 0x28f]
cmp eax, 5
jl 0x4228f0
movss xmm0, dword [edi + 0xe10]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_wheel:__.1f
call fcn.004762d0
movss xmm0, dword [edi + 0x4d88]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.MouseStationaryTimer:__.2f
call fcn.004762d0
mov eax, dword [edi + 0xe18]
add esp, 0xc
mov dword [esp + 0x90], str.Mouse
mov dword [esp + 0x94], str.TouchScreen
mov dword [esp + 0x98], 0x4a017c
push dword [esp + eax*4 + 0x90]
push str.Mouse_source:__s
call fcn.004762d0
movss xmm0, dword [edi + 0x388c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pen_Pressure:__.1f
call fcn.004762d0
mov ecx, dword [0x4bead0]
add esp, 0xc
mov eax, dword [ecx + 0x3f8c]
push str.MOUSE_WHEELING
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.004762d0
mov ecx, dword [0x4bead0]
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 [edi + 0x3f9c]
test eax, eax
je 0x422b0d
mov eax, dword [eax + 4]
jmp 0x422b12
mov eax, str.NULL
push eax
push str.WheelingWindow:__s
call fcn.004762d0
movss xmm0, dword [edi + 0x3fb0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.WheelingWindowReleaseTimer:__.2f
call fcn.004762d0
movss xmm1, dword [edi + 0x3fbc]
add esp, 0xc
movss xmm0, dword [edi + 0x3fc0]
comiss xmm1, xmm0
jbe 0x422b56
mov eax, 0x49fc08
jmp 0x422b66
comiss xmm0, xmm1
mov eax, 0x49fc0c
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.004762d0
mov ecx, dword [0x4bead0]
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.004762d0
mov esi, dword [0x4bead0]
add esp, 0x1c
xor edx, edx
mov dword [esp + 0x90], 0x80800000
mov eax, dword [esi + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [esi + 0x3f8c]
movss xmm0, dword [esi + 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 [esi + 0x3f8c]
movss xmm0, dword [esi + 0x3cf4]
addss xmm0, dword [esi + 0x38f8]
mov byte [eax + 0xb0], 1
mov esi, dword [esi + 0x3f8c]
mulss xmm0, dword [0x4b6ba8]
mov ecx, dword [esi + 0xec]
mov eax, dword [esi + 0xf4]
movss dword [esp + 0x94], xmm0
push dword [eax + ecx*4 - 4]
mov ecx, str.owners
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x422ca3
push ecx
push str.owners
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x30]
add esp, 8
push 0x100
lea edx, [esp + 0x94]
mov ecx, str.owners
push 0x88
push edx
mov edx, eax
call fcn.0040ccc0
add esp, 0xc
test al, al
je 0x422d2d
mov esi, 0x200
nop dword [eax]
mov edx, esi
mov ecx, edi
call fcn.004030a0
mov dword [esp + 0x28], eax
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x422d24
cmp byte [eax + 9], 0
je 0x422cf1
mov ecx, str._LockUntilRelease
jmp 0x422d02
cmp byte [eax + 8], 0
mov ecx, str._LockThisFrame
mov eax, 0x49f357
cmove ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.00413bf0
push eax
push str._s:_0x_08X_s
call fcn.004762d0
mov ecx, dword [esp + 0x38]
add esp, 0x10
mov ecx, dword [ecx]
call fcn.00427860
inc esi
cmp esi, 0x29a
jl 0x422cd0
call fcn.0040d070
mov ecx, dword [0x4bead0]
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.004762d0
mov eax, dword [0x4bead0]
add esp, 4
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x422dec
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 0x4a078c
call fcn.004763c0
add esp, 4
mov ecx, 0x1000
call fcn.004094b0
test al, al
je 0x422e7a
xor ecx, ecx
call fcn.004175c0
test al, al
je 0x422e7a
mov eax, dword [0x4bead0]
movss xmm0, dword [eax + 0x3cf4]
mulss xmm0, dword [0x4b6be8]
call fcn.004130a0
push 1
xor edx, edx
mov ecx, str.Declared_shortcut_routes_automatically_set_key_owner_when_mods_matches.
call fcn.00475c00
mov ecx, dword [0x4bead0]
add esp, 4
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov edx, dword [ecx + 0x3f8c]
mov ecx, dword [edx + 0x1c0]
mov eax, dword [edx + 0x1c8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1b0], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1c0], eax
call fcn.00412730
mov esi, dword [0x4bead0]
xor edx, edx
mov dword [esp + 0x90], 0x80800000
mov eax, dword [esi + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [esi + 0x3f8c]
movss xmm0, dword [esi + 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 [esi + 0x3f8c]
movss xmm0, dword [esi + 0x3cf4]
addss xmm0, dword [esi + 0x38f8]
mov byte [eax + 0xb0], 1
mov esi, dword [esi + 0x3f8c]
mulss xmm0, dword [0x4b6ba8]
mov ecx, dword [esi + 0xec]
mov eax, dword [esi + 0xf4]
movss dword [esp + 0x94], xmm0
push dword [eax + ecx*4 - 4]
mov ecx, str.routes
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x422f45
push ecx
push str.routes
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x30]
add esp, 8
push 0x100
lea edx, [esp + 0x94]
mov ecx, str.routes
push 0x88
push edx
mov edx, eax
call fcn.0040ccc0
add esp, 0xc
test al, al
je 0x42308b
mov edx, 0x200
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
nop dword [eax]
movzx eax, word [eax + edi + 0x477c]
cmp ax, 0xffff
je 0x423070
cwde
shl eax, 4
add eax, dword [edi + 0x48b8]
mov dword [esp + 0x28], eax
movzx ecx, word [eax + 2]
movzx edi, byte [eax + 4]
or ecx, edx
mov esi, dword [eax + 8]
mov dword [esp + 0xc], ecx
call fcn.00413cb0
push edi
push esi
push eax
push str._s:_0x_08X__scored__d_
call fcn.004762d0
mov esi, dword [esp + 0x38]
add esp, 0x10
mov ecx, dword [esi + 8]
call fcn.00427860
mov edi, dword [esp + 0x1c]
cmp byte [edi + 0x64], 0
je 0x42305f
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x423047
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 edx, str.in_SetShortcutRouting___for_this_KeyChord
call fcn.00424570
test al, al
je 0x42305f
mov eax, dword [esp + 0xc]
mov dword [edi + 0x48d0], eax
movzx eax, word [esi]
mov edx, dword [esp + 0x10]
cmp ax, 0xffff
jne 0x422f92
mov eax, dword [esp + 0x14]
inc edx
add eax, 2
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
cmp eax, 0x134
jl 0x422f80
call fcn.0040d070
push dword [edi + 0x48c8]
movzx eax, byte [edi + 0x48cc]
push eax
push str._ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:_0x_X_
call fcn.004762d0
mov ecx, dword [0x4bead0]
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.0048c700
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x4237a7
mov ecx, dword [esi + 0xec]
xor edx, edx
mov eax, dword [esi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Internal_state
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x423162
push ecx
push str.Internal_state
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [esp + 0x30]
add esp, 8
push 0
push str.Internal_state
xor edx, edx
mov ecx, eax
call fcn.0048b7c0
add esp, 8
test al, al
je 0x4237a7
push str.WINDOWING
call fcn.004762d0
mov ecx, dword [0x4bead0]
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 [edi + 0x3f90]
test eax, eax
je 0x4231df
mov eax, dword [eax + 4]
jmp 0x4231e4
mov eax, str.NULL
push eax
push str.HoveredWindow:__s
call fcn.004762d0
mov eax, dword [edi + 0x3f90]
add esp, 8
test eax, eax
je 0x423207
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 4]
jmp 0x42320c
mov eax, str.NULL
push eax
push str.HoveredWindow__Root:__s
call fcn.004762d0
mov eax, dword [edi + 0x3f94]
add esp, 8
test eax, eax
je 0x423229
mov eax, dword [eax + 4]
jmp 0x42322e
mov eax, str.NULL
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.004762d0
mov eax, dword [edi + 0x3f98]
add esp, 8
test eax, eax
je 0x42324b
mov eax, dword [eax + 4]
jmp 0x423250
mov eax, str.NULL
push eax
push str.MovingWindow:__s
call fcn.004762d0
mov ecx, dword [0x4bead0]
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.004762d0
mov ecx, dword [0x4bead0]
add esp, 0xc
mov dword [esp + 0xc0], 0x49ffe0
mov dword [esp + 0xc4], str.Mouse
mov dword [esp + 0xc8], str.Keyboard
mov eax, dword [ecx + 0x3f8c]
mov dword [esp + 0xcc], str.Gamepad
mov dword [esp + 0xd0], 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 [edi + 0x4000]
movss xmm0, dword [edi + 0x3fe4]
cvtps2pd xmm0, xmm0
push dword [esp + eax*4 + 0xc0]
movzx eax, byte [edi + 0x3fe9]
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [edi + 0x4004]
push dword [edi + 0x3fdc]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.004762d0
mov ecx, dword [edi + 0x3fdc]
add esp, 0x1c
call fcn.00427860
mov eax, dword [edi + 0x3ffc]
test eax, eax
je 0x423386
mov eax, dword [eax + 4]
jmp 0x42338b
mov eax, str.NULL
push eax
push str.ActiveIdWindow:__s
call fcn.004762d0
push dword [edi + 0x48c8]
movzx eax, byte [edi + 0x48cc]
push eax
push str.ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:__X
call fcn.004762d0
movss xmm0, dword [edi + 0x3fd4]
add esp, 0x14
movzx eax, byte [edi + 0x3fd0]
cvtps2pd xmm0, xmm0
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [edi + 0x3fcc]
push str.HoveredId:_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.004762d0
movss xmm0, dword [edi + 0x4d78]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x4d74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [edi + 0x4d6c]
push str.HoverItemDelayId:_0x_08X__Timer:__.2f__ClearTimer:__.2f
call fcn.004762d0
push dword [edi + 0x4c44]
lea eax, [edi + 0x4c54]
push eax
push dword [edi + 0x4c48]
movzx eax, byte [edi + 0x4c30]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.004762d0
mov ecx, dword [edi + 0x4c48]
add esp, 0x2c
call fcn.00427860
mov ecx, dword [0x4bead0]
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.004762d0
mov ecx, dword [0x4bead0]
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 [edi + 0x4a38]
test eax, eax
je 0x4234eb
mov eax, dword [eax + 4]
jmp 0x4234f0
mov eax, str.NULL
push eax
push str.NavWindow:__s
call fcn.004762d0
push dword [edi + 0x4a80]
push dword [edi + 0x4a3c]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.004762d0
mov ecx, dword [edi + 0x4a3c]
add esp, 0x14
call fcn.00427860
mov eax, dword [edi + 0x4a7c]
mov dword [esp + 0xc0], 0x49ffe0
mov dword [esp + 0xc4], str.Mouse
mov dword [esp + 0xc8], str.Keyboard
mov dword [esp + 0xcc], str.Gamepad
mov dword [esp + 0xd0], str.Clipboard
push dword [esp + eax*4 + 0xc0]
push str.NavInputSource:__s
call fcn.004762d0
mov eax, dword [edi + 0x4a8c]
mov ecx, dword [edi + 0x4a88]
push eax
push ecx
push eax
push ecx
push str.NavLastValidSelectionUserData___I64d__0x_I64X_
call fcn.004762d0
movzx eax, byte [edi + 0x98]
add esp, 0x1c
push eax
movzx eax, byte [edi + 0x97]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.004762d0
add esp, 0xc
push dword [edi + 0x4a58]
push dword [edi + 0x4a54]
push dword [edi + 0x4a50]
push str.NavActivateId_DownId_PressedId:__08X__08X__08X
call fcn.004762d0
push dword [edi + 0x4a5c]
push str.NavActivateFlags:__04X
call fcn.004762d0
movzx eax, byte [edi + 0x4a93]
push eax
movzx eax, byte [edi + 0x4a92]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.004762d0
add esp, 0x24
push dword [edi + 0x4a40]
push str.NavFocusScopeId__0x_08X
call fcn.004762d0
push str.NavFocusRoute___
call fcn.004762d0
mov esi, dword [edi + 0x4a44]
add esp, 0xc
sub esi, 1
mov dword [esp + 0x24], esi
js 0x42373a
mov eax, dword [edi + 0x4a4c]
mov dword [esp + 0x14], eax
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x423691
movss xmm1, dword [edx + 0x100]
addss xmm1, dword [0x4b69e8]
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 [esp + 0x14]
push dword [eax + esi*8]
push str.0x_08X_
call fcn.004762d0
mov eax, dword [esp + 0x1c]
add esp, 8
mov eax, dword [eax + esi*8 + 4]
mov dword [esp + 0x14], eax
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x3f70]
mov esi, dword [eax + 0x3f78]
test edx, edx
je 0x4236f7
mov edi, dword [esp + 0x14]
nop word [eax + eax]
mov ecx, edx
shr ecx, 1
cmp dword [esi + ecx*8], edi
lea eax, [esi + ecx*8]
jae 0x4236e8
lea esi, [eax + 8]
or eax, 0xffffffff
sub eax, ecx
add edx, eax
jmp 0x4236ea
mov edx, ecx
test edx, edx
jne 0x4236d0
mov edi, dword [esp + 0x1c]
mov eax, dword [0x4bead0]
mov ecx, dword [eax + 0x3f70]
mov eax, dword [eax + 0x3f78]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x423717
mov eax, dword [esp + 0x14]
cmp dword [esi], eax
jne 0x423717
mov eax, dword [esi + 4]
jmp 0x423719
xor eax, eax
push dword [eax + 4]
push str.In_window___s_
call fcn.004177b0
mov esi, dword [esp + 0x2c]
add esp, 8
sub esi, 1
mov dword [esp + 0x24], esi
jns 0x423620
mov eax, dword [edi + 0x4c00]
test eax, eax
je 0x423749
mov eax, dword [eax + 4]
jmp 0x42374e
mov eax, str.NULL
push eax
push str.NavWindowingTarget:__s
call fcn.004762d0
mov ecx, dword [0x4bead0]
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.0048c700
cmp byte [edi + 0x5ea2], 0
lea edx, [edi + 0x5ea0]
jne 0x4237c0
cmp byte [edx + 3], 0
je 0x423b9d
mov ecx, dword [edi + 0x3f48]
mov eax, dword [edi + 0x3f40]
mov dword [esp + 0x28], ecx
lea esi, [ecx + eax*4]
mov dword [esp + 0x10], esi
cmp ecx, esi
je 0x423b9d
mov edi, ecx
mov eax, esi
nop dword [eax]
nop word [eax + eax]
mov esi, dword [edi]
cmp byte [esi + 0xaf], 0
je 0x423b8e
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
mov edx, dword [esp + 0x40]
add esp, 4
mov dword [esp + 0x20], eax
cmp byte [edx + 2], 0
je 0x423aa6
mov ecx, dword [edx + 0xc]
test ecx, ecx
jne 0x423874
movss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x1c]
movss dword [esp + 0xb0], xmm1
addss xmm1, dword [esi + 0x20]
movss dword [esp + 0xb4], xmm0
addss xmm0, dword [esi + 0x24]
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0xbc], xmm0
jmp 0x42399c
cmp ecx, 1
jne 0x42388d
movups xmm0, xmmword [esi + 0x1cc]
movups xmmword [esp + 0xb0], xmm0
jmp 0x42399c
cmp ecx, 2
jne 0x4238a6
movups xmm0, xmmword [esi + 0x1dc]
movups xmmword [esp + 0xb0], xmm0
jmp 0x42399c
cmp ecx, 3
jne 0x4238bf
movups xmm0, xmmword [esi + 0x1ec]
movups xmmword [esp + 0xb0], xmm0
jmp 0x42399c
cmp ecx, 4
jne 0x4238d8
movups xmm0, xmmword [esi + 0x1fc]
movups xmmword [esp + 0xb0], xmm0
jmp 0x42399c
cmp ecx, 5
jne 0x42393d
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
addss xmm1, dword [esi + 0x30]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x34]
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm2
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0xbc], xmm0
jmp 0x42399c
cmp ecx, 6
jne 0x42397b
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
addss xmm1, dword [esi + 0x38]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3c]
jmp 0x423914
cmp ecx, 7
jne 0x423991
movups xmm0, xmmword [esi + 0x22c]
movups xmmword [esp + 0xb0], xmm0
jmp 0x42399c
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
test byte [eax + 0x24], 1
xorps xmm3, xmm3
movss xmm0, dword [esp + 0xb8]
push 0
je 0x423a13
movss xmm1, dword [0x4b6a7c]
lea ecx, [esp + 0x94]
subss xmm0, xmm1
push ecx
lea ecx, [esp + 0x60]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, xmm1
movss dword [esp + 0x9c], 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 0x423a6f
subss xmm0, dword [0x4b6a78]
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x50]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, dword [0x4b6a78]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0xb8]
addss xmm0, dword [0x4b6a7c]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xbc]
addss xmm0, dword [0x4b6a7c]
movss dword [esp + 0x54], xmm0
push ecx
mov ecx, eax
call fcn.00461a00
mov eax, dword [esp + 0x20]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push 0xff8000ff
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.0045f840
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x54], 0
cmp byte [edx + 3], 0
je 0x423b8a
test dword [esi + 0xc], 0x1000000
jne 0x423b8a
movsx eax, word [esi + 0xc2]
push eax
push 0x4a0760
lea eax, [esp + 0x150]
push 0x20
push eax
call fcn.00403f20
mov eax, dword [0x4bead0]
add esp, 0x10
movss xmm1, dword [eax + 0x3cf4]
lea eax, [esi + 0x18]
mov esi, dword [esp + 0x20]
movaps xmm0, xmm1
addss xmm0, dword [eax]
addss xmm1, dword [eax + 4]
push 0
push ecx
mov dword [esp], 0
lea ecx, [esp + 0x48]
push 0xff6464c8
push ecx
push eax
mov ecx, esi
mov dword [esp + 0x3c], eax
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x58], xmm1
call fcn.004620b0
lea ecx, [esp + 0x148]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x423b32
sub ecx, edx
lea eax, [esp + 0x148]
add ecx, eax
cmp eax, ecx
je 0x423b86
mov eax, dword [esi + 0x2c]
movups xmm0, xmmword [esi + 0x60]
push 0
push ecx
movss xmm2, dword [eax + 0xc]
mov dword [esp], 0
push ecx
lea ecx, [esp + 0x154]
push ecx
lea ecx, [esp + 0xd0]
push ecx
mov ecx, dword [eax + 8]
push 0xffffffffffffffff
push dword [esp + 0x40]
movups xmmword [esp + 0xdc], xmm0
push esi
call fcn.00466ab0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
add edi, 4
cmp edi, eax
jne 0x4237f0
mov edi, dword [esp + 0x1c]
cmp byte [edx + 4], 0
je 0x4240e8
xor esi, esi
mov dword [esp + 0x18], esi
cmp dword [edi + 0x4d04], esi
jle 0x4240e8
mov dword [esp + 0x28], 0xff80ffff
mov eax, dword [edi + 0x4d0c]
mov esi, dword [eax + esi*8 + 4]
cmp esi, 0xffffffff
je 0x4240d3
shl esi, 9
add esi, dword [edi + 0x4d00]
je 0x4240d3
mov eax, dword [edi + 0x3f08]
dec eax
cmp dword [esi + 0x3c], eax
jl 0x4240d3
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
mov ecx, dword [edi + 0x5eb0]
lea edx, [edi + 0x5ea0]
add esp, 4
mov dword [esp + 0x14], eax
cmp ecx, 6
jl 0x423f9b
cmp dword [esi + 0x40], 0
mov dword [esp + 0x34], 0
jle 0x4240d3
xor ecx, ecx
mov edi, eax
mov dword [esp + 0x24], ecx
movsx eax, word [esi + 0x4c]
mov edx, dword [edx + 0x10]
test eax, eax
jne 0x423c6c
lea eax, [esi + 0x178]
mov dword [esp + 0x20], eax
lea eax, [esi + 0x174]
mov dword [esp + 0x10], eax
lea eax, [esi + 0x170]
jmp 0x423c9a
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x18c]
lea edi, [ecx*8 - 0xc]
add edi, eax
mov dword [esp + 0x20], edi
lea edi, [ecx - 2]
lea edi, [eax + edi*8]
lea eax, [eax + ecx*8]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
add eax, 0xffffffec
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
test edx, edx
jne 0x423cb6
movups xmm0, xmmword [esi + 0xc4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 1
jne 0x423ccf
movups xmm0, xmmword [esi + 0xd4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 2
jne 0x423ce8
movups xmm0, xmmword [esi + 0xe4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 3
jne 0x423d01
movups xmm0, xmmword [esi + 0x134]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 4
jne 0x423d1a
movups xmm0, xmmword [esi + 0xf4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 5
jne 0x423d33
movups xmm0, xmmword [esi + 0x104]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 6
jne 0x423d5f
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0xf8]
movaps xmm1, xmm0
movss xmm3, dword [eax + ecx + 8]
movss xmm2, dword [eax + ecx + 0xc]
mov eax, dword [esp + 0x30]
addss xmm0, dword [eax]
jmp 0x423e80
cmp edx, 7
jne 0x423d88
mov eax, dword [esi + 0x10]
movss xmm1, dword [esi + 0xe8]
movss xmm0, dword [esi + 0xf0]
movss xmm3, dword [eax + ecx + 0x34]
movss xmm2, dword [eax + ecx + 0x38]
jmp 0x423e80
cmp edx, 8
jne 0x423da2
mov eax, dword [esi + 0x10]
movups xmm0, xmmword [eax + ecx + 0x20]
movups xmmword [esp + 0xa0], xmm0
jmp 0x423e5c
cmp edx, 9
jne 0x423dce
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0xf8]
movaps xmm1, xmm0
movss xmm3, dword [eax + ecx + 0x34]
movss xmm2, dword [eax + ecx + 0x48]
mov eax, dword [esp + 0x10]
addss xmm0, dword [eax]
jmp 0x423e80
cmp edx, 0xa
jne 0x423dfa
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0xf8]
movaps xmm1, xmm0
movss xmm3, dword [eax + ecx + 0x34]
movss xmm2, dword [eax + ecx + 0x4c]
mov eax, dword [esp + 0x10]
addss xmm0, dword [eax]
jmp 0x423e80
cmp edx, 0xb
jne 0x423e23
mov eax, dword [esi + 0x10]
movss xmm0, dword [esi + 0xf8]
movaps xmm1, xmm0
movss xmm3, dword [eax + ecx + 0x34]
movss xmm2, dword [eax + ecx + 0x40]
mov ecx, dword [esp + 0x20]
addss xmm0, dword [ecx]
jmp 0x423e80
cmp edx, 0xc
jne 0x423e51
mov eax, dword [esi + 0x10]
movss xmm1, dword [esi + 0xf8]
add eax, ecx
mov ecx, dword [esp + 0x20]
movss xmm0, dword [esi + 0x100]
movss xmm3, dword [eax + 0x34]
addss xmm1, dword [ecx]
movss xmm2, dword [eax + 0x44]
jmp 0x423e80
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, word [esi + 0x1be]
mov ecx, 0xff8000ff
cmp eax, dword [esp + 0x34]
cmove ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
jne 0x423ea5
movss xmm4, dword [0x4b6b5c]
jmp 0x423ead
movss xmm4, dword [0x4b6ac4]
test byte [edi + 0x24], 1
mov ecx, edi
movss dword [esp + 0x30], xmm4
push 0
je 0x423f01
movss xmm4, dword [0x4b6a7c]
lea eax, [esp + 0x94]
subss xmm2, xmm4
subss xmm0, xmm4
addss xmm3, xmm4
addss xmm1, xmm4
push eax
movss dword [esp + 0x98], xmm2
lea eax, [esp + 0x60]
movss dword [esp + 0x9c], xmm0
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x64], xmm1
jmp 0x423f42
subss xmm2, dword [0x4b6a78]
subss xmm0, dword [0x4b6a78]
addss xmm3, dword [0x4b6a7c]
addss xmm1, dword [0x4b6a7c]
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.00461a00
movss xmm0, dword [esp + 0x30]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push dword [esp + 0x14]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0045f840
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
inc eax
mov edx, dword [esp + 0x3c]
add ecx, 0x70
mov dword [edi + 0x54], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
cmp eax, dword [esi + 0x40]
jl 0x423c45
mov edi, dword [esp + 0x1c]
jmp 0x4240d3
test ecx, ecx
jne 0x423fa8
movups xmm2, xmmword [esi + 0xc4]
jmp 0x423ff1
cmp ecx, 1
jne 0x423fb6
movups xmm2, xmmword [esi + 0xd4]
jmp 0x423ff1
cmp ecx, 2
jne 0x423fc4
movups xmm2, xmmword [esi + 0xe4]
jmp 0x423ff1
cmp ecx, 3
jne 0x423fd2
movups xmm2, xmmword [esi + 0x134]
jmp 0x423ff1
cmp ecx, 4
jne 0x423fe0
movups xmm2, xmmword [esi + 0xf4]
jmp 0x423ff1
cmp ecx, 5
jne 0x423fee
movups xmm2, xmmword [esi + 0x104]
jmp 0x423ff1
xorps xmm2, xmm2
mov esi, dword [esp + 0x14]
movaps xmm0, xmm2
push 0
xorps xmm3, xmm3
shufps xmm0, xmm2, 0xaa
mov ecx, esi
test byte [esi + 0x24], 1
je 0x42405b
movss xmm1, dword [0x4b6a7c]
lea eax, [esp + 0x44]
subss xmm0, xmm1
push eax
lea eax, [esp + 0xb8]
movss dword [esp + 0x48], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
subss xmm0, xmm1
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm2
shufps xmm2, xmm2, 0x55
addss xmm0, xmm1
addss xmm2, xmm1
movss dword [esp + 0xb8], xmm0
movss dword [esp + 0xbc], xmm2
jmp 0x4240aa
subss xmm0, dword [0x4b6a78]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x68]
movss dword [esp + 0x70], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xff
subss xmm0, dword [0x4b6a78]
movss dword [esp + 0x74], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6a7c]
shufps xmm2, xmm2, 0x55
addss xmm2, dword [0x4b6a7c]
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x6c], xmm2
push eax
call fcn.00461a00
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push 0xff8000ff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.0045f840
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x18], esi
cmp esi, dword [edi + 0x4d04]
jl 0x423bc1
call fcn.00412730
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
xor ecx, esp
call fcn.0049c694
mov esp, ebp
pop ebp
ret