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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x4b36c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, 0x4bb1b0
push edi
call fcn.0048decd
mov ebx, dword [0x4b3748]
cmp byte [ebx + 0x5ae4], 0
lea edi, [ebx + 0x5ae4]
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x160], edi
je 0x4285cd
push edi
call fcn.00427a30
add esp, 4
inc edi
mov dword [ebp - 0x11c], edi
cmp byte [edi], 0
je 0x4285e2
push edi
call fcn.0042bb80
add esp, 4
push 0
push esi
push str.Dear_ImGui_Metrics_Debugger
call fcn.00408de0
add esp, 0xc
test al, al
je 0x42bb68
mov ecx, dword [0x4b3748]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
cmp word [eax + 0xb6], 1
jg 0x42bb68
push str.1.89.5_WIP
push str.Dear_ImGui__s
call fcn.00488b60
movss xmm1, dword [ebx + 0xa0]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [0x496404]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.00488b60
mov ecx, dword [ebx + 0xa8]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ecx
push dword [ebx + 0xa4]
push str._d_vertices___d_indices___d_triangles_
call fcn.00488b60
push dword [ebx + 0xb4]
push dword [ebx + 0xac]
push str._d_visible_windows___d_active_allocations
call fcn.00488b60
add esp, 0x30
call fcn.00484950
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0xe4], str.OuterRect
mov dword [ebp - 0xe0], str.OuterRectClipped
mov dword [ebp - 0xdc], str.InnerRect
mov dword [ebp - 0xd8], str.InnerClipRect
mov dword [ebp - 0xd4], str.WorkRect
mov dword [ebp - 0xd0], str.Content
mov dword [ebp - 0xcc], str.ContentIdeal
mov dword [ebp - 0xc8], str.ContentRegionRect
mov dword [ebp - 0x118], str.OuterRect
mov dword [ebp - 0x114], str.InnerRect
mov dword [ebp - 0x110], str.WorkRect
mov dword [ebp - 0x10c], str.HostClipRect
mov dword [ebp - 0x108], str.InnerClipRect
mov dword [ebp - 0x104], str.BackgroundClipRect
mov dword [ebp - 0x100], str.ColumnsRect
mov dword [ebp - 0xfc], str.ColumnsWorkRect
mov dword [ebp - 0xf8], str.ColumnsClipRect
mov dword [ebp - 0xf4], str.ColumnsContentHeadersUsed
mov dword [ebp - 0xf0], str.ColumnsContentHeadersIdeal
mov dword [ebp - 0xec], str.ColumnsContentFrozen
mov dword [ebp - 0xe8], str.ColumnsContentUnfrozen
cmp dword [ecx + 8], 0
jge 0x42878a
mov dword [ecx + 8], 4
cmp dword [ecx + 0xc], 0
jge 0x428797
mov dword [ecx + 0xc], 2
push str.Tools
call fcn.00489390
add esp, 4
test al, al
je 0x42923b
push str.UTF_8_Encoding_viewer
call fcn.00489390
mov dword [esp], 0xbf800000
mov bl, al
push ecx
mov dword [esp], 0
call fcn.00424fe0
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.0041c4d0
add esp, 0xc
test bl, bl
je 0x4289cf
mov eax, dword [0x4b3748]
push 0
push 0
push 0
or dword [eax + 0x46a0], 1
push 0x64
push 0x4b3768
push str.Text
mov dword [eax + 0x46a4], 0x80800000
call fcn.0047e620
add esp, 0x18
cmp byte [0x4b3768], 0
je 0x4289ca
push 0x4b3768
push str.Text:___s_
call fcn.00488b60
add esp, 4
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [esp], 0
push eax
push 0x27c0
push 4
push str.list
call fcn.00461ef0
add esp, 0x14
test al, al
je 0x4289ca
push 0
push ecx
mov dword [esp], 0
push 0
push str.Offset
call fcn.00469410
add esp, 0x10
push 0
push ecx
mov dword [esp], 0
push 0
push str.UTF_8
call fcn.00469410
add esp, 0x10
push 0
push ecx
mov dword [esp], 0
push 0
push str.Glyph
call fcn.00469410
add esp, 0x10
push 0
push ecx
mov dword [esp], 0
push 0
push str.Codepoint
call fcn.00469410
add esp, 0x10
call fcn.00467140
cmp byte [0x4b3768], 0
mov edi, 0x4b3768
je 0x4289bf
nop dword [eax]
push 0
lea eax, [ebp - 0x120]
push edi
push eax
call fcn.00418dc0
mov ebx, eax
call fcn.00467fe0
mov ecx, edi
sub ecx, 0x4b3768
push ecx
push 0x4946c0
call fcn.00488b60
add esp, 0x14
call fcn.00467fe0
xor esi, esi
test ebx, ebx
jle 0x42895c
test esi, esi
je 0x428945
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
add esp, 8
movzx eax, byte [esi + edi]
push eax
push str.0x_02X
call fcn.00488b60
inc esi
add esp, 8
cmp esi, ebx
jl 0x428927
call fcn.00467fe0
mov eax, dword [0x4b3748]
mov esi, dword [ebp - 0x120]
push esi
mov ecx, dword [eax + 0x3bcc]
call fcn.004511b0
test eax, eax
je 0x428985
lea ecx, [ebx + edi]
mov eax, edi
mov edi, ecx
jmp 0x42899c
cmp esi, 0xfffd
mov ecx, str._missing_
mov eax, str._invalid_
cmovne eax, ecx
xor ecx, ecx
add edi, ebx
push ecx
push eax
call fcn.004891a0
call fcn.00467fe0
push esi
push str.U_04X
call fcn.00488b60
add esp, 0x10
cmp byte [edi], 0
jne 0x4288f0
call fcn.00463d70
mov edi, dword [ebp - 0x11c]
call fcn.00489ff0
mov ebx, dword [ebp - 0x138]
lea esi, [ebx + 0x5adb]
push esi
push str.Show_Item_Picker
call fcn.004762c0
add esp, 8
test al, al
je 0x4289fe
cmp byte [esi], 0
je 0x4289fe
mov eax, dword [0x4b3748]
mov byte [eax + 0x5adb], 1
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
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.0041c4d0
lea esi, [ebx + 0x5ae4]
push esi
push str.Show_Debug_Log
call fcn.004762c0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
push str.You_can_also_call_ImGui::ShowDebugLogWindow___from_your_code.
call fcn.0041c4d0
push edi
push str.Show_Stack_Tool
call fcn.004762c0
add esp, 0xc
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
push str.You_can_also_call_ImGui::ShowStackToolWindow___from_your_code.
call fcn.0041c4d0
lea eax, [ebx + 0x5ae7]
push eax
push str.Show_windows_begin_order
call fcn.004762c0
lea esi, [ebx + 0x5ae6]
push esi
push str.Show_windows_rectangles
call fcn.004762c0
add esp, 0x14
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
mov eax, dword [0x4b3748]
push 8
push 8
movss xmm0, dword [eax + 0x3bd0]
mulss xmm0, dword [0x4963c8]
or dword [eax + 0x46a0], 1
movss dword [eax + 0x46a4], xmm0
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebx + 0x5aec]
push eax
push str.show_windows_rect_type
call fcn.0047ad60
add esp, 0x1c
or byte [esi], al
je 0x428bcb
mov eax, dword [ebx + 0x47c0]
test eax, eax
je 0x428bcb
push dword [eax + 4]
push str._s:
call fcn.004754d0
add esp, 4
mov dword [esp], 0
call fcn.00419930
add esp, 4
xor esi, esi
push esi
push dword [ebx + 0x47c0]
lea eax, [ebp - 0x14]
push eax
call fcn.00417080
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 - 0xe4]
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.00488b60
inc esi
add esp, 0x38
cmp esi, 8
jl 0x428b30
push ecx
mov dword [esp], 0
call fcn.0042cfe0
add esp, 4
lea esi, [ebx + 0x5ae8]
push esi
push str.Show_tables_rectangles
call fcn.004762c0
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
mov eax, dword [0x4b3748]
push 0xd
push 0xd
movss xmm0, dword [eax + 0x3bd0]
mulss xmm0, dword [0x4963c8]
or dword [eax + 0x46a0], 1
movss dword [eax + 0x46a4], xmm0
lea eax, [ebp - 0x118]
push eax
lea eax, [ebx + 0x5af0]
push eax
push str.show_table_rects_type
call fcn.0047ad60
add esp, 0x1c
or byte [esi], al
je 0x429207
cmp dword [ebx + 0x47c0], 0
je 0x429207
xor esi, esi
mov dword [ebp - 0x120], esi
cmp dword [ebx + 0x4a04], esi
jle 0x429207
nop dword [eax]
mov eax, dword [ebx + 0x4a0c]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x4291f4
imul ecx, eax, 0x1e8
add ecx, dword [ebx + 0x4a00]
mov dword [ebp - 0x128], ecx
je 0x4291f4
mov eax, dword [ebx + 0x3de0]
dec eax
cmp dword [ecx + 0x3c], eax
jl 0x4291f4
mov eax, dword [ebx + 0x47c0]
mov edx, dword [ecx + 0x14c]
cmp edx, eax
je 0x428cb7
cmp dword [ecx + 0x150], eax
jne 0x4291f4
push dword [edx + 4]
push dword [ecx + 0x40]
push dword [ecx]
push str.Table_0x_08X___d_columns__in__s_
call fcn.004754d0
mov esi, dword [0x4b3748]
add esp, 0x10
cmp byte [esi + 0x47fb], 0
mov edi, dword [esi + 0x3e40]
je 0x428ea6
cmp byte [esi + 0x47fa], 0
jne 0x428ea6
test byte [esi + 0x46b8], 4
jne 0x428d11
mov eax, dword [esi + 0x47c4]
cmp eax, dword [esi + 0x46b4]
jne 0x428d11
test eax, eax
jne 0x428f60
mov esi, dword [ebp - 0x128]
mov ecx, dword [0x4b3748]
lea edi, [ebp - 0x118]
xor ebx, ebx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x12c], ebx
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
cmp ebx, 6
jb 0x429302
je 0x428d85
cmp ebx, 8
jne 0x42917f
xor ebx, ebx
cmp dword [esi + 0x40], ebx
jle 0x429179
push ebx
push dword [ebp - 0x12c]
lea eax, [ebp - 0x15c]
push esi
push eax
call fcn.00416a20
movss xmm2, dword [ebp - 0x150]
lea eax, [ebp - 0xc4]
movss xmm4, dword [ebp - 0x158]
add esp, 0x10
movss xmm1, dword [ebp - 0x154]
movaps xmm0, xmm2
movss xmm3, dword [ebp - 0x15c]
subss xmm0, xmm4
push dword [edi]
push ebx
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__Col__d__s
push 0x80
push eax
call fcn.00417d10
lea eax, [ebp - 0x180]
mov dword [ebp - 0x180], 0
push eax
push 0
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x17c], 0
push 0
push eax
call fcn.00484420
mov esi, dword [0x4b3748]
add esp, 0x54
cmp byte [esi + 0x47fb], 0
mov edi, dword [esi + 0x3e40]
je 0x42900a
cmp byte [esi + 0x47fa], 0
jne 0x42900a
test byte [esi + 0x46b8], 4
jne 0x429163
mov eax, dword [esi + 0x47c4]
cmp eax, dword [esi + 0x46b4]
jne 0x429163
test eax, eax
je 0x429163
jmp 0x4290c4
mov eax, dword [esi + 0x46bc]
test al, 1
je 0x428d11
cmp dword [esi + 0x3e44], edi
je 0x428ec4
test al, al
jns 0x428d11
mov eax, dword [esi + 0x3e8c]
test eax, eax
je 0x428ee8
cmp eax, dword [esi + 0x46b4]
je 0x428ee8
cmp byte [esi + 0x3e99], 0
jne 0x428ee8
cmp eax, dword [edi + 0x70]
jne 0x428d11
mov eax, dword [0x4b3748]
mov eax, dword [eax + 0x47c0]
test eax, eax
je 0x428f3b
mov eax, dword [eax + 0x300]
test eax, eax
je 0x428f3b
cmp byte [eax + 0xab], 0
je 0x428f3b
mov ecx, dword [edi + 0x300]
cmp eax, ecx
je 0x428f3b
test dword [eax + 0xc], 0xc000000
je 0x428f3b
push eax
push ecx
call fcn.0041b1d0
add esp, 8
test al, al
jne 0x428f3b
test dword [esi + 0x46b8], 0x100
je 0x428d11
test byte [esi + 0x46b8], 4
jne 0x428d11
mov eax, dword [esi + 0x46b4]
cmp eax, dword [edi + 0x70]
jne 0x428f60
cmp byte [edi + 0xac], 0
jne 0x428d11
mov eax, dword [0x4b3748]
push str.Foreground
push 1
mov eax, dword [eax + 0x47bc]
push dword [eax]
call fcn.00416df0
mov esi, dword [ebp - 0x128]
add esp, 8
movss xmm1, dword [0x492964]
movss xmm0, dword [esi + 0xc4]
addss xmm0, xmm1
mov dword [esp], 0x40000000
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x170]
push 0xff00ffff
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [esi + 0xc8]
addss xmm0, xmm1
push ecx
lea ecx, [ebp - 0x178]
push ecx
mov ecx, eax
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [esi + 0xbc]
subss xmm0, xmm1
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [esi + 0xc0]
subss xmm0, xmm1
movss dword [ebp - 0x174], xmm0
call fcn.0044f330
jmp 0x428d17
mov eax, dword [esi + 0x46bc]
test al, 1
je 0x429163
cmp dword [esi + 0x3e44], edi
je 0x429028
test al, al
jns 0x429163
mov eax, dword [esi + 0x3e8c]
test eax, eax
je 0x42904c
cmp eax, dword [esi + 0x46b4]
je 0x42904c
cmp byte [esi + 0x3e99], 0
jne 0x42904c
cmp eax, dword [edi + 0x70]
jne 0x429163
mov eax, dword [0x4b3748]
mov eax, dword [eax + 0x47c0]
test eax, eax
je 0x42909f
mov eax, dword [eax + 0x300]
test eax, eax
je 0x42909f
cmp byte [eax + 0xab], 0
je 0x42909f
mov ecx, dword [edi + 0x300]
cmp eax, ecx
je 0x42909f
test dword [eax + 0xc], 0xc000000
je 0x42909f
push eax
push ecx
call fcn.0041b1d0
add esp, 8
test al, al
jne 0x42909f
test dword [esi + 0x46b8], 0x100
je 0x429163
test byte [esi + 0x46b8], 4
jne 0x429163
mov eax, dword [esi + 0x46b4]
cmp eax, dword [edi + 0x70]
jne 0x4290c4
cmp byte [edi + 0xac], 0
jne 0x429163
mov eax, dword [0x4b3748]
push str.Foreground
push 1
mov eax, dword [eax + 0x47bc]
push dword [eax]
call fcn.00416df0
movss xmm1, dword [0x492964]
add esp, 8
movss xmm0, dword [ebp - 0x154]
addss xmm0, xmm1
mov dword [esp], 0x40000000
push 0
push ecx
movss dword [ebp - 0x188], xmm0
lea ecx, [ebp - 0x188]
movss xmm0, dword [ebp - 0x150]
addss xmm0, xmm1
mov dword [esp], 0
push 0xff00ffff
push ecx
lea ecx, [ebp - 0x190]
push ecx
movss dword [ebp - 0x184], xmm0
mov ecx, eax
movss xmm0, dword [ebp - 0x15c]
subss xmm0, xmm1
movss dword [ebp - 0x190], xmm0
movss xmm0, dword [ebp - 0x158]
subss xmm0, xmm1
movss dword [ebp - 0x18c], xmm0
call fcn.0044f330
mov esi, dword [ebp - 0x128]
inc ebx
mov edi, dword [ebp - 0x11c]
cmp ebx, dword [esi + 0x40]
jl 0x428d90
mov ebx, dword [ebp - 0x12c]
add dword [ebp - 0x11c], 4
inc ebx
mov esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x12c], ebx
cmp ebx, 0xd
jl 0x428d71
mov ecx, dword [0x4b3748]
mov ebx, dword [ebp - 0x138]
mov esi, dword [ebp - 0x120]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
inc esi
mov dword [ebp - 0x120], esi
cmp esi, dword [ebx + 0x4a04]
jl 0x428c60
lea eax, [ebx + 0x6d]
push eax
push str.Debug_Begin_BeginChild_return_value
call fcn.004762c0
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.00424fe0
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.0041c4d0
add esp, 0xc
call fcn.00489ff0
push dword [ebx + 0x3df8]
lea esi, [ebx + 0x3df8]
push str.Windows___d_
push str.Windows
call fcn.00489360
add esp, 0xc
test al, al
je 0x4295b4
push str.By_display_order
push esi
call fcn.00411760
lea eax, [ebx + 0x3e04]
push str.By_focus_order__root_windows_
push eax
call fcn.00411760
push str.By_submission_order__begin_stack_
call fcn.00489390
add esp, 0x14
test al, al
je 0x4295af
lea esi, [ebx + 0x3e10]
push 0
mov ecx, esi
call fcn.00431340
xor edi, edi
cmp dword [ebx + 0x3df8], edi
jle 0x429580
nop
mov eax, dword [ebx + 0x3e00]
mov dword [ebp - 0x11c], eax
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x238]
inc eax
cmp eax, dword [ebx + 0x3de0]
jl 0x429573
mov ecx, dword [esi + 4]
mov edx, dword [esi]
cmp edx, ecx
jne 0x429560
inc edx
mov dword [ebp - 0x120], edx
test ecx, ecx
je 0x42954e
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x120]
sar eax, 1
add eax, ecx
jmp 0x429553
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.00416a20
movss xmm2, dword [ebp - 8]
lea eax, [ebp - 0xc4]
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 [edi]
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.00417d10
lea eax, [ebp - 0x168]
mov dword [ebp - 0x168], 0
push eax
push 0
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x164], 0
push 0
push eax
call fcn.00484420
mov esi, dword [0x4b3748]
add esp, 0x50
cmp byte [esi + 0x47fb], 0
mov edi, dword [esi + 0x3e40]
je 0x4293fc
cmp byte [esi + 0x47fa], 0
jne 0x4293fc
test byte [esi + 0x46b8], 4
jne 0x42917f
mov eax, dword [esi + 0x47c4]
cmp eax, dword [esi + 0x46b4]
jne 0x42917f
test eax, eax
je 0x42917f
jmp 0x4294b6
mov eax, dword [esi + 0x46bc]
test al, 1
je 0x42917f
cmp dword [esi + 0x3e44], edi
je 0x42941a
test al, al
jns 0x42917f
mov eax, dword [esi + 0x3e8c]
test eax, eax
je 0x42943e
cmp eax, dword [esi + 0x46b4]
je 0x42943e
cmp byte [esi + 0x3e99], 0
jne 0x42943e
cmp eax, dword [edi + 0x70]
jne 0x42917f
mov eax, dword [0x4b3748]
mov eax, dword [eax + 0x47c0]
test eax, eax
je 0x429491
mov eax, dword [eax + 0x300]
test eax, eax
je 0x429491
cmp byte [eax + 0xab], 0
je 0x429491
mov ecx, dword [edi + 0x300]
cmp eax, ecx
je 0x429491
test dword [eax + 0xc], 0xc000000
je 0x429491
push eax
push ecx
call fcn.0041b1d0
add esp, 8
test al, al
jne 0x429491
test dword [esi + 0x46b8], 0x100
je 0x42917f
test byte [esi + 0x46b8], 4
jne 0x42917f
mov eax, dword [esi + 0x46b4]
cmp eax, dword [edi + 0x70]
jne 0x4294b6
cmp byte [edi + 0xac], 0
jne 0x42917f
mov eax, dword [0x4b3748]
push str.Foreground
push 1
mov eax, dword [eax + 0x47bc]
push dword [eax]
call fcn.00416df0
movss xmm1, dword [0x492964]
add esp, 8
movss xmm0, dword [ebp - 0xc]
addss xmm0, xmm1
mov dword [esp], 0x40000000
push 0
push ecx
movss dword [ebp - 0x140], xmm0
lea ecx, [ebp - 0x140]
movss xmm0, dword [ebp - 8]
addss xmm0, xmm1
mov dword [esp], 0
push 0xff00ffff
push ecx
lea ecx, [ebp - 0x134]
push ecx
movss dword [ebp - 0x13c], xmm0
mov ecx, eax
movss xmm0, dword [ebp - 0x14]
subss xmm0, xmm1
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x10]
subss xmm0, xmm1
movss dword [ebp - 0x130], xmm0
call fcn.0044f330
jmp 0x42917f
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.00430d20
mov edx, dword [esi]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [esi + 8]
mov eax, dword [eax + edi*4]
mov dword [ecx + edx*4], eax
inc dword [esi]
inc edi
cmp edi, dword [ebx + 0x3df8]
jl 0x4292b0
mov eax, dword [esi]
cmp eax, 1
jbe 0x42959b
push 0x42fba0
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
push 0
push dword [esi]
push dword [esi + 8]
call fcn.00411840
add esp, 0xc
call fcn.00489ff0
call fcn.00489ff0
mov esi, dword [ebx + 0x47b4]
xor edi, edi
test esi, esi
jle 0x4295d8
mov edx, dword [ebx + 0x47bc]
mov eax, dword [edx]
lea edx, [edx + 4]
mov ecx, dword [eax + 0x70]
add ecx, dword [eax + 0x64]
add edi, ecx
sub esi, 1
jne 0x4295c6
push edi
push str.DrawLists___d_
push str.DrawLists
call fcn.00489360
add esp, 0xc
test al, al
je 0x429698
lea eax, [ebx + 0x5ae9]
push eax
push str.Show_ImDrawCmd_mesh_when_hovering
call fcn.004762c0
lea eax, [ebx + 0x5aea]
push eax
push str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.004762c0
xor ecx, ecx
add esp, 0x10
mov dword [ebp - 0x11c], ecx
cmp dword [ebx + 0x47b4], ecx
jle 0x429693
nop dword [eax + eax]
mov eax, dword [ebx + 0x47bc]
mov edi, dword [eax + ecx*4]
mov eax, 2
add edi, 0x64
mov dword [ebp - 0x120], eax
xor esi, esi
cmp dword [edi], esi
jle 0x429670
nop dword [eax]
mov eax, dword [edi + 8]
push str.DrawList
push dword [eax + esi*4]
push 0
call fcn.0040f360
inc esi
add esp, 0xc
cmp esi, dword [edi]
jl 0x429650
mov eax, dword [ebp - 0x120]
add edi, 0xc
sub eax, 1
mov dword [ebp - 0x120], eax
jne 0x429647
mov ecx, dword [ebp - 0x11c]
inc ecx
mov dword [ebp - 0x11c], ecx
cmp ecx, dword [ebx + 0x47b4]
jl 0x429630
call fcn.00489ff0
push dword [ebx + 0x47b4]
push str.Viewports___d_
push str.Viewports
call fcn.00489360
add esp, 0xc
mov esi, 0x493370
test al, al
je 0x4298f0
call fcn.0047d540
mov edx, dword [0x4b3748]
fstp dword [ebp - 0x120]
movss xmm0, dword [ebp - 0x120]
ucomiss xmm0, dword [0x496318]
mov eax, dword [edx + 0x3e40]
mov byte [eax + 0xac], 1
mov ecx, dword [edx + 0x3e40]
lahf
test ah, 0x44
jp 0x4296fe
movss xmm0, dword [edx + 0x380c]
addss xmm0, dword [ecx + 0x134]
movss dword [ecx + 0x134], xmm0
addss xmm0, dword [ecx + 0x14]
addss xmm0, dword [ecx + 0x138]
movss dword [ecx + 0xf0], xmm0
call fcn.00423ea0
call fcn.0047d540
mov edx, dword [0x4b3748]
fstp dword [ebp - 0x120]
movss xmm1, dword [ebp - 0x120]
ucomiss xmm1, dword [0x496318]
mov eax, dword [edx + 0x3e40]
mov byte [eax + 0xac], 1
mov ecx, dword [edx + 0x3e40]
lahf
test ah, 0x44
jp 0x429769
movss xmm1, dword [edx + 0x380c]
movss xmm0, dword [ecx + 0x134]
subss xmm0, xmm1
movss dword [ecx + 0x134], xmm0
addss xmm0, dword [ecx + 0x14]
addss xmm0, dword [ecx + 0x138]
movss dword [ecx + 0xf0], xmm0
xor ecx, ecx
mov dword [ebp - 0x120], ecx
cmp dword [ebx + 0x47b4], ecx
jle 0x4298eb
mov eax, dword [ebx + 0x47bc]
push 2
push 1
mov edi, dword [eax + ecx*4]
call fcn.00485040
push 0
push str.Viewport__d
push str.viewport0
call fcn.00489360
add esp, 0x14
test al, al
je 0x4298d2
movss xmm0, dword [edi + 0x88]
sub esp, 0x40
cvtps2pd xmm0, xmm0
mov ebx, dword [edi]
movsd qword [esp + 0x38], xmm0
movss xmm0, dword [edi + 0x84]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0x80]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x7c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [edi + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Main_Pos:___.0f__.0f___Size:___.0f__.0f__nWorkArea_Offset_Left:__.0f_Top:__.0f__Right:__.0f__Bottom:__.0f
call fcn.004754d0
test bl, 4
mov eax, str._OwnedByApp
cmove eax, esi
test bl, 2
push eax
mov eax, str._IsPlatformMonitor
cmove eax, esi
test bl, 1
push eax
mov eax, str._IsPlatformWindow
cmove eax, esi
push eax
push dword [edi]
push str.Flags:_0x_04X__s_s_s
call fcn.004754d0
add esp, 0x58
mov ebx, 2
add edi, 0x64
xor esi, esi
cmp dword [edi], esi
jle 0x4298ba
nop dword [eax]
mov eax, dword [edi + 8]
push str.DrawList
push dword [eax + esi*4]
push 0
call fcn.0040f360
inc esi
add esp, 0xc
cmp esi, dword [edi]
jl 0x4298a0
add edi, 0xc
sub ebx, 1
jne 0x429896
call fcn.00489ff0
mov ebx, dword [ebp - 0x138]
mov esi, 0x493370
mov ecx, dword [ebp - 0x120]
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebx + 0x47b4]
jl 0x4297a6
call fcn.00489ff0
push dword [ebx + 0x4798]
push str.Popups___d_
push str.Popups
call fcn.00489360
add esp, 0xc
test al, al
je 0x4299f8
cmp dword [ebx + 0x4798], 0
mov dword [ebp - 0x11c], 0
jle 0x4299f3
xor eax, eax
mov dword [ebp - 0x12c], eax
nop
mov ecx, dword [ebx + 0x47a0]
add ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
je 0x429954
mov edx, dword [eax + 0x2f8]
test edx, edx
je 0x429954
mov esi, dword [edx + 4]
mov dword [ebp - 0x120], esi
jmp 0x42995e
mov dword [ebp - 0x120], str.NULL
mov edx, dword [ecx + 8]
test edx, edx
je 0x42996a
mov edi, dword [edx + 4]
jmp 0x42996f
mov edi, str.NULL
test eax, eax
je 0x429983
test dword [eax + 0xc], 0x10000000
je 0x429983
mov esi, str.Menu_
jmp 0x42998c
mov esi, 0x493370
test eax, eax
je 0x42999f
test dword [eax + 0xc], 0x1000000
je 0x42999f
mov eax, dword [eax + 4]
mov edx, str.Child_
jmp 0x4299b2
mov edx, 0x493370
test eax, eax
je 0x4299ad
mov eax, dword [eax + 4]
jmp 0x4299b2
mov eax, str.NULL
push dword [ebp - 0x120]
push edi
push esi
push edx
push eax
push dword [ecx]
push str.PopupID:__08x__Window:__s___s_s___BackupNavWindow__s__ParentWindow__s
call fcn.004754d0
mov edx, dword [ebp - 0x11c]
add esp, 0x1c
mov eax, dword [ebp - 0x12c]
inc edx
add eax, 0x28
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x12c], eax
cmp edx, dword [ebx + 0x4798]
jl 0x429930
call fcn.00489ff0
push dword [ebx + 0x4a50]
push str.Tab_Bars___d_
push str.TabBars
call fcn.00489360
add esp, 0xc
test al, al
je 0x429aef
xor ecx, ecx
mov dword [ebp - 0x120], ecx
cmp dword [ebx + 0x4a40], ecx
jle 0x429aea
nop dword [eax]
mov eax, dword [ebx + 0x4a48]
mov eax, dword [eax + ecx*8 + 4]
cmp eax, 0xffffffff
je 0x429ad7
lea edi, [eax + eax*8]
shl edi, 4
add edi, dword [ebx + 0x4a3c]
je 0x429ad7
mov eax, dword [0x4b3748]
push edi
mov esi, dword [eax + 0x3e40]
mov ecx, esi
call fcn.00415830
mov ecx, dword [esi + 0xe4]
add esi, 0xe4
mov dword [ebp - 0x11c], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x429aa2
inc ecx
test eax, eax
je 0x429a90
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x429a95
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00430b70
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x11c]
push 0x494e64
push edi
mov dword [eax + ecx*4], edx
inc dword [esi]
call fcn.00410860
mov eax, dword [0x4b3748]
add esp, 8
mov ecx, dword [ebp - 0x120]
mov eax, dword [eax + 0x3e40]
dec dword [eax + 0xe4]
inc ecx
mov dword [ebp - 0x120], ecx
cmp ecx, dword [ebx + 0x4a40]
jl 0x429a30
call fcn.00489ff0
push dword [ebx + 0x4a14]
push str.Tables___d_
push str.Tables
call fcn.00489360
add esp, 0xc
test al, al
je 0x429b54
xor esi, esi
cmp dword [ebx + 0x4a04], esi
jle 0x429b4f
nop word [eax + eax]
mov eax, dword [ebx + 0x4a0c]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x429b46
imul eax, eax, 0x1e8
add eax, dword [ebx + 0x4a00]
je 0x429b46
push eax
call fcn.00463010
add esp, 4
inc esi
cmp esi, dword [ebx + 0x4a04]
jl 0x429b20
call fcn.00489ff0
mov edi, dword [ebx + 0x48]
mov dword [ebp - 0x12c], edi
push dword [edi + 0x3c]
push str.Fonts___d_
push str.Fonts
call fcn.00489360
add esp, 0xc
test al, al
je 0x429d1c
cmp dword [edi + 0x3c], 0
jle 0x429c2e
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + ebx*4]
mov eax, dword [0x4b3748]
mov dword [ebp - 0x11c], ecx
push ecx
mov esi, dword [eax + 0x3e40]
mov ecx, esi
call fcn.00415830
mov edi, dword [esi + 0xe8]
add esi, 0xe4
mov dword [ebp - 0x120], eax
mov ecx, dword [esi]
cmp ecx, edi
jne 0x429be9
inc ecx
test edi, edi
je 0x429bd7
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x429bdc
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00430b70
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x120]
push dword [ebp - 0x11c]
mov dword [eax + ecx*4], edx
inc dword [esi]
call fcn.0040ff30
mov eax, dword [0x4b3748]
inc ebx
mov edi, dword [ebp - 0x12c]
add esp, 4
mov eax, dword [eax + 0x3e40]
dec dword [eax + 0xe4]
cmp ebx, dword [edi + 0x3c]
jl 0x429b90
mov ebx, dword [ebp - 0x138]
push dword [edi + 0x28]
push dword [edi + 0x24]
push str.Font_Atlas___dx_d_pixels_
push str.Font_Atlas
call fcn.00489360
add esp, 0x10
test al, al
je 0x429d17
mov esi, dword [0x4b3748]
add esi, 0x5aeb
push esi
push str.Tint_with_Text_Color
call fcn.004762c0
mov ecx, dword [0x4b3748]
lea eax, [ebp - 0x14]
add esp, 8
cmp byte [esi], 0
je 0x429c7f
movups xmm0, xmmword [ecx + 0x387c]
jmp 0x429c86
movaps xmm0, xmmword [0x4964a0]
movups xmmword [ebp - 0x14], xmm0
mov dword [ebp - 0x134], 0x3f800000
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x130], 0x3f800000
push eax
movups xmmword [ebp - 0x14], xmm0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x140], 0
movups xmm0, xmmword [ecx + 0x38cc]
push eax
lea eax, [ebp - 0x134]
mov dword [ebp - 0x13c], 0
movups xmmword [ebp - 0x15c], xmm0
push eax
movd xmm0, dword [edi + 0x24]
lea eax, [ebp - 0x140]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [ebp - 0x168]
push eax
push dword [edi + 4]
movss dword [ebp - 0x168], xmm0
movd xmm0, dword [edi + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x164], xmm0
call fcn.0047d9c0
add esp, 0x18
call fcn.00489ff0
call fcn.00489ff0
push 0x494e94
call fcn.00489390
add esp, 4
test al, al
je 0x429d41
lea eax, [ebx + 0x4a84]
push eax
call fcn.0047bb90
add esp, 4
call fcn.00489ff0
push str.Settings
call fcn.00489390
add esp, 4
test al, al
je 0x42a278
push str.Clear
call fcn.00485d90
add esp, 4
test al, al
je 0x429dfe
mov esi, dword [0x4b3748]
mov ecx, dword [esi + 0x5a30]
test ecx, ecx
je 0x429db8
mov dword [esi + 0x5a2c], 0
mov dword [esi + 0x5a28], 0
mov eax, dword [0x4b3748]
test eax, eax
je 0x429d9e
dec dword [eax + 0xb4]
push dword [0x4b3750]
push ecx
call dword [0x4af00c]
add esp, 8
mov dword [esi + 0x5a30], 0
xor edi, edi
cmp dword [esi + 0x5a34], edi
jle 0x429dfe
xor ecx, ecx
mov dword [ebp - 0x120], ecx
nop word [eax + eax]
mov eax, dword [esi + 0x5a3c]
add eax, ecx
mov edx, dword [eax + 8]
test edx, edx
je 0x429dec
push eax
push esi
call edx
mov ecx, dword [ebp - 0x120]
add esp, 8
inc edi
add ecx, 0x24
mov dword [ebp - 0x120], ecx
cmp edi, dword [esi + 0x5a34]
jl 0x429dd0
mov eax, dword [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x429e65
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
push str.Save_to_memory
call fcn.00485d90
add esp, 4
test al, al
je 0x429e80
push 0
call fcn.00425110
add esp, 4
mov eax, dword [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x429ee7
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
push str.Save_to_disk
call fcn.00485d90
add esp, 4
test al, al
je 0x429f54
mov eax, dword [0x4b3748]
mov esi, dword [ebx + 0x20]
mov dword [eax + 0x5a24], 0
test esi, esi
je 0x429f54
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0
push eax
call fcn.00425110
push 0x494624
push esi
mov edi, eax
call fcn.00417b50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x429f54
push esi
push dword [ebp - 0x120]
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 [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x429fbb
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x429fcf
push eax
push str.__s_
call fcn.00488b60
jmp 0x429fdb
push 0
push str._NULL_
call fcn.004891a0
movss xmm0, dword [ebx + 0x5a24]
add esp, 8
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.00488b60
push dword [ebx + 0x5a34]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.00489360
add esp, 0x18
test al, al
je 0x42a057
xor esi, esi
cmp dword [ebx + 0x5a34], esi
jle 0x42a052
xor edi, edi
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebx + 0x5a3c]
push dword [edi + eax]
push 0x494f20
call fcn.004754d0
inc esi
lea edi, [edi + 0x24]
add esp, 8
cmp esi, dword [ebx + 0x5a34]
jl 0x42a030
call fcn.00489ff0
push dword [ebx + 0x5a40]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.00489360
add esp, 0xc
test al, al
je 0x42a192
mov esi, dword [ebx + 0x5a48]
test esi, esi
je 0x42a18d
add esi, 4
je 0x42a18d
nop
cmp byte [esi + 0xe], 0
je 0x42a133
mov edi, dword [0x4b3748]
mov ecx, dword [edi + 0x4698]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x42a0cf
movss xmm0, dword [edi + 0x37a0]
movss dword [edi + 0x59e0], xmm0
mulss xmm0, dword [edi + 0x37a4]
movss dword [edi + 0x37a0], xmm0
or ecx, 4
mov dword [edi + 0x4698], ecx
lea ecx, [edi + 0x4780]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
cmp edx, eax
jne 0x42a118
inc edx
mov dword [ebp - 0x120], edx
test eax, eax
je 0x42a102
cdq
sub eax, edx
mov edx, dword [ebp - 0x120]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x42a107
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.00430ae0
lea ecx, [edi + 0x4780]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
mov eax, dword [edi + 0x4698]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x4780]
inc word [edi + 0x59e4]
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.00488b60
add esp, 0x20
cmp byte [esi + 0xe], 0
je 0x42a16a
call fcn.00412da0
mov edx, dword [esi - 4]
mov eax, dword [ebx + 0x5a48]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [ebx + 0x5a40]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x42a090
call fcn.00489ff0
push dword [ebx + 0x5a4c]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.00489360
add esp, 0xc
test al, al
je 0x42a1ed
mov esi, dword [ebx + 0x5a54]
test esi, esi
je 0x42a1e8
add esi, 4
je 0x42a1e8
nop dword [eax]
push esi
call fcn.00463870
mov edx, dword [esi - 4]
add esp, 4
mov eax, dword [ebx + 0x5a4c]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [ebx + 0x5a54]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x42a1c0
call fcn.00489ff0
mov ecx, dword [ebx + 0x5a28]
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.00489360
add esp, 0xc
test al, al
je 0x42a273
mov eax, dword [0x4b3748]
mov ecx, 0x4b374c
push 0
push 0
push 0x4000
movss xmm0, dword [eax + 0x3bd0]
mov eax, dword [ebx + 0x5a30]
test eax, eax
mulss xmm0, dword [0x4963d4]
cmovne ecx, eax
mov dword [ebp - 0x134], 0x80800000
lea eax, [ebp - 0x134]
push eax
push dword [ebx + 0x5a28]
movss dword [ebp - 0x130], xmm0
push ecx
push str.Ini
call fcn.004814a0
add esp, 0x1c
call fcn.00489ff0
call fcn.00489ff0
push str.Inputs
call fcn.00489390
add esp, 4
test al, al
je 0x42b280
push str.KEYBOARD_GAMEPAD_MOUSE_KEYS
call fcn.00488b60
mov ecx, dword [0x4b3748]
push str.Keys_down:
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov edi, 0xc0
add esp, 8
xor esi, esi
mov dword [ebp - 0x120], edi
mov ebx, str.__s___d
nop dword [eax]
cmp esi, 0x200
jge 0x42a317
mov eax, dword [0x4b3748]
cmp dword [edi + eax], 0xffffffff
jne 0x42a4c4
push 0
push esi
call fcn.0041a5b0
add esp, 8
test al, al
je 0x42a4c4
mov ecx, dword [0x4b3748]
mov edx, dword [ecx + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42a398
movss xmm1, dword [ecx + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov ecx, dword [0x4b3748]
mov eax, esi
cmp esi, 0x1ff
ja 0x42a3b1
mov eax, dword [edi + ecx]
cmp eax, 0xffffffff
jne 0x42a3b1
mov eax, 0x493e94
jmp 0x42a3e7
test eax, eax
jne 0x42a3bc
mov eax, 0x493e98
jmp 0x42a3e7
test eax, 0xf800
je 0x42a3cd
push eax
push ecx
call fcn.0040e580
add esp, 8
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x42a3e2
mov eax, dword [eax*4 + 0x492ff8]
jmp 0x42a3e7
mov eax, str.Unknown
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x8b
cmova ecx, ebx
push ecx
call fcn.00488b60
mov edi, dword [0x4b3748]
add esp, 0xc
mov edx, dword [edi + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42a473
movss xmm1, dword [edi + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov edi, dword [0x4b3748]
mov eax, esi
test esi, 0xf800
je 0x42a487
push esi
push edi
call fcn.0040e580
add esp, 8
cmp eax, 0x1ff
ja 0x42a49b
mov ecx, dword [edi + eax*4 + 0xc0]
cmp ecx, 0xffffffff
cmovne eax, ecx
add eax, eax
sub esp, 8
movss xmm0, dword [edi + eax*8 + 0xde4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__.02f_
call fcn.00488b60
mov edi, dword [ebp - 0x120]
add esp, 0xc
add edi, 4
inc esi
mov dword [ebp - 0x120], edi
cmp edi, 0xaf0
jl 0x42a300
push str.Keys_pressed:
call fcn.00488b60
add esp, 4
mov edi, 0xc0
xor esi, esi
nop
cmp esi, 0x200
jge 0x42a507
mov eax, dword [0x4b3748]
cmp dword [edi + eax], 0xffffffff
jne 0x42a5fc
push 1
push 0
push esi
call fcn.0041a620
add esp, 0xc
test al, al
je 0x42a5fc
mov ecx, dword [0x4b3748]
mov edx, dword [ecx + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42a58a
movss xmm1, dword [ecx + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov ecx, dword [0x4b3748]
mov eax, esi
cmp esi, 0x1ff
ja 0x42a5a3
mov eax, dword [ecx + edi]
cmp eax, 0xffffffff
jne 0x42a5a3
mov eax, 0x493e94
jmp 0x42a5d9
test eax, eax
jne 0x42a5ae
mov eax, 0x493e98
jmp 0x42a5d9
test eax, 0xf800
je 0x42a5bf
push eax
push ecx
call fcn.0040e580
add esp, 8
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x42a5d4
mov eax, dword [eax*4 + 0x492ff8]
jmp 0x42a5d9
mov eax, str.Unknown
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x8b
mov eax, str.__s___d
cmova ecx, eax
push ecx
call fcn.00488b60
add esp, 0xc
add edi, 4
inc esi
cmp edi, 0xaf0
jl 0x42a4f0
push str.Keys_released:
call fcn.00488b60
add esp, 4
mov edi, 0xc0
xor esi, esi
mov ebx, str.__s___d
cmp esi, 0x200
jge 0x42a63c
mov eax, dword [0x4b3748]
cmp dword [edi + eax], 0xffffffff
jne 0x42a783
mov edx, dword [0x4b3748]
mov eax, esi
mov dword [ebp - 0x120], edx
test esi, 0xf800
je 0x42a662
push esi
push edx
call fcn.0040e580
mov edx, dword [ebp - 0x120]
add esp, 8
cmp eax, 0x1ff
ja 0x42a676
mov ecx, dword [edx + eax*4 + 0xc0]
cmp ecx, 0xffffffff
cmovne eax, ecx
add eax, 0xde
xorps xmm0, xmm0
add eax, eax
comiss xmm0, dword [edx + eax*8 + 8]
ja 0x42a783
cmp byte [edx + eax*8], 0
jne 0x42a783
push 0
push esi
call fcn.0042cde0
add esp, 8
test al, al
je 0x42a783
mov ecx, dword [0x4b3748]
mov edx, dword [ecx + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42a716
movss xmm1, dword [ecx + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov ecx, dword [0x4b3748]
mov eax, esi
cmp esi, 0x1ff
ja 0x42a72f
mov eax, dword [ecx + edi]
cmp eax, 0xffffffff
jne 0x42a72f
mov eax, 0x493e94
jmp 0x42a765
test eax, eax
jne 0x42a73a
mov eax, 0x493e98
jmp 0x42a765
test eax, 0xf800
je 0x42a74b
push eax
push ecx
call fcn.0040e580
add esp, 8
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x42a760
mov eax, dword [eax*4 + 0x492ff8]
jmp 0x42a765
mov eax, str.Unknown
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, 0x8b
cmova ecx, ebx
push ecx
call fcn.00488b60
add esp, 0xc
add edi, 4
inc esi
cmp edi, 0xaf0
jl 0x42a625
mov ebx, dword [ebp - 0x138]
mov ecx, 0x493370
mov eax, str.SUPER
cmp byte [ebx + 0xddb], 0
cmove eax, ecx
cmp byte [ebx + 0xdda], 0
push eax
mov eax, str.ALT
cmove eax, ecx
cmp byte [ebx + 0xdd9], 0
push eax
mov eax, str.SHIFT
cmove eax, ecx
cmp byte [ebx + 0xdd8], 0
push eax
mov eax, str.CTRL
cmove eax, ecx
push eax
push str.Keys_mods:__s_s_s_s
call fcn.00488b60
push str.Chars_queue:
call fcn.00488b60
xor edi, edi
add esp, 0x18
cmp dword [ebx + 0x3778], edi
jle 0x42a8c5
mov dword [ebp - 0x11c], 0xde
nop dword [eax]
mov ecx, dword [0x4b3748]
mov eax, dword [ebx + 0x3780]
mov edx, dword [ecx + 0x3e40]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0x120], eax
cmp byte [edx + 0xaf], 0
jne 0x42a88e
movss xmm1, dword [ecx + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x128], eax
mov eax, dword [ebp - 0x120]
mov dword [edx + 0x11c], ecx
mov byte [edx + 0x130], 1
lea ecx, [eax - 0x21]
movzx esi, ax
cmp cx, word [ebp - 0x11c]
mov edx, 0x3f
movzx eax, al
cmovbe edx, eax
push esi
movsx eax, dl
push eax
push str._c__0x_04X_
call fcn.00488b60
inc edi
add esp, 0xc
cmp edi, dword [ebx + 0x3778]
jl 0x42a810
mov ecx, dword [0x4b3748]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
push dword [eax + 0x264]
call fcn.00411b30
mov ecx, dword [0x4b3748]
push str.MOUSE_STATE
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 8
movss xmm1, dword [0x496418]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x4b3748]
movss xmm0, dword [eax + 0xdc0]
comiss xmm0, xmm1
movss xmm2, dword [eax + 0xdc4]
jb 0x42a9dc
comiss xmm2, xmm1
jb 0x42a9dc
movss xmm0, dword [ebx + 0xdc4]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xdc0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_pos:___g___g_
call fcn.00488b60
add esp, 0x14
jmp 0x42a9e9
push str.Mouse_pos:__INVALID_
call fcn.00488b60
add esp, 4
movss xmm0, dword [ebx + 0xbc]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0xb8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_delta:___g___g_
call fcn.00488b60
push str.Mouse_down:
call fcn.00488b60
add esp, 0x18
lea edi, [ebx + 0x3730]
xor esi, esi
nop dword [eax]
mov eax, dword [0x4b3748]
cmp byte [esi + eax + 0xdc8], 0
je 0x42aae0
lea eax, [esi + 0x281]
push 0
push eax
call fcn.0042cde0
add esp, 8
test al, al
je 0x42aae0
mov eax, dword [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42aac3
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
movss xmm0, dword [edi]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
push str.b_d___.02f_secs_
call fcn.00488b60
add esp, 0x10
inc esi
add edi, 4
cmp esi, 5
jl 0x42aa30
push str.Mouse_clicked:
call fcn.00488b60
lea ecx, [ebx + 0x370a]
add esp, 4
xor esi, esi
mov dword [ebp - 0x11c], ecx
mov edi, 0x3730
nop dword [eax]
mov eax, dword [0x4b3748]
cmp byte [esi + eax + 0xdc8], 0
je 0x42abdf
movss xmm0, dword [eax + edi]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x42abdf
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42abdf
lea eax, [esi + 0x281]
push 0
push eax
call fcn.0042cde0
add esp, 8
test al, al
je 0x42abd9
mov eax, dword [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42abc1
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
mov eax, dword [ebp - 0x11c]
movzx eax, word [eax]
push eax
push esi
push str.b_d___d_
call fcn.00488b60
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
add edi, 4
add ecx, 2
inc esi
mov dword [ebp - 0x11c], ecx
cmp edi, 0x3744
jl 0x42ab10
push str.Mouse_released:
call fcn.00488b60
add esp, 4
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x4b3748]
cmp byte [esi + eax + 0x371e], 0
je 0x42acad
lea eax, [esi + 0x281]
push 0
push eax
call fcn.0042cde0
add esp, 8
test al, al
je 0x42acad
mov eax, dword [0x4b3748]
mov edx, dword [eax + 0x3e40]
cmp byte [edx + 0xaf], 0
jne 0x42ac9f
movss xmm1, dword [eax + 0x37ec]
addss xmm1, dword [edx + 0xf8]
movss xmm0, dword [edx + 0xfc]
movss dword [edx + 0xf0], xmm1
movss dword [edx + 0xf4], xmm0
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [edx + 0x118], eax
mov eax, dword [edx + 0x12c]
mov dword [edx + 0x11c], ecx
mov dword [edx + 0x128], eax
mov byte [edx + 0x130], 1
push esi
push 0x495124
call fcn.00488b60
add esp, 8
inc esi
cmp esi, 5
jl 0x42ac10
movss xmm0, dword [ebx + 0xdd0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_wheel:__.1f
call fcn.00488b60
movss xmm0, dword [ebx + 0x376c]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pen_Pressure:__.1f
call fcn.00488b60
mov ecx, dword [0x4b3748]
push str.MOUSE_WHEELING
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 0x10
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [ebx + 0x3e50]
test eax, eax
je 0x42ad99
mov eax, dword [eax + 4]
jmp 0x42ad9e
mov eax, str.NULL
push eax
push str.WheelingWindow:__s
call fcn.00488b60
movss xmm0, dword [ebx + 0x3e60]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.WheelingWindowReleaseTimer:__.2f
call fcn.00488b60
movss xmm1, dword [ebx + 0x3e6c]
add esp, 0xc
movss xmm0, dword [ebx + 0x3e70]
comiss xmm1, xmm0
jbe 0x42ade2
mov eax, 0x493b04
jmp 0x42adf2
comiss xmm0, xmm1
mov eax, 0x493b08
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.00488b60
mov ecx, dword [0x4b3748]
push str.KEY_OWNERS
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x4b3748]
movss xmm0, dword [eax + 0x3bd0]
addss xmm0, dword [eax + 0x37f0]
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], 0x80800000
push eax
push str.owners
mulss xmm0, dword [0x4963b4]
movss dword [ebp - 0x130], xmm0
call fcn.00473cf0
add esp, 0x24
test al, al
je 0x42b007
mov ecx, 0x8c0
mov esi, 0x200
mov dword [ebp - 0x11c], ecx
mov eax, esi
mov dword [ebp - 0x120], eax
test esi, 0xf800
je 0x42af28
push esi
push ebx
call fcn.0040e580
mov ecx, dword [ebp - 0x11c]
add esp, 8
mov dword [ebp - 0x120], eax
lea eax, [eax + eax*2]
mov edx, dword [ebx + eax*4 + 0x26c8]
mov dword [ebp - 0x12c], edx
cmp edx, 0xffffffff
je 0x42afec
cmp byte [ebx + eax*4 + 0x26d1], 0
je 0x42af52
mov edi, str._LockUntilRelease
jmp 0x42af67
cmp byte [ebx + eax*4 + 0x26d0], 0
mov edi, str._LockThisFrame
mov eax, 0x493370
cmove edi, eax
mov edx, dword [0x4b3748]
mov eax, esi
cmp esi, 0x1ff
ja 0x42af86
mov eax, dword [edx + ecx]
cmp eax, 0xffffffff
jne 0x42af86
mov eax, 0x493e94
jmp 0x42afbc
test eax, eax
jne 0x42af91
mov eax, 0x493e98
jmp 0x42afbc
test eax, 0xf800
je 0x42afa2
push eax
push edx
call fcn.0040e580
add esp, 8
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x42afb7
mov eax, dword [eax*4 + 0x492ff8]
jmp 0x42afbc
mov eax, str.Unknown
push edi
push dword [ebp - 0x12c]
push eax
push str._s:_0x_08X_s
call fcn.00488b60
mov ecx, dword [ebp - 0x120]
lea eax, [ecx + ecx*2]
push dword [ebx + eax*4 + 0x26c8]
call fcn.0040ec10
mov ecx, dword [ebp - 0x11c]
add esp, 0x14
add ecx, 4
inc esi
mov dword [ebp - 0x11c], ecx
cmp ecx, 0xaf0
jl 0x42af02
call fcn.0047d070
mov ecx, dword [0x4b3748]
push str.SHORTCUT_ROUTING
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x4b3748]
movss xmm0, dword [eax + 0x3bd0]
addss xmm0, dword [eax + 0x37f0]
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], 0x80800000
push eax
push str.routes
mulss xmm0, dword [0x4963b4]
movss dword [ebp - 0x130], xmm0
call fcn.00473cf0
add esp, 0xc
test al, al
je 0x42b21a
mov ecx, 0x200
xor eax, eax
mov dword [ebp - 0x11c], ecx
mov edx, 0x8000
mov dword [ebp - 0x120], eax
movzx eax, word [ebx + eax + 0x4558]
cmp ax, 0xffff
je 0x42b1f4
movsx edi, ax
shl edi, 4
add edi, dword [ebx + 0x4678]
movzx esi, word [edi + 2]
or esi, ecx
mov ecx, dword [0x4b3748]
mov dword [ebp - 0x12c], ecx
test esi, 0x800
je 0x42b146
cmp byte [ecx + 0x61], 0
mov eax, 0x1000
cmovne eax, edx
or esi, eax
mov eax, esi
and eax, 0xffff07ff
push eax
call fcn.00415e20
add esp, 4
test esi, 0x8000
je 0x42b177
mov edx, dword [ebp - 0x12c]
mov ecx, str.Cmd
cmp byte [edx + 0x61], 0
mov edx, str.Super
cmove ecx, edx
jmp 0x42b17c
mov ecx, 0x493370
push eax
push ecx
test esi, 0x4000
mov ecx, 0x493370
mov eax, str.Alt
cmove eax, ecx
test esi, 0x2000
push eax
mov eax, str.Shift
cmove eax, ecx
test esi, 0x1000
push eax
mov eax, str.Ctrl
cmove eax, ecx
push eax
push str._s_s_s_s_s
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.00417d10
push dword [edi + 8]
lea eax, [ebp - 0x44]
push eax
push str._s:_0x_08X
call fcn.00488b60
push dword [edi + 8]
call fcn.0040ec10
movzx eax, word [edi]
add esp, 0x30
mov ecx, dword [ebp - 0x11c]
mov edx, 0x8000
cmp ax, 0xffff
jne 0x42b112
mov eax, dword [ebp - 0x120]
inc ecx
add eax, 2
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], eax
cmp eax, 0x118
jl 0x42b100
call fcn.0047d070
push dword [ebx + 0x4688]
movzx eax, byte [ebx + 0x468c]
push eax
push str._ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:_0x_X_
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 0xc
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00489ff0
push str.Internal_state
call fcn.00489390
add esp, 4
test al, al
je 0x42b734
push str.WINDOWING
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 4
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [ebx + 0x3e44]
test eax, eax
je 0x42b2f7
mov eax, dword [eax + 4]
jmp 0x42b2fc
mov eax, str.NULL
push eax
push str.HoveredWindow:__s
call fcn.00488b60
mov eax, dword [ebx + 0x3e44]
add esp, 8
test eax, eax
je 0x42b31f
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 4]
jmp 0x42b324
mov eax, str.NULL
push eax
push str.HoveredWindow__Root:__s
call fcn.00488b60
mov eax, dword [ebx + 0x3e48]
add esp, 8
test eax, eax
je 0x42b341
mov eax, dword [eax + 4]
jmp 0x42b346
mov eax, str.NULL
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.00488b60
mov eax, dword [ebx + 0x3e4c]
add esp, 8
test eax, eax
je 0x42b363
mov eax, dword [eax + 4]
jmp 0x42b368
mov eax, str.NULL
push eax
push str.MovingWindow:__s
call fcn.00488b60
mov ecx, dword [0x4b3748]
push str.ITEMS
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 0xc
mov dword [ebp - 0x18], 0x493e98
mov dword [ebp - 0x14], str.Mouse
mov dword [ebp - 0x10], str.Keyboard
mov eax, dword [ecx + 0x3e40]
mov dword [ebp - 0xc], str.Gamepad
mov dword [ebp - 8], str.Clipboard
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [ebx + 0x3eac]
movss xmm0, dword [ebx + 0x3e94]
cvtps2pd xmm0, xmm0
push dword [ebp + eax*4 - 0x18]
movzx eax, byte [ebx + 0x3e99]
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x3eb4]
push dword [ebx + 0x3e8c]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.00488b60
push dword [ebx + 0x3e8c]
call fcn.0040ec10
mov eax, dword [ebx + 0x3ea8]
add esp, 0x20
test eax, eax
je 0x42b487
mov eax, dword [eax + 4]
jmp 0x42b48c
mov eax, str.NULL
push eax
push str.ActiveIdWindow:__s
call fcn.00488b60
push dword [ebx + 0x4688]
movzx eax, byte [ebx + 0x468c]
push eax
push str.ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:__X
call fcn.00488b60
movss xmm0, dword [ebx + 0x3e84]
add esp, 0x14
movzx eax, byte [ebx + 0x3e80]
cvtps2pd xmm0, xmm0
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x3e7c]
push str.HoveredId:_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.00488b60
movss xmm0, dword [ebx + 0x4a78]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 0x4a74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [ebx + 0x4a6c]
push str.HoverDelayId:_0x_08X__Timer:__.2f__ClearTimer:__.2f
call fcn.00488b60
push dword [ebx + 0x4958]
lea eax, [ebx + 0x4968]
push eax
push dword [ebx + 0x495c]
movzx eax, byte [ebx + 0x4944]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.00488b60
push dword [ebx + 0x495c]
call fcn.0040ec10
mov ecx, dword [0x4b3748]
push str.NAV_FOCUS
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 0x34
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [ecx + 0x380c]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [ebx + 0x47c0]
test eax, eax
je 0x42b5e9
mov eax, dword [eax + 4]
jmp 0x42b5ee
mov eax, str.NULL
push eax
push str.NavWindow:__s
call fcn.00488b60
push dword [ebx + 0x47f4]
push dword [ebx + 0x47c4]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.00488b60
push dword [ebx + 0x47c4]
call fcn.0040ec10
mov eax, dword [ebx + 0x47f0]
mov dword [ebp - 0x18], 0x493e98
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.00488b60
movzx eax, byte [ebx + 0x9e]
push eax
movzx eax, byte [ebx + 0x9d]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.00488b60
push dword [ebx + 0x47d4]
push dword [ebx + 0x47d0]
push dword [ebx + 0x47cc]
push str.NavActivateId_DownId_PressedId:__08X__08X__08X
call fcn.00488b60
push dword [ebx + 0x47d8]
push str.NavActivateFlags:__04X
call fcn.00488b60
movzx eax, byte [ebx + 0x47fb]
add esp, 0x44
push eax
movzx eax, byte [ebx + 0x47fa]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.00488b60
push dword [ebx + 0x47c8]
push str.NavFocusScopeId__0x_08X
call fcn.00488b60
mov eax, dword [ebx + 0x4914]
add esp, 0x14
test eax, eax
je 0x42b6d6
mov eax, dword [eax + 4]
jmp 0x42b6db
mov eax, str.NULL
push eax
push str.NavWindowingTarget:__s
call fcn.00488b60
mov ecx, dword [0x4b3748]
add esp, 8
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e40]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [ecx + 0x380c]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
call fcn.00489ff0
cmp byte [ebx + 0x5ae6], 0
lea edx, [ebx + 0x5ae4]
jne 0x42b74d
cmp byte [edx + 3], 0
je 0x42ba00
xor edi, edi
cmp dword [ebx + 0x3df8], edi
jle 0x42ba00
nop dword [eax + eax]
mov eax, dword [ebx + 0x3e00]
mov esi, dword [eax + edi*4]
cmp byte [esi + 0xab], 0
je 0x42b9f3
mov eax, dword [0x4b3748]
push str.Foreground
push 1
mov eax, dword [eax + 0x47bc]
push dword [eax]
call fcn.00416df0
lea edx, [ebx + 0x5ae4]
mov dword [ebp - 0x11c], eax
add esp, 0xc
cmp byte [edx + 2], 0
je 0x42b959
mov ecx, dword [edx + 8]
test ecx, ecx
jne 0x42b7e8
movss xmm1, dword [esi + 0x14]
movss xmm0, dword [esi + 0x18]
movss dword [ebp - 0x148], xmm1
addss xmm1, dword [esi + 0x1c]
movss dword [ebp - 0x144], xmm0
addss xmm0, dword [esi + 0x20]
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x13c], xmm0
jmp 0x42b927
cmp ecx, 1
jne 0x42b800
movups xmm0, xmmword [esi + 0x1c0]
movups xmmword [ebp - 0x148], xmm0
jmp 0x42b927
cmp ecx, 2
jne 0x42b818
movups xmm0, xmmword [esi + 0x1d0]
movups xmmword [ebp - 0x148], xmm0
jmp 0x42b927
cmp ecx, 3
jne 0x42b830
movups xmm0, xmmword [esi + 0x1e0]
movups xmmword [ebp - 0x148], xmm0
jmp 0x42b927
cmp ecx, 4
jne 0x42b848
movups xmm0, xmmword [esi + 0x1f0]
movups xmmword [ebp - 0x148], xmm0
jmp 0x42b927
cmp ecx, 5
jne 0x42b8a6
movss xmm3, dword [esi + 0x1d0]
movss xmm2, dword [esi + 0x1d4]
subss xmm3, dword [esi + 0x78]
subss xmm2, dword [esi + 0x7c]
addss xmm3, dword [esi + 0x44]
addss xmm2, dword [esi + 0x48]
movaps xmm1, xmm3
movss dword [ebp - 0x148], xmm3
addss xmm1, dword [esi + 0x2c]
movaps xmm0, xmm2
movss dword [ebp - 0x144], xmm2
addss xmm0, dword [esi + 0x30]
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x13c], xmm0
jmp 0x42b927
cmp ecx, 6
jne 0x42b901
movss xmm3, dword [esi + 0x1d0]
movss xmm2, dword [esi + 0x1d4]
subss xmm3, dword [esi + 0x78]
subss xmm2, dword [esi + 0x7c]
addss xmm3, dword [esi + 0x44]
addss xmm2, dword [esi + 0x48]
movaps xmm1, xmm3
movss dword [ebp - 0x148], xmm3
addss xmm1, dword [esi + 0x34]
movaps xmm0, xmm2
movss dword [ebp - 0x144], xmm2
addss xmm0, dword [esi + 0x38]
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x13c], xmm0
jmp 0x42b927
cmp ecx, 7
jne 0x42b916
movups xmm0, xmmword [esi + 0x220]
movups xmmword [ebp - 0x148], xmm0
jmp 0x42b927
lea ecx, [ebp - 0x148]
call fcn.00406020
mov eax, dword [ebp - 0x11c]
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x140]
push 0xff8000ff
push ecx
lea ecx, [ebp - 0x148]
push ecx
mov ecx, eax
call fcn.0044f330
lea edx, [ebx + 0x5ae4]
cmp byte [edx + 3], 0
je 0x42b9f3
test dword [esi + 0xc], 0x1000000
jne 0x42b9f3
movsx eax, word [esi + 0xbc]
push eax
push 0x4946c0
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.00417d10
mov eax, dword [0x4b3748]
add esp, 0x10
add esi, 0x14
movss xmm1, dword [eax + 0x3bd0]
lea eax, [ebp - 0x134]
push 0
push ecx
mov ecx, dword [ebp - 0x11c]
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 - 0x134], xmm0
movss dword [ebp - 0x130], xmm1
call fcn.0044f430
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x24]
push 0
push eax
push 0xffffffffffffffff
push esi
call fcn.0044f7d0
lea edx, [ebx + 0x5ae4]
inc edi
cmp edi, dword [ebx + 0x3df8]
jl 0x42b760
cmp byte [edx + 4], 0
je 0x42bb68
xor ecx, ecx
mov dword [ebp - 0x11c], ecx
cmp dword [ebx + 0x4a04], ecx
jle 0x42bb68
nop
mov eax, dword [ebx + 0x4a0c]
mov eax, dword [eax + ecx*8 + 4]
cmp eax, 0xffffffff
je 0x42bb4d
imul edi, eax, 0x1e8
add edi, dword [ebx + 0x4a00]
je 0x42bb4d
mov eax, dword [ebx + 0x3de0]
dec eax
cmp dword [edi + 0x3c], eax
jl 0x42bb4d
mov eax, dword [0x4b3748]
push str.Foreground
push 1
mov eax, dword [eax + 0x47bc]
push dword [eax]
call fcn.00416df0
mov esi, eax
lea edx, [ebx + 0x5ae4]
mov eax, dword [edx + 0xc]
add esp, 0xc
mov dword [ebp - 0x120], esi
cmp eax, 6
jl 0x42bb0f
xor esi, esi
cmp dword [edi + 0x40], esi
jle 0x42bb4d
mov ebx, dword [ebp - 0x120]
nop dword [eax]
push esi
push dword [edx + 0xc]
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00416a20
movsx eax, word [edi + 0x1ac]
add esp, 0x10
cmp eax, esi
mov ecx, 0xff8000ff
mov edx, 0xff80ffff
cmove ecx, edx
jne 0x42bad3
movss xmm0, dword [0x4963a4]
jmp 0x42badb
movss xmm0, dword [0x492964]
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.0044f330
mov edx, dword [ebp - 0x160]
inc esi
cmp esi, dword [edi + 0x40]
jl 0x42baa0
mov ebx, dword [ebp - 0x138]
jmp 0x42bb4d
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x15c]
push edi
push eax
call fcn.00416a20
add esp, 0xc
lea eax, [ebp - 0x154]
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
mov ecx, esi
push 0xff8000ff
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0044f330
mov eax, dword [ebp - 0x11c]
inc eax
mov ecx, eax
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebx + 0x4a04]
jl 0x42ba20
call fcn.00412810
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048deff
mov esp, ebp
pop ebp
ret