Function at 0x1001d170
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 [0x100b4040]
xor eax, esp
mov dword [esp + 0x1e4], eax
push esi
push edi
mov edi, dword [0x10103264]
cmp byte [edi + 0x5aac], 0
lea esi, [edi + 0x5aac]
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], esi
je 0x1001d1b0
mov ecx, esi
call fcn.10023b60
cmp byte [esi + 1], 0
je 0x1001d1be
lea ecx, [esi + 1]
call fcn.10024da0
push 0
mov edx, 0x101039b4
mov ecx, str.Dear_ImGui_Metrics_Debugger
call fcn.1000d920
add esp, 4
test al, al
je 0x10020f08
mov ecx, dword [0x10103264]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
cmp word [eax + 0xb2], 1
jg 0x10020f08
push str.1.89.2
push str.Dear_ImGui__s
call fcn.1006be90
movss xmm1, dword [edi + 0x9c]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [0x100b1508]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.1006be90
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.1006be90
push dword [edi + 0xb0]
push dword [edi + 0xa8]
push str._d_visible_windows___d_active_allocations
call fcn.1006be90
mov esi, dword [0x10103264]
add esp, 0x1c
mov ecx, dword [esi + 0x3e28]
cmp byte [ecx + 0xab], 0
jne 0x1001d2b0
mov ecx, dword [ecx + 0x19c]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.100713b0
mov esi, dword [0x10103264]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf4], str.OuterRect
mov dword [esp + 0xf8], str.OuterRectClipped
mov dword [esp + 0xfc], str.InnerRect
cmp dword [ecx + 8], 0
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 0x1001d3a8
mov dword [ecx + 8], 4
cmp dword [ecx + 0xc], 0
jge 0x1001d3b5
mov dword [ecx + 0xc], 2
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1001e1aa
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Tools
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x1001d413
push ecx
push str.Tools
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push str.Tools
xor edx, edx
mov ecx, edi
call fcn.100821a0
add esp, 8
test al, al
je 0x1001e1a6
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
je 0x1001d46f
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
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.1001ce60
jmp 0x1001d53f
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.UTF_8_Encoding_viewer
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x1001d4ad
push ecx
push str.UTF_8_Encoding_viewer
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push str.UTF_8_Encoding_viewer
xor edx, edx
mov ecx, edi
call fcn.100821a0
movss xmm1, dword [0x100b1560]
add esp, 8
xorps xmm0, xmm0
mov byte [esp + 0x2f], al
call fcn.10013c20
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.1001ce60
cmp byte [esp + 0x2f], 0
je 0x1001d53f
mov eax, dword [0x10103264]
xor edx, edx
push 0
push 0
push 0
or dword [eax + 0x4688], 1
mov ecx, str.Text
mov dword [eax + 0x468c], 0x80800000
lea eax, [esp + 0x28]
push eax
push 0x64
push 0x101031f8
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
call fcn.10078780
add esp, 0x18
cmp byte [0x101031f8], 0
je 0x1001d53a
call fcn.1001cb00
call fcn.10082d90
mov edi, dword [esp + 0x10]
mov ecx, str.Show_Item_Picker
lea edx, [edi + 0x5aa5]
call fcn.1006ee10
test al, al
je 0x1001d56c
cmp byte [edi + 0x5aa5], 0
je 0x1001d56c
mov eax, dword [0x10103264]
mov byte [eax + 0x5aa5], 1
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
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.1001ce60
lea esi, [edi + 0x5aac]
mov ecx, str.Show_Debug_Log
mov edx, esi
call fcn.1006ee10
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
mov ecx, str.You_can_also_call_ImGui::ShowDebugLogWindow___from_your_code.
call fcn.1001ce60
lea edx, [esi + 1]
mov ecx, str.Show_Stack_Tool
call fcn.1006ee10
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
mov ecx, str.You_can_also_call_ImGui::ShowStackToolWindow___from_your_code.
call fcn.1001ce60
lea edx, [esi + 3]
mov ecx, str.Show_windows_begin_order
call fcn.1006ee10
lea edx, [esi + 2]
mov ecx, str.Show_windows_rectangles
call fcn.1006ee10
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
mov eax, dword [0x10103264]
lea edx, [edi + 0x5ab4]
push 8
push 8
mov ecx, str.show_windows_rect_type
movss xmm0, dword [eax + 0x3bb4]
mulss xmm0, dword [0x100b13fc]
or dword [eax + 0x4688], 1
movss dword [eax + 0x468c], xmm0
lea eax, [esp + 0xfc]
push eax
push fcn.100723a0
call fcn.10072420
add esp, 0x10
or byte [esi + 2], al
je 0x1001d7a4
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1001d7a4
push dword [eax]
push str._s:
call fcn.1006c580
mov ecx, dword [0x10103264]
add esp, 8
xor esi, esi
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
nop dword [eax]
mov edx, dword [edi + 0x47a8]
lea ecx, [esp + 0xb0]
push esi
call fcn.10021110
movss xmm2, dword [esp + 0xc0]
add esp, 4
movss xmm4, dword [esp + 0xb4]
movaps xmm0, xmm2
movss xmm1, dword [esp + 0xb8]
subss xmm0, xmm4
movss xmm3, dword [esp + 0xb0]
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.1006be90
inc esi
add esp, 0x38
cmp esi, 8
jl 0x1001d6c0
mov ecx, dword [0x10103264]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
lea edx, [edi + 0x5ab0]
mov ecx, str.Show_tables_rectangles
call fcn.1006ee10
movss xmm1, dword [0x100b1560]
xorps xmm0, xmm0
call fcn.10013c20
mov eax, dword [0x10103264]
lea edx, [edi + 0x5ab8]
push 0xd
push 0xd
mov ecx, str.show_table_rects_type
movss xmm0, dword [eax + 0x3bb4]
mulss xmm0, dword [0x100b13fc]
or dword [eax + 0x4688], 1
movss dword [eax + 0x468c], xmm0
lea eax, [esp + 0x11c]
push eax
push fcn.100723a0
call fcn.10072420
add esp, 0x10
or byte [edi + 0x5ab0], al
je 0x1001e19f
mov edx, edi
cmp dword [edx + 0x47a8], 0
je 0x1001e19d
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [edx + 0x49f0], esi
jle 0x1001e19d
nop dword [eax]
mov eax, dword [edx + 0x49f8]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x1001de91
imul edi, eax, 0x1e0
add edi, dword [edx + 0x49ec]
mov dword [esp + 0x18], edi
je 0x1001de91
mov eax, dword [edx + 0x3dc8]
dec eax
cmp dword [edi + 0x50], eax
jl 0x1001de91
mov eax, dword [edx + 0x47a8]
mov ecx, dword [edi + 0x160]
cmp ecx, eax
je 0x1001d895
cmp dword [edi + 0x164], eax
jne 0x1001de91
push dword [ecx]
push dword [edi + 0x54]
push dword [edi]
push str.Table_0x_08X___d_columns__in__s_
call fcn.1006c580
mov ecx, dword [0x10103264]
add esp, 0x10
cmp byte [ecx + 0x47e7], 0
mov esi, dword [ecx + 0x3e28]
je 0x1001d8f3
cmp byte [ecx + 0x47e6], 0
jne 0x1001d8f3
test byte [ecx + 0x46a0], 4
jne 0x1001dabe
mov eax, dword [ecx + 0x47ac]
cmp eax, dword [ecx + 0x469c]
jne 0x1001dabe
test eax, eax
je 0x1001dabe
jmp 0x1001d9b3
mov eax, dword [ecx + 0x46a4]
test al, 1
je 0x1001dabe
cmp dword [ecx + 0x3e2c], esi
je 0x1001d911
test al, al
jns 0x1001dabe
mov eax, dword [ecx + 0x3e74]
test eax, eax
je 0x1001d935
cmp eax, dword [ecx + 0x469c]
je 0x1001d935
cmp byte [ecx + 0x3e81], 0
jne 0x1001d935
cmp eax, dword [esi + 0x6c]
jne 0x1001dabe
mov edx, dword [ecx + 0x47a8]
test edx, edx
je 0x1001d98e
mov edx, dword [edx + 0x304]
test edx, edx
je 0x1001d98e
cmp byte [edx + 0xa7], 0
je 0x1001d98e
mov eax, dword [esi + 0x304]
cmp edx, eax
je 0x1001d98e
test dword [edx + 8], 0xc000000
je 0x1001d98e
cmp dword [eax + 0x304], edx
je 0x1001d98e
nop dword [eax]
cmp eax, edx
je 0x1001d98e
mov eax, dword [eax + 0x300]
test eax, eax
jne 0x1001d970
test dword [ecx + 0x46a0], 0x100
je 0x1001dabe
test byte [ecx + 0x46a0], 4
jne 0x1001dabe
mov eax, dword [ecx + 0x469c]
cmp eax, dword [esi + 0x6c]
jne 0x1001d9b3
cmp byte [esi + 0xa8], 0
jne 0x1001dabe
mov eax, dword [ecx + 0x47a4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.10007f50
movss xmm5, dword [0x100b1304]
mov esi, eax
movss xmm2, dword [edi + 0xd0]
add esp, 4
movss xmm3, dword [edi + 0xd4]
subss xmm2, xmm5
movss xmm4, dword [0x100b12bc]
subss xmm3, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm0, dword [edi + 0xd8]
movss xmm1, dword [edi + 0xdc]
addss xmm0, xmm5
addss xmm1, xmm5
addss xmm2, xmm4
addss xmm3, xmm4
push 0
je 0x1001da4c
subss xmm0, xmm4
movss dword [esp + 0x74], xmm2
subss xmm1, xmm4
movss dword [esp + 0x78], xmm3
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x78]
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x74], xmm1
jmp 0x1001da8c
subss xmm0, dword [0x100b12b8]
subss xmm1, dword [0x100b12b8]
lea eax, [esp + 0x7c]
movss dword [esp + 0x84], xmm2
push eax
movss dword [esp + 0x8c], xmm3
lea eax, [esp + 0x88]
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm1
push eax
xorps xmm3, xmm3
call fcn.10059510
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10057460
mov ecx, dword [0x10103264]
mov dword [esi + 0x54], 0
mov eax, dword [ecx + 0x3e28]
xor edi, edi
mov dword [esp + 0xc], edi
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
cmp edi, 6
jb 0x1001deb0
je 0x1001db18
cmp edi, 8
jne 0x1001de3b
mov eax, dword [esp + 0x18]
xor edi, edi
cmp dword [eax + 0x54], edi
jle 0x1001de37
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
nop word [eax + eax]
mov esi, dword [esp + 0xc]
lea ecx, [esp + 0xe4]
push edi
push esi
mov edx, eax
call fcn.10020f30
movss xmm1, dword [esp + 0xf8]
lea eax, [esp + 0x170]
movss xmm3, dword [esp + 0xf0]
add esp, 8
movss xmm2, dword [esp + 0xec]
movaps xmm0, xmm1
movss xmm4, dword [esp + 0xe4]
subss xmm0, xmm3
movss dword [esp + 0x54], xmm1
push dword [esp + esi*4 + 0x114]
movss dword [esp + 0x20], xmm3
push edi
cvtps2pd xmm0, xmm0
sub esp, 0x30
movss dword [esp + 0x68], xmm2
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
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.10003540
add esp, 0x44
lea eax, [esp + 0x88]
xor dl, dl
lea ecx, [esp + 0x168]
push eax
push 0
call fcn.10083170
mov ecx, dword [0x10103264]
add esp, 8
cmp byte [ecx + 0x47e7], 0
mov esi, dword [ecx + 0x3e28]
je 0x1001dc60
cmp byte [ecx + 0x47e6], 0
jne 0x1001dc60
test byte [ecx + 0x46a0], 4
jne 0x1001de29
mov eax, dword [ecx + 0x47ac]
cmp eax, dword [ecx + 0x469c]
jne 0x1001de29
test eax, eax
je 0x1001de29
jmp 0x1001dd23
mov eax, dword [ecx + 0x46a4]
test al, 1
je 0x1001de29
cmp dword [ecx + 0x3e2c], esi
je 0x1001dc7e
test al, al
jns 0x1001de29
mov eax, dword [ecx + 0x3e74]
test eax, eax
je 0x1001dca2
cmp eax, dword [ecx + 0x469c]
je 0x1001dca2
cmp byte [ecx + 0x3e81], 0
jne 0x1001dca2
cmp eax, dword [esi + 0x6c]
jne 0x1001de29
mov edx, dword [ecx + 0x47a8]
test edx, edx
je 0x1001dcfe
mov edx, dword [edx + 0x304]
test edx, edx
je 0x1001dcfe
cmp byte [edx + 0xa7], 0
je 0x1001dcfe
mov eax, dword [esi + 0x304]
cmp edx, eax
je 0x1001dcfe
test dword [edx + 8], 0xc000000
je 0x1001dcfe
cmp dword [eax + 0x304], edx
je 0x1001dcfe
nop word [eax + eax]
cmp eax, edx
je 0x1001dcfe
mov eax, dword [eax + 0x300]
test eax, eax
jne 0x1001dce0
test dword [ecx + 0x46a0], 0x100
je 0x1001de29
test byte [ecx + 0x46a0], 4
jne 0x1001de29
mov eax, dword [ecx + 0x469c]
cmp eax, dword [esi + 0x6c]
jne 0x1001dd23
cmp byte [esi + 0xa8], 0
jne 0x1001de29
mov eax, dword [ecx + 0x47a4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.10007f50
movss xmm5, dword [0x100b1304]
mov esi, eax
movss xmm3, dword [esp + 0x28]
add esp, 4
movss xmm2, dword [esp + 0x1c]
subss xmm3, xmm5
movss xmm4, dword [0x100b12bc]
subss xmm2, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm1, dword [esp + 0x30]
movss xmm0, dword [esp + 0x54]
addss xmm1, xmm5
addss xmm0, xmm5
addss xmm3, xmm4
addss xmm2, xmm4
push 0
je 0x1001ddbd
subss xmm1, xmm4
movss dword [esp + 0x5c], xmm3
subss xmm0, xmm4
movss dword [esp + 0x60], xmm2
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x60]
movss dword [esp + 0x98], xmm1
movss dword [esp + 0x9c], xmm0
jmp 0x1001ddf7
subss xmm1, dword [0x100b12b8]
subss xmm0, dword [0x100b12b8]
lea eax, [esp + 0x64]
movss dword [esp + 0xa4], xmm3
push eax
movss dword [esp + 0xac], xmm2
lea eax, [esp + 0xa8]
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x6c], xmm0
push eax
xorps xmm3, xmm3
call fcn.10059510
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10057460
mov ecx, dword [0x10103264]
mov dword [esi + 0x54], 0
mov eax, dword [esp + 0x18]
inc edi
cmp edi, dword [eax + 0x54]
jl 0x1001db40
mov edi, dword [esp + 0xc]
inc edi
mov dword [esp + 0xc], edi
cmp edi, 0xd
jl 0x1001db04
mov eax, dword [ecx + 0x3e28]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [edx + 0x49f0]
jl 0x1001d840
mov edi, dword [esp + 0x10]
call fcn.10082d90
jmp 0x1001e1aa
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xc0]
push 0xffffffffffffffff
push edi
call fcn.10020f30
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 + 0x24], xmm1
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x1c], xmm2
push dword [esp + edi*4 + 0x114]
cvtps2pd xmm0, xmm0
sub esp, 0x30
movss dword [esp + 0x88], 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.10003540
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
push eax
push 0
xor dl, dl
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x1b0]
call fcn.10083170
mov ecx, dword [0x10103264]
add esp, 0x48
cmp byte [ecx + 0x47e7], 0
mov esi, dword [ecx + 0x3e28]
je 0x1001dfde
cmp byte [ecx + 0x47e6], 0
jne 0x1001dfde
test byte [ecx + 0x46a0], 4
jne 0x1001de3b
mov eax, dword [ecx + 0x47ac]
cmp eax, dword [ecx + 0x469c]
jne 0x1001de3b
test eax, eax
je 0x1001de3b
jmp 0x1001e09b
mov eax, dword [ecx + 0x46a4]
test al, 1
je 0x1001de3b
cmp dword [ecx + 0x3e2c], esi
je 0x1001dffc
test al, al
jns 0x1001de3b
mov eax, dword [ecx + 0x3e74]
test eax, eax
je 0x1001e020
cmp eax, dword [ecx + 0x469c]
je 0x1001e020
cmp byte [ecx + 0x3e81], 0
jne 0x1001e020
cmp eax, dword [esi + 0x6c]
jne 0x1001de3b
mov edx, dword [ecx + 0x47a8]
test edx, edx
je 0x1001e076
mov edx, dword [edx + 0x304]
test edx, edx
je 0x1001e076
cmp byte [edx + 0xa7], 0
je 0x1001e076
mov eax, dword [esi + 0x304]
cmp edx, eax
je 0x1001e076
test dword [edx + 8], 0xc000000
je 0x1001e076
cmp dword [eax + 0x304], edx
je 0x1001e076
cmp eax, edx
je 0x1001e076
mov eax, dword [eax + 0x300]
test eax, eax
jne 0x1001e058
test dword [ecx + 0x46a0], 0x100
je 0x1001de3b
test byte [ecx + 0x46a0], 4
jne 0x1001de3b
mov eax, dword [ecx + 0x469c]
cmp eax, dword [esi + 0x6c]
jne 0x1001e09b
cmp byte [esi + 0xa8], 0
jne 0x1001de3b
mov eax, dword [ecx + 0x47a4]
mov edx, 1
push str.Foreground
mov ecx, dword [eax]
call fcn.10007f50
movss xmm5, dword [0x100b1304]
mov esi, eax
movss xmm3, dword [esp + 0x58]
add esp, 4
movss xmm2, dword [esp + 0x30]
subss xmm3, xmm5
movss xmm4, dword [0x100b12bc]
subss xmm2, xmm5
test byte [esi + 0x24], 1
mov ecx, esi
movss xmm1, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x24]
addss xmm1, xmm5
addss xmm0, xmm5
addss xmm3, xmm4
addss xmm2, xmm4
push 0
je 0x1001e12c
subss xmm1, xmm4
movss dword [esp + 0x48], xmm3
subss xmm0, xmm4
movss dword [esp + 0x4c], xmm2
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x4c]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x48], xmm0
jmp 0x1001e166
subss xmm1, dword [0x100b12b8]
subss xmm0, dword [0x100b12b8]
lea eax, [esp + 0x50]
movss dword [esp + 0xb4], xmm3
push eax
movss dword [esp + 0xbc], xmm2
lea eax, [esp + 0xb8]
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x58], xmm0
push eax
xorps xmm3, xmm3
call fcn.10059510
push ecx
mov dword [esp], 0x40000000
mov ecx, esi
push 1
push 0xff00ffff
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10057460
mov ecx, dword [0x10103264]
mov dword [esi + 0x54], 0
jmp 0x1001de3b
mov edi, edx
call fcn.10082d90
jmp 0x1001e1aa
mov edi, dword [esp + 0x10]
push dword [edi + 0x3de0]
push str.Windows___d_
push str.Windows
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e351
mov edx, str.By_display_order
lea ecx, [edi + 0x3de0]
call fcn.10023800
lea ecx, [edi + 0x3dec]
mov edx, str.By_focus_order__root_windows_
call fcn.10023800
mov edi, dword [0x10103264]
mov eax, dword [edi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [edi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1001e34c
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.By_submission_order__begin_stack_
call fcn.10003600
mov esi, eax
add esp, 4
cmp dword [edi + 0x3e5c], esi
jne 0x1001e24e
push ecx
push str.By_submission_order__begin_stack_
mov edx, 0xb
mov ecx, esi
call fcn.10024b90
add esp, 8
push 0
push str.By_submission_order__begin_stack_
xor edx, edx
mov ecx, esi
call fcn.100821a0
add esp, 8
test al, al
je 0x1001e34c
mov esi, dword [esp + 0x10]
add esi, 0x3df8
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1001e292
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.10025b30
mov ecx, dword [esp + 0x10]
xor edi, edi
mov dword [esi], 0
cmp dword [ecx + 0x3de0], edi
jle 0x1001e31d
nop word [eax + eax]
mov eax, dword [ecx + 0x3de8]
mov dword [esp + 0x24], eax
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x23c]
inc eax
cmp eax, dword [ecx + 0x3dc8]
jl 0x1001e314
mov ecx, dword [esi + 4]
mov edx, dword [esi]
cmp edx, ecx
jne 0x1001e2ff
inc edx
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x1001e2ed
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
add eax, ecx
jmp 0x1001e2f2
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.10025b30
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + edi*4]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, dword [ecx + 0x3de0]
jl 0x1001e2b0
mov eax, dword [esi]
cmp eax, 1
jbe 0x1001e338
push 0x10021260
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.10023860
add esp, 4
call fcn.10082d90
call fcn.10082d90
mov eax, dword [esp + 0x10]
xor edi, edi
mov esi, dword [eax + 0x479c]
test esi, esi
jle 0x1001e379
mov edx, dword [eax + 0x47a4]
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 0x1001e367
push edi
push str.DrawLists___d_
push str.DrawLists
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e430
mov esi, dword [esp + 0x28]
mov ecx, str.Show_ImDrawCmd_mesh_when_hovering
lea edx, [esi + 5]
call fcn.1006ee10
lea edx, [esi + 6]
mov ecx, str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.1006ee10
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [eax + 0x479c], ecx
jle 0x1001e42b
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [eax + 0x47a4]
mov edi, dword [eax + ecx*4]
mov eax, 2
add edi, 0x64
mov dword [esp + 0x14], eax
xor esi, esi
cmp dword [edi], esi
jle 0x1001e40a
nop dword [eax + eax]
mov edx, dword [edi + 8]
push ecx
xor ecx, ecx
mov edx, dword [edx + esi*4]
call fcn.10021280
inc esi
add esp, 4
cmp esi, dword [edi]
jl 0x1001e3f0
mov eax, dword [esp + 0x14]
add edi, 0xc
sub eax, 1
mov dword [esp + 0x14], eax
jne 0x1001e3e5
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [eax + 0x479c]
jl 0x1001e3d0
call fcn.10082d90
mov edi, dword [esp + 0x10]
push dword [edi + 0x479c]
push str.Viewports___d_
push str.Viewports
call fcn.10081e10
add esp, 0xc
mov esi, 0x1009b3b6
test al, al
je 0x1001e6cb
mov ecx, dword [0x10103264]
movss xmm0, dword [ecx + 0x37d4]
mov eax, dword [ecx + 0x3e28]
addss xmm0, xmm0
addss xmm0, dword [ecx + 0x3bb4]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x3e28]
ucomiss xmm0, dword [0x100b122c]
lahf
test ah, 0x44
jp 0x1001e49b
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [edx + 0x130]
movss dword [edx + 0x130], xmm0
addss xmm0, dword [edx + 0x10]
addss xmm0, dword [edx + 0x134]
movss dword [edx + 0xec], xmm0
call fcn.1001c080
mov ecx, dword [0x10103264]
movss xmm1, dword [ecx + 0x37d4]
mov eax, dword [ecx + 0x3e28]
addss xmm1, xmm1
addss xmm1, dword [ecx + 0x3bb4]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x3e28]
ucomiss xmm1, dword [0x100b122c]
lahf
test ah, 0x44
jp 0x1001e507
movss xmm1, dword [ecx + 0x3804]
movss xmm0, dword [edx + 0x130]
subss xmm0, xmm1
movss dword [edx + 0x130], xmm0
addss xmm0, dword [edx + 0x10]
addss xmm0, dword [edx + 0x134]
movss dword [edx + 0xec], xmm0
xor edx, edx
mov dword [esp + 0x18], edx
cmp dword [edi + 0x479c], edx
jle 0x1001e6c6
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x47a4]
mov edi, dword [eax + edx*4]
mov eax, dword [ecx + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1001e580
or dword [ecx + 0x4688], 2
mov byte [ecx + 0x4698], 1
mov dword [ecx + 0x4694], 2
push 0
push str.Viewport__d
push str.viewport0
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e6a6
movss xmm0, dword [edi + 0x88]
sub esp, 0x40
cvtps2pd xmm0, xmm0
mov eax, dword [edi]
mov dword [esp + 0x5c], eax
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.1006c580
mov ecx, dword [esp + 0x60]
add esp, 0x44
test cl, 4
mov eax, str._OwnedByApp
cmove eax, esi
test cl, 2
push eax
mov eax, str._IsPlatformMonitor
cmove eax, esi
test cl, 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.1006c580
mov eax, 2
add esp, 0x14
add edi, 0x64
mov dword [esp + 0x14], eax
nop dword [eax]
xor esi, esi
cmp dword [edi], esi
jle 0x1001e690
mov edx, dword [edi + 8]
push ecx
xor ecx, ecx
mov edx, dword [edx + esi*4]
call fcn.10021280
inc esi
add esp, 4
cmp esi, dword [edi]
jl 0x1001e676
mov eax, dword [esp + 0x14]
add edi, 0xc
sub eax, 1
mov dword [esp + 0x14], eax
jne 0x1001e670
call fcn.10082d90
mov esi, 0x1009b3b6
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [edi + 0x479c]
jge 0x1001e6c6
mov ecx, dword [0x10103264]
jmp 0x1001e550
call fcn.10082d90
push dword [edi + 0x4780]
push str.Popups___d_
push str.Popups
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e7ca
cmp dword [edi + 0x4780], 0
mov dword [esp + 0x18], 0
jle 0x1001e7c5
xor eax, eax
mov dword [esp + 0xc], eax
nop word [eax + eax]
mov ecx, dword [edi + 0x4788]
add ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
je 0x1001e731
mov edx, dword [eax + 0x2fc]
test edx, edx
je 0x1001e731
mov esi, dword [edx]
mov dword [esp + 0x14], esi
jmp 0x1001e739
mov dword [esp + 0x14], str.NULL
mov edx, dword [ecx + 8]
test edx, edx
je 0x1001e744
mov edi, dword [edx]
jmp 0x1001e749
mov edi, str.NULL
test eax, eax
je 0x1001e75d
test dword [eax + 8], sym.xinput1_3.dll_Ordinal_9
je 0x1001e75d
mov esi, str.Menu_
jmp 0x1001e766
mov esi, 0x1009b3b6
test eax, eax
je 0x1001e778
test dword [eax + 8], 0x1000000
je 0x1001e778
mov eax, dword [eax]
mov edx, str.Child_
jmp 0x1001e78a
mov edx, 0x1009b3b6
test eax, eax
je 0x1001e785
mov eax, dword [eax]
jmp 0x1001e78a
mov eax, str.NULL
push dword [esp + 0x14]
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.1006c580
mov edx, dword [esp + 0x34]
add esp, 0x1c
mov edi, dword [esp + 0x10]
inc edx
mov eax, dword [esp + 0xc]
add eax, 0x28
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
cmp edx, dword [edi + 0x4780]
jl 0x1001e710
call fcn.10082d90
push dword [edi + 0x4a3c]
push str.Tab_Bars___d_
push str.TabBars
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e852
mov ecx, dword [esp + 0x10]
xor edi, edi
cmp dword [ecx + 0x4a2c], edi
jle 0x1001e849
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ecx + 0x4a34]
mov eax, dword [eax + edi*8 + 4]
cmp eax, 0xffffffff
je 0x1001e840
lea esi, [eax + eax*8]
shl esi, 4
add esi, dword [ecx + 0x4a28]
je 0x1001e840
mov ecx, esi
call fcn.100113b0
mov ecx, esi
call fcn.100229e0
mov eax, dword [0x10103264]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x3e28]
dec dword [eax + 0xe0]
inc edi
cmp edi, dword [ecx + 0x4a2c]
jl 0x1001e800
call fcn.10082d90
mov edi, dword [esp + 0x10]
push dword [edi + 0x4a00]
push str.Tables___d_
push str.Tables
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e8b0
xor esi, esi
cmp dword [edi + 0x49f0], esi
jle 0x1001e8ab
nop dword [eax + eax]
mov eax, dword [edi + 0x49f8]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x1001e8a2
imul ecx, eax, 0x1e0
add ecx, dword [edi + 0x49ec]
je 0x1001e8a2
call fcn.10069320
inc esi
cmp esi, dword [edi + 0x49f0]
jl 0x1001e880
call fcn.10082d90
mov esi, dword [edi + 0x48]
push dword [esi + 0x3c]
push str.Fonts___d_
push str.Fonts
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001e8d8
mov ecx, esi
call fcn.1001d0a0
call fcn.10082d90
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1001e963
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x1009cb84
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x1001e938
push ecx
push 0x1009cb84
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push 0x1009cb84
xor edx, edx
mov ecx, edi
call fcn.100821a0
add esp, 8
test al, al
je 0x1001e963
mov ecx, dword [esp + 0x10]
add ecx, 0x4a70
call fcn.1007c430
call fcn.10082d90
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1001ef1b
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Settings
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x1001e9c7
push ecx
push str.Settings
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push str.Settings
xor edx, edx
mov ecx, edi
call fcn.100821a0
add esp, 8
test al, al
je 0x1001ef1b
mov esi, dword [0x10103264]
lea edx, [esp + 0xb0]
push 0x8000
mov ecx, str.Clear
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
movss xmm0, dword [esi + 0x37d8]
movss dword [esp + 0x20], xmm0
mov dword [esi + 0x37d8], 0
call fcn.1006d100
movss xmm0, dword [esp + 0x20]
add esp, 4
movss dword [esi + 0x37d8], xmm0
test al, al
je 0x1001eabd
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x59fc]
test eax, eax
je 0x1001ea83
mov dword [esi + 0x59f8], 0
mov dword [esi + 0x59f4], 0
test esi, esi
je 0x1001ea6f
dec dword [esi + 0xb0]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [esi + 0x59fc], 0
xor edi, edi
cmp dword [esi + 0x5a00], edi
jle 0x1001eabd
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esi + 0x5a08]
add eax, ecx
mov edx, dword [eax + 8]
test edx, edx
je 0x1001eaad
push eax
push esi
call edx
mov ecx, dword [esp + 0x1c]
add esp, 8
inc edi
add ecx, 0x24
mov dword [esp + 0x14], ecx
cmp edi, dword [esi + 0x5a00]
jl 0x1001ea93
mov esi, dword [0x10103264]
mov edx, dword [esi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001eb25
movss xmm1, dword [esi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
movss xmm0, dword [esi + 0x37d8]
lea edx, [esp + 0xb0]
push 0x8000
mov ecx, str.Save_to_memory
movss dword [esp + 0x20], xmm0
mov dword [esi + 0x37d8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
call fcn.1006d100
movss xmm0, dword [esp + 0x20]
add esp, 4
movss dword [esi + 0x37d8], xmm0
test al, al
je 0x1001eb85
xor ecx, ecx
call fcn.1001b160
mov esi, dword [0x10103264]
mov edx, dword [esi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001ebed
movss xmm1, dword [esi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
movss xmm0, dword [esi + 0x37d8]
lea edx, [esp + 0xb0]
push 0x8000
mov ecx, str.Save_to_disk
movss dword [esp + 0x20], xmm0
mov dword [esi + 0x37d8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
call fcn.1006d100
movss xmm0, dword [esp + 0x20]
add esp, 4
mov edi, dword [esp + 0x10]
movss dword [esi + 0x37d8], xmm0
test al, al
je 0x1001eca1
mov eax, dword [0x10103264]
mov esi, dword [edi + 0x20]
mov dword [eax + 0x59f0], 0
test esi, esi
je 0x1001eca1
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.1001b160
mov edx, 0x1009c3e0
mov ecx, esi
mov edi, eax
call fcn.100036a0
mov esi, eax
test esi, esi
je 0x1001ec9d
push esi
push dword [esp + 0x18]
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 edi, dword [esp + 0x10]
mov eax, dword [0x10103264]
mov edx, dword [eax + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001ed08
movss xmm1, dword [eax + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, dword [edi + 0x20]
test eax, eax
je 0x1001ed1f
push eax
push str.__s_
call fcn.1006be90
add esp, 8
jmp 0x1001ed30
push 1
xor edx, edx
mov ecx, str._NULL_
call fcn.1006b7c0
add esp, 4
movss xmm0, dword [edi + 0x59f0]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.1006be90
add esp, 0xc
push dword [edi + 0x5a00]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001edad
xor esi, esi
cmp dword [edi + 0x5a00], esi
jle 0x1001eda8
mov eax, dword [esp + 0x10]
xor edi, edi
nop dword [eax]
mov eax, dword [eax + 0x5a08]
push dword [eax + edi]
push 0x1009cc10
call fcn.1006c580
mov eax, dword [esp + 0x18]
lea edi, [edi + 0x24]
inc esi
add esp, 8
cmp esi, dword [eax + 0x5a00]
jl 0x1001ed80
mov edi, eax
call fcn.10082d90
push dword [edi + 0x5a0c]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001ee30
mov esi, dword [edi + 0x5a14]
test esi, esi
je 0x1001ee2b
add esi, 4
je 0x1001ee2b
nop dword [eax + eax]
movzx eax, byte [esi + 0xc]
push eax
movsx eax, word [esi + 0xa]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 6]
push eax
movsx eax, word [esi + 4]
push eax
lea eax, [esi + 0x10]
push eax
push dword [esi]
push str.0x_08X___s__Pos___d__d__Size___d__d__Collapsed_d
call fcn.1006be90
mov edx, dword [esi - 4]
add esp, 0x20
mov eax, dword [edi + 0x5a0c]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x5a14]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x1001ede0
call fcn.10082d90
push dword [edi + 0x5a18]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.10081e10
add esp, 0xc
test al, al
je 0x1001ee8b
mov esi, dword [edi + 0x5a20]
test esi, esi
je 0x1001ee86
add esi, 4
je 0x1001ee86
nop dword [eax + eax]
mov ecx, esi
call fcn.10069f20
mov edx, dword [esi - 4]
mov eax, dword [edi + 0x5a20]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x5a18]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x1001ee60
call fcn.10082d90
mov ecx, dword [edi + 0x59f4]
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.10081e10
add esp, 0xc
test al, al
je 0x1001ef16
mov eax, dword [0x10103264]
mov ecx, 0x10103260
push 0
push 0
push 0x4004000
movss xmm0, dword [eax + 0x3bb4]
mov eax, dword [edi + 0x59fc]
test eax, eax
mulss xmm0, dword [0x100b1418]
cmovne ecx, eax
mov dword [esp + 0xbc], 0x80800000
lea eax, [esp + 0xbc]
xor edx, edx
push eax
push dword [edi + 0x59f4]
movss dword [esp + 0xc8], xmm0
push ecx
mov ecx, str.Ini
call fcn.10078780
add esp, 0x18
call fcn.10082d90
call fcn.10082d90
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x10020099
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Inputs
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x1001ef7f
push ecx
push str.Inputs
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push str.Inputs
xor edx, edx
mov ecx, edi
call fcn.100821a0
add esp, 8
test al, al
je 0x10020099
push str.KEYBOARD_GAMEPAD_MOUSE_KEYS
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 4
mov eax, dword [ecx + 0x3e28]
push str.Keys_down:
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov edi, dword [0x10103264]
mov eax, 0xbc
add esp, 4
mov dword [esp + 0xc], eax
xor esi, esi
nop dword [eax + eax]
cmp esi, 0x200
jge 0x1001f022
cmp dword [eax + edi], 0xffffffff
jne 0x1001f1c0
mov ecx, esi
call fcn.100119a0
test al, al
je 0x1001f1bc
mov edx, dword [edi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f093
movss xmm1, dword [edi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, esi
cmp esi, 0x1ff
ja 0x1001f0b0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + edi]
cmp eax, 0xffffffff
jne 0x1001f0b0
mov eax, 0x1009beec
jmp 0x1001f0e3
test eax, eax
jne 0x1001f0bb
mov eax, 0x1009bef0
jmp 0x1001f0e3
test eax, 0xf800
je 0x1001f0c9
mov ecx, eax
call fcn.10002a80
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x1001f0de
mov eax, dword [eax*4 + 0x1009e640]
jmp 0x1001f0e3
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.1006be90
mov edi, dword [0x10103264]
add esp, 0xc
mov edx, dword [edi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f16e
movss xmm1, dword [edi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, esi
test esi, 0xf800
je 0x1001f17f
mov ecx, esi
call fcn.10002a80
cmp eax, 0x1ff
ja 0x1001f193
mov ecx, dword [edi + eax*4 + 0xbc]
cmp ecx, 0xffffffff
cmovne eax, ecx
add eax, eax
sub esp, 8
movss xmm0, dword [edi + eax*8 + 0xddc]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__.02f_
call fcn.1006be90
mov edi, dword [0x10103264]
add esp, 0xc
mov eax, dword [esp + 0xc]
add eax, 4
inc esi
mov dword [esp + 0xc], eax
cmp eax, 0xaec
jl 0x1001f010
push str.Keys_pressed:
call fcn.1006be90
mov eax, dword [0x10103264]
add esp, 4
xor esi, esi
mov dword [esp + 0xc], eax
mov edi, 0xbc
cmp esi, 0x200
jge 0x1001f202
cmp dword [edi + eax], 0xffffffff
jne 0x1001f300
push 1
xor edx, edx
mov ecx, esi
call fcn.10011a40
add esp, 4
test al, al
je 0x1001f2fc
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f282
movss xmm1, dword [ecx + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, esi
cmp esi, 0x1ff
ja 0x1001f29b
mov eax, dword [edi + ecx]
cmp eax, 0xffffffff
jne 0x1001f29b
mov eax, 0x1009beec
jmp 0x1001f2ce
test eax, eax
jne 0x1001f2a6
mov eax, 0x1009bef0
jmp 0x1001f2ce
test eax, 0xf800
je 0x1001f2b4
mov ecx, eax
call fcn.10002a80
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x1001f2c9
mov eax, dword [eax*4 + 0x1009e640]
jmp 0x1001f2ce
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.1006be90
mov eax, dword [0x10103264]
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x1001f300
mov eax, dword [esp + 0xc]
add edi, 4
inc esi
cmp edi, 0xaec
jl 0x1001f1f0
push str.Keys_released:
call fcn.1006be90
mov eax, dword [0x10103264]
add esp, 4
xor esi, esi
mov dword [esp + 0xc], eax
mov edi, 0xbc
nop dword [eax]
cmp esi, 0x200
jge 0x1001f342
cmp dword [edi + eax], 0xffffffff
jne 0x1001f439
mov ecx, esi
call fcn.10011b30
test al, al
je 0x1001f435
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f3bb
movss xmm1, dword [ecx + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, esi
cmp esi, 0x1ff
ja 0x1001f3d4
mov eax, dword [edi + ecx]
cmp eax, 0xffffffff
jne 0x1001f3d4
mov eax, 0x1009beec
jmp 0x1001f407
test eax, eax
jne 0x1001f3df
mov eax, 0x1009bef0
jmp 0x1001f407
test eax, 0xf800
je 0x1001f3ed
mov ecx, eax
call fcn.10002a80
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x1001f402
mov eax, dword [eax*4 + 0x1009e640]
jmp 0x1001f407
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.1006be90
mov eax, dword [0x10103264]
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x1001f439
mov eax, dword [esp + 0xc]
add edi, 4
inc esi
cmp edi, 0xaec
jl 0x1001f330
mov esi, dword [esp + 0x10]
mov ecx, 0x1009b3b6
mov eax, str.SUPER
cmp byte [esi + 0xdd3], 0
cmove eax, ecx
cmp byte [esi + 0xdd2], 0
push eax
mov eax, str.ALT
cmove eax, ecx
cmp byte [esi + 0xdd1], 0
push eax
mov eax, str.SHIFT
cmove eax, ecx
cmp byte [esi + 0xdd0], 0
push eax
mov eax, str.CTRL
cmove eax, ecx
push eax
push str.Keys_mods:__s_s_s_s
call fcn.1006be90
add esp, 0x14
push str.Chars_queue:
call fcn.1006be90
xor edi, edi
add esp, 4
cmp dword [esi + 0x3770], edi
jle 0x1001f575
mov dword [esp + 0x24], 0xde
mov ecx, dword [0x10103264]
mov eax, dword [esi + 0x3778]
mov edx, dword [ecx + 0x3e28]
movzx eax, word [eax + edi*2]
mov dword [esp + 0x1c], eax
cmp byte [edx + 0xab], 0
jne 0x1001f53c
movss xmm1, dword [ecx + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 0x118], ecx
mov byte [edx + 0x12c], 1
lea ecx, [eax - 0x21]
movzx esi, ax
cmp cx, word [esp + 0x24]
mov edx, 0x3f
movzx eax, al
cmovbe edx, eax
push esi
movsx eax, dl
push eax
push str._c__0x_04X_
call fcn.1006be90
mov esi, dword [esp + 0x1c]
inc edi
add esp, 0xc
cmp edi, dword [esi + 0x3770]
jl 0x1001f4c2
mov ecx, dword [0x10103264]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov ecx, dword [ecx + 0x3e28]
mov ecx, dword [ecx + 0x268]
call fcn.1001c2b0
mov ecx, dword [0x10103264]
push str.MOUSE_STATE
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 4
movss xmm1, dword [0x100b1598]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [ecx + 0xdb8]
comiss xmm0, xmm1
movss xmm2, dword [ecx + 0xdbc]
jb 0x1001f687
comiss xmm2, xmm1
jb 0x1001f687
movss xmm0, dword [esi + 0xdbc]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0xdb8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_pos:___g___g_
call fcn.1006be90
add esp, 0x14
jmp 0x1001f694
push str.Mouse_pos:__INVALID_
call fcn.1006be90
add esp, 4
movss xmm0, dword [esi + 0xb8]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0xb4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_delta:___g___g_
call fcn.1006be90
add esp, 0x14
push str.Mouse_down:
call fcn.1006be90
mov ecx, dword [esp + 0x14]
add esp, 4
mov edi, dword [0x10103264]
add ecx, 0x3728
mov esi, 0x281
mov dword [esp + 0xc], ecx
nop dword [eax + eax]
cmp byte [esi + edi + 0xb3f], 0
je 0x1001f7ef
cmp esi, 0x200
jl 0x1001f70e
cmp esi, 0x28c
jl 0x1001f736
cmp esi, 0x1000
je 0x1001f736
cmp esi, 0x2000
je 0x1001f736
cmp esi, 0x4000
je 0x1001f736
cmp esi, 0x8000
je 0x1001f736
cmp esi, 0x800
jne 0x1001f75c
mov eax, esi
test esi, 0xf800
je 0x1001f74b
mov ecx, esi
call fcn.10002a80
mov ecx, dword [esp + 0xc]
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x26b8], 0
jne 0x1001f7ef
mov edx, dword [edi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f7be
movss xmm1, dword [edi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, dword [esp + 0xc]
sub esp, 8
movss xmm0, dword [eax]
lea eax, [esi - 0x281]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
push str.b_d___.02f_secs_
call fcn.1006be90
mov edi, dword [0x10103264]
add esp, 0x10
mov ecx, dword [esp + 0xc]
inc esi
add ecx, 4
mov dword [esp + 0xc], ecx
lea eax, [esi - 0x281]
cmp eax, 5
jl 0x1001f6f0
push str.Mouse_clicked:
call fcn.1006be90
mov ecx, dword [esp + 0x14]
add esp, 4
mov edi, dword [0x10103264]
mov edx, 0x3728
add ecx, 0x3702
mov dword [esp + 0x18], edx
mov esi, 0x281
mov dword [esp + 0xc], ecx
nop word [eax + eax]
cmp byte [edi + esi + 0xb3f], 0
je 0x1001f95a
movss xmm0, dword [edi + edx]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x1001f95a
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001f95a
cmp esi, 0x200
jl 0x1001f87c
cmp esi, 0x28c
jl 0x1001f8a4
cmp esi, 0x1000
je 0x1001f8a4
cmp esi, 0x2000
je 0x1001f8a4
cmp esi, 0x4000
je 0x1001f8a4
cmp esi, 0x8000
je 0x1001f8a4
cmp esi, 0x800
jne 0x1001f8ce
mov eax, esi
test esi, 0xf800
je 0x1001f8bd
mov ecx, esi
call fcn.10002a80
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x26b8], 0
jne 0x1001f95a
mov edx, dword [edi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001f930
movss xmm1, dword [edi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
push eax
lea eax, [esi - 0x281]
push eax
push str.b_d___d_
call fcn.1006be90
mov edi, dword [0x10103264]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
inc esi
add edx, 4
add ecx, 2
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], ecx
lea eax, [esi - 0x281]
cmp eax, 5
jl 0x1001f840
push str.Mouse_released:
call fcn.1006be90
mov edi, dword [0x10103264]
add esp, 4
mov esi, 0x281
cmp byte [esi + edi + 0x3495], 0
je 0x1001fa70
cmp esi, 0x200
jl 0x1001f9ae
cmp esi, 0x28c
jl 0x1001f9d6
cmp esi, 0x1000
je 0x1001f9d6
cmp esi, 0x2000
je 0x1001f9d6
cmp esi, 0x4000
je 0x1001f9d6
cmp esi, 0x8000
je 0x1001f9d6
cmp esi, 0x800
jne 0x1001f9f4
mov eax, esi
test esi, 0xf800
je 0x1001f9e7
mov ecx, esi
call fcn.10002a80
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x26b8], 0
jne 0x1001fa70
mov edx, dword [edi + 0x3e28]
cmp byte [edx + 0xab], 0
jne 0x1001fa56
movss xmm1, dword [edi + 0x37e4]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
mov byte [edx + 0x12c], 1
lea eax, [esi - 0x281]
push eax
push 0x1009ce14
call fcn.1006be90
mov edi, dword [0x10103264]
add esp, 8
inc esi
lea eax, [esi - 0x281]
cmp eax, 5
jl 0x1001f990
mov esi, dword [esp + 0x10]
sub esp, 8
movss xmm0, dword [esi + 0xdc8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_wheel:__.1f
call fcn.1006be90
movss xmm0, dword [esi + 0x3764]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Pen_Pressure:__.1f
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 0xc
mov eax, dword [ecx + 0x3e28]
push str.MOUSE_WHEELING
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 4
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
mov eax, dword [esi + 0x3e38]
test eax, eax
je 0x1001fb68
mov eax, dword [eax]
jmp 0x1001fb6d
mov eax, str.NULL
push eax
push str.WheelingWindow:__s
call fcn.1006be90
movss xmm0, dword [esi + 0x3e48]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.WheelingWindowReleaseTimer:__.2f
call fcn.1006be90
movss xmm1, dword [esi + 0x3e54]
add esp, 0xc
movss xmm0, dword [esi + 0x3e58]
comiss xmm1, xmm0
jbe 0x1001fbb1
mov eax, 0x1009bb5c
jmp 0x1001fbc1
comiss xmm0, xmm1
mov eax, 0x1009bb60
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.1006be90
mov ecx, dword [0x10103264]
push str.KEY_OWNERS
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
lea edx, [esp + 0xcc]
add esp, 0x1c
mov dword [esp + 0xb0], 0x80800000
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [ecx + 0x3bb4]
addss xmm0, dword [ecx + 0x37e8]
mov ecx, str.owners
mulss xmm0, dword [0x100b13d8]
movss dword [esp + 0xb4], xmm0
call fcn.100839a0
test al, al
je 0x1001fdd4
mov edi, dword [0x10103264]
mov edx, 0x8bc
mov esi, 0x200
mov dword [esp + 0x18], edx
mov eax, esi
mov dword [esp + 0xc], eax
test esi, 0xf800
je 0x1001fcef
mov ecx, esi
call fcn.10002a80
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], eax
lea eax, [eax + eax*2]
mov ecx, dword [edi + eax*4 + 0x26b0]
mov dword [esp + 0x1c], ecx
cmp ecx, 0xffffffff
je 0x1001fdb2
cmp byte [edi + eax*4 + 0x26b9], 0
je 0x1001fd1a
mov dword [esp + 0x14], str._LockUntilRelease
jmp 0x1001fd33
cmp byte [edi + eax*4 + 0x26b8], 0
mov ecx, str._LockThisFrame
mov eax, 0x1009b3b6
cmove ecx, eax
mov dword [esp + 0x14], ecx
mov eax, esi
cmp esi, 0x1ff
ja 0x1001fd4c
mov eax, dword [edx + edi]
cmp eax, 0xffffffff
jne 0x1001fd4c
mov eax, 0x1009beec
jmp 0x1001fd7f
test eax, eax
jne 0x1001fd57
mov eax, 0x1009bef0
jmp 0x1001fd7f
test eax, 0xf800
je 0x1001fd65
mov ecx, eax
call fcn.10002a80
add eax, 0xfffffe00
cmp eax, 0x8b
ja 0x1001fd7a
mov eax, dword [eax*4 + 0x1009e640]
jmp 0x1001fd7f
mov eax, str.Unknown
push dword [esp + 0x14]
push dword [esp + 0x20]
push eax
push str._s:_0x_08X_s
call fcn.1006be90
mov eax, dword [esp + 0x1c]
add esp, 0x10
lea ecx, [eax + eax*2]
mov ecx, dword [edi + ecx*4 + 0x26b0]
call fcn.100247e0
mov edi, dword [0x10103264]
mov edx, dword [esp + 0x18]
add edx, 4
inc esi
mov dword [esp + 0x18], edx
cmp edx, 0xaec
jl 0x1001fcd2
call fcn.1000b170
call fcn.10014240
mov esi, dword [esp + 0x10]
mov ecx, dword [0x10103264]
push str.SHORTCUT_ROUTING
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
lea edx, [esp + 0xb4]
add esp, 4
mov dword [esp + 0xb0], 0x80800000
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
movss xmm0, dword [ecx + 0x3bb4]
addss xmm0, dword [ecx + 0x37e8]
mov ecx, str.routes
mulss xmm0, dword [0x100b13d8]
movss dword [esp + 0xb4], xmm0
call fcn.100839a0
test al, al
je 0x10020033
mov ecx, 0x200
xor eax, eax
mov dword [esp + 0x18], ecx
mov edx, 0x8000
mov dword [esp + 0x14], eax
nop word [eax + eax]
movzx eax, word [esi + eax + 0x4540]
cmp ax, 0xffff
je 0x1002000e
movsx edi, ax
shl edi, 4
add edi, dword [esi + 0x4660]
movzx esi, word [edi + 2]
or esi, ecx
mov ecx, dword [0x10103264]
test esi, 0x800
je 0x1001ff10
cmp byte [ecx + 0x61], 0
mov eax, 0x1000
cmovne eax, edx
or esi, eax
mov eax, esi
and eax, 0xffff07ff
cmp eax, 0x1ff
ja 0x1001ff31
mov eax, dword [ecx + eax*4 + 0xbc]
cmp eax, 0xffffffff
jne 0x1001ff31
mov ecx, 0x1009beec
jmp 0x1001ff66
test eax, eax
jne 0x1001ff3c
mov ecx, 0x1009bef0
jmp 0x1001ff66
test eax, 0xf800
je 0x1001ff4a
mov ecx, eax
call fcn.10002a80
lea ecx, [eax - 0x200]
cmp ecx, 0x8b
ja 0x1001ff61
mov ecx, dword [ecx*4 + 0x1009e640]
jmp 0x1001ff66
mov ecx, str.Unknown
test esi, 0x8000
je 0x1001ff87
mov edx, dword [0x10103264]
mov eax, str.Cmd
cmp byte [edx + 0x61], 0
mov edx, str.Super
cmove eax, edx
jmp 0x1001ff8c
mov eax, 0x1009b3b6
push ecx
push eax
test esi, 0x4000
mov ecx, 0x1009b3b6
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, [esp + 0x180]
push 0x40
push eax
call fcn.10003540
push dword [edi + 8]
lea eax, [esp + 0x18c]
push eax
push str._s:_0x_08X
call fcn.1006be90
mov ecx, dword [edi + 8]
add esp, 0x2c
call fcn.100247e0
movzx eax, word [edi]
mov edx, 0x8000
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
cmp ax, 0xffff
jne 0x1001fee2
mov eax, dword [esp + 0x14]
inc ecx
add eax, 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
cmp eax, 0x118
jl 0x1001fed0
call fcn.1000b170
call fcn.10014240
push dword [esi + 0x4670]
movzx eax, byte [esi + 0x4674]
push eax
push str._ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:_0x_X_
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 0xc
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.10082d90
mov esi, dword [0x10103264]
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x1002060a
mov ecx, dword [eax + 0xe0]
xor edx, edx
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Internal_state
call fcn.10003600
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x100200fd
push ecx
push str.Internal_state
mov edx, 0xb
mov ecx, edi
call fcn.10024b90
add esp, 8
push 0
push str.Internal_state
xor edx, edx
mov ecx, edi
call fcn.100821a0
add esp, 8
test al, al
je 0x1002060a
push str.WINDOWING
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
mov eax, dword [esi + 0x3e2c]
test eax, eax
je 0x1002017d
mov eax, dword [eax]
jmp 0x10020182
mov eax, str.NULL
push eax
push str.HoveredWindow:__s
call fcn.1006be90
mov eax, dword [esi + 0x3e2c]
add esp, 8
test eax, eax
je 0x100201a4
mov eax, dword [eax + 0x304]
mov eax, dword [eax]
jmp 0x100201a9
mov eax, str.NULL
push eax
push str.HoveredWindow__Root:__s
call fcn.1006be90
mov eax, dword [esi + 0x3e30]
add esp, 8
test eax, eax
je 0x100201c5
mov eax, dword [eax]
jmp 0x100201ca
mov eax, str.NULL
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.1006be90
mov eax, dword [esi + 0x3e34]
add esp, 8
test eax, eax
je 0x100201e6
mov eax, dword [eax]
jmp 0x100201eb
mov eax, str.NULL
push eax
push str.MovingWindow:__s
call fcn.1006be90
mov ecx, dword [0x10103264]
push str.ITEMS
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 0xc
mov dword [esp + 0xc0], 0x1009bef0
mov dword [esp + 0xc4], str.Mouse
mov dword [esp + 0xc8], str.Keyboard
mov eax, dword [ecx + 0x3e28]
mov dword [esp + 0xcc], str.Gamepad
mov dword [esp + 0xd0], 0x1009bf6c
mov dword [esp + 0xd4], str.Clipboard
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
mov eax, dword [esi + 0x3e94]
movss xmm0, dword [esi + 0x3e7c]
cvtps2pd xmm0, xmm0
push dword [esp + eax*4 + 0xc0]
movzx eax, byte [esi + 0x3e81]
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [esi + 0x3e9c]
push dword [esi + 0x3e74]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.1006be90
mov ecx, dword [esi + 0x3e74]
add esp, 0x1c
call fcn.100247e0
mov eax, dword [esi + 0x3e90]
test eax, eax
je 0x1002032b
mov eax, dword [eax]
jmp 0x10020330
mov eax, str.NULL
push eax
push str.ActiveIdWindow:__s
call fcn.1006be90
push dword [esi + 0x4670]
movzx eax, byte [esi + 0x4674]
push eax
push str.ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:__X
call fcn.1006be90
movss xmm0, dword [esi + 0x3e6c]
add esp, 0x14
movzx eax, byte [esi + 0x3e68]
cvtps2pd xmm0, xmm0
push eax
sub esp, 8
movsd qword [esp], xmm0
push dword [esi + 0x3e64]
push str.HoveredId:_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.1006be90
movss xmm0, dword [esi + 0x4a64]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esi + 0x4a60]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [esi + 0x4a58]
push str.HoverDelayId:_0x_08X__Timer:__.2f__ClearTimer:__.2f
call fcn.1006be90
push dword [esi + 0x4944]
lea eax, [esi + 0x4954]
push eax
push dword [esi + 0x4948]
movzx eax, byte [esi + 0x4930]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.1006be90
mov ecx, dword [esi + 0x4948]
add esp, 0x2c
call fcn.100247e0
mov ecx, dword [0x10103264]
push str.NAV_FOCUS
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 4
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [ecx + 0x3804]
addss xmm0, dword [eax + 0x130]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
mov eax, dword [esi + 0x47a8]
test eax, eax
je 0x1002048f
mov eax, dword [eax]
jmp 0x10020494
mov eax, str.NULL
push eax
push str.NavWindow:__s
call fcn.1006be90
push dword [esi + 0x47e0]
push dword [esi + 0x47ac]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.1006be90
mov ecx, dword [esi + 0x47ac]
add esp, 0x14
call fcn.100247e0
mov eax, dword [esi + 0x47dc]
mov dword [esp + 0xc0], 0x1009bef0
mov dword [esp + 0xc4], str.Mouse
mov dword [esp + 0xc8], str.Keyboard
mov dword [esp + 0xcc], str.Gamepad
mov dword [esp + 0xd0], 0x1009bf6c
mov dword [esp + 0xd4], str.Clipboard
push dword [esp + eax*4 + 0xc0]
push str.NavInputSource:__s
call fcn.1006be90
movzx eax, byte [esi + 0x9a]
push eax
movzx eax, byte [esi + 0x99]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.1006be90
add esp, 0x14
push dword [esi + 0x47c0]
push dword [esi + 0x47bc]
push dword [esi + 0x47b8]
push dword [esi + 0x47b4]
push str.NavActivateId_DownId_PressedId_InputId:__08X__08X__08X__08X
call fcn.1006be90
add esp, 0x14
push dword [esi + 0x47c4]
push str.NavActivateFlags:__04X
call fcn.1006be90
movzx eax, byte [esi + 0x47e7]
push eax
movzx eax, byte [esi + 0x47e6]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.1006be90
add esp, 0x14
push dword [esi + 0x47b0]
push str.NavFocusScopeId__0x_08X
call fcn.1006be90
mov eax, dword [esi + 0x4900]
add esp, 8
test eax, eax
je 0x100205ac
mov eax, dword [eax]
jmp 0x100205b1
mov eax, str.NULL
push eax
push str.NavWindowingTarget:__s
call fcn.1006be90
mov ecx, dword [0x10103264]
add esp, 8
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x130]
subss xmm0, dword [ecx + 0x3804]
movss dword [eax + 0x130], xmm0
addss xmm0, dword [eax + 0x10]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0xec], xmm0
call fcn.10082d90
mov edx, dword [esp + 0x28]
cmp byte [edx + 2], 0
jne 0x1002061e
cmp byte [edx + 3], 0
je 0x100209e0
mov eax, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [eax + 0x3de0], esi
jle 0x100209e4
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [eax + 0x3de8]
mov esi, dword [eax + esi*4]
cmp byte [esi + 0xa7], 0
je 0x100209c5
mov eax, dword [0x10103264]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x47a4]
mov ecx, dword [eax]
call fcn.10007f50
mov edx, dword [esp + 0x2c]
add esp, 4
mov edi, eax
cmp byte [edx + 2], 0
je 0x100208e6
mov ecx, dword [edx + 8]
test ecx, ecx
jne 0x100206c9
movss xmm1, dword [esi + 0x10]
movss xmm0, dword [esi + 0x14]
movss dword [esp + 0xa0], xmm1
addss xmm1, dword [esi + 0x18]
movss dword [esp + 0xa4], xmm0
addss xmm0, dword [esi + 0x1c]
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
jmp 0x100207e8
cmp ecx, 1
jne 0x100206e2
movups xmm0, xmmword [esi + 0x1c4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x100207e8
cmp ecx, 2
jne 0x100206fb
movups xmm0, xmmword [esi + 0x1d4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x100207e8
cmp ecx, 3
jne 0x10020714
movups xmm0, xmmword [esi + 0x1e4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x100207e8
cmp ecx, 4
jne 0x1002072d
movups xmm0, xmmword [esi + 0x1f4]
movups xmmword [esp + 0xa0], xmm0
jmp 0x100207e8
cmp ecx, 5
jne 0x1002078c
movss xmm3, dword [esi + 0x1d4]
movss xmm2, dword [esi + 0x1d8]
subss xmm3, dword [esi + 0x74]
subss xmm2, dword [esi + 0x78]
addss xmm3, dword [esi + 0x40]
addss xmm2, dword [esi + 0x44]
movaps xmm1, xmm3
addss xmm1, dword [esi + 0x28]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x2c]
movss dword [esp + 0xa0], xmm3
movss dword [esp + 0xa4], xmm2
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
jmp 0x100207e8
cmp ecx, 6
jne 0x100207c7
movss xmm3, dword [esi + 0x1d4]
movss xmm2, dword [esi + 0x1d8]
subss xmm3, dword [esi + 0x74]
subss xmm2, dword [esi + 0x78]
addss xmm3, dword [esi + 0x40]
addss xmm2, dword [esi + 0x44]
movaps xmm1, xmm3
addss xmm1, dword [esi + 0x30]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x34]
jmp 0x10020766
cmp ecx, 7
jne 0x100207dd
movups xmm0, xmmword [esi + 0x224]
movups xmmword [esp + 0xa0], xmm0
jmp 0x100207e8
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
test byte [edi + 0x24], 1
xorps xmm3, xmm3
movss xmm0, dword [esp + 0xa8]
mov ecx, edi
push 0
je 0x1002085d
movss xmm1, dword [0x100b12bc]
lea eax, [esp + 0xb4]
subss xmm0, xmm1
push eax
lea eax, [esp + 0x54]
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, xmm1
movss dword [esp + 0xbc], xmm0
movss xmm0, dword [esp + 0xa8]
addss xmm0, xmm1
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0xac]
addss xmm0, xmm1
movss dword [esp + 0x58], xmm0
jmp 0x100208b9
subss xmm0, dword [0x100b12b8]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, dword [0x100b12b8]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xa8]
addss xmm0, dword [0x100b12bc]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0xac]
addss xmm0, dword [0x100b12bc]
movss dword [esp + 0x48], xmm0
push eax
call fcn.10059510
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push 0xff8000ff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10057460
mov edx, dword [esp + 0x28]
mov dword [edi + 0x54], 0
cmp byte [edx + 3], 0
je 0x100209c5
test dword [esi + 8], 0x1000000
jne 0x100209c5
movsx eax, word [esi + 0xb8]
push eax
push 0x1009c478
lea eax, [esp + 0x150]
push 0x20
push eax
call fcn.10003540
mov eax, dword [0x10103264]
add esp, 0x10
add esi, 0x10
movss xmm1, dword [eax + 0x3bb4]
lea eax, [esp + 0x34]
push 0
push ecx
movaps xmm0, xmm1
mov dword [esp], 0
addss xmm0, dword [esi]
addss xmm1, dword [esi + 4]
push 0xff6464c8
push eax
push esi
mov ecx, edi
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm1
call fcn.10059bc0
lea ecx, [esp + 0x148]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020970
sub ecx, edx
lea eax, [esp + 0x148]
add ecx, eax
cmp eax, ecx
je 0x100209c1
mov eax, dword [edi + 0x2c]
movups xmm0, xmmword [edi + 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 esi
push edi
movups xmmword [esp + 0xe0], xmm0
call fcn.1005df90
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [eax + 0x3de0]
jl 0x10020640
jmp 0x100209e4
mov eax, dword [esp + 0x10]
cmp byte [edx + 4], 0
je 0x10020f08
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [eax + 0x49f0], ecx
jle 0x10020f08
mov dword [esp + 0x1c], 0xff80ffff
nop dword [eax + eax]
mov eax, dword [eax + 0x49f8]
mov eax, dword [eax + ecx*8 + 4]
cmp eax, 0xffffffff
je 0x10020ee9
imul esi, eax, 0x1e0
mov eax, dword [esp + 0x10]
add esi, dword [eax + 0x49ec]
je 0x10020ee9
mov eax, dword [eax + 0x3dc8]
dec eax
cmp dword [esi + 0x50], eax
jl 0x10020ee9
mov eax, dword [0x10103264]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x47a4]
mov ecx, dword [eax]
call fcn.10007f50
mov edx, dword [esp + 0x2c]
add esp, 4
mov edi, eax
mov ecx, dword [edx + 0xc]
cmp ecx, 6
jl 0x10020db5
cmp dword [esi + 0x54], 0
mov dword [esp + 0x18], 0
jle 0x10020ee9
mov dword [esp + 0xc], 0
movsx eax, word [esi + 0x60]
mov edx, dword [edx + 0xc]
test eax, eax
jne 0x10020aa7
lea ecx, [esi + 0x178]
jmp 0x10020ab6
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x18c]
lea ecx, [ecx - 3]
lea ecx, [eax + ecx*4]
test edx, edx
jne 0x10020ace
movups xmm0, xmmword [esi + 0xd0]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 1
jne 0x10020ae7
movups xmm0, xmmword [esi + 0xe0]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 2
jne 0x10020b00
movups xmm0, xmmword [esi + 0xf0]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 3
jne 0x10020b19
movups xmm0, xmmword [esi + 0x140]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 4
jne 0x10020b32
movups xmm0, xmmword [esi + 0x100]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 5
jne 0x10020b4b
movups xmm0, xmmword [esi + 0x110]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 6
jne 0x10020b77
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm0, dword [esi + 0x104]
movaps xmm1, xmm0
addss xmm0, dword [ecx]
movss xmm3, dword [eax + edx + 8]
movss xmm2, dword [eax + edx + 0xc]
jmp 0x10020ca4
cmp edx, 7
jne 0x10020ba4
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm1, dword [esi + 0xf4]
movss xmm0, dword [esi + 0xfc]
movss xmm3, dword [eax + edx + 0x34]
movss xmm2, dword [eax + edx + 0x38]
jmp 0x10020ca4
cmp edx, 8
jne 0x10020bc2
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movups xmm0, xmmword [eax + edx + 0x20]
movups xmmword [esp + 0x90], xmm0
jmp 0x10020c80
cmp edx, 9
jne 0x10020bef
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm0, dword [esi + 0x104]
movaps xmm1, xmm0
addss xmm0, dword [ecx + 4]
movss xmm3, dword [eax + edx + 0x34]
movss xmm2, dword [eax + edx + 0x48]
jmp 0x10020ca4
cmp edx, 0xa
jne 0x10020c1c
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm0, dword [esi + 0x104]
movaps xmm1, xmm0
addss xmm0, dword [ecx + 4]
movss xmm3, dword [eax + edx + 0x34]
movss xmm2, dword [eax + edx + 0x4c]
jmp 0x10020ca4
cmp edx, 0xb
jne 0x10020c46
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm0, dword [esi + 0x104]
movaps xmm1, xmm0
addss xmm0, dword [ecx + 8]
movss xmm3, dword [eax + edx + 0x34]
movss xmm2, dword [eax + edx + 0x40]
jmp 0x10020ca4
cmp edx, 0xc
jne 0x10020c75
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc]
movss xmm1, dword [esi + 0x104]
addss xmm1, dword [ecx + 8]
movss xmm0, dword [esi + 0x10c]
movss xmm3, dword [eax + edx + 0x34]
movss xmm2, dword [eax + edx + 0x44]
jmp 0x10020ca4
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movss xmm3, dword [esp + 0x90]
movss xmm1, dword [esp + 0x94]
movss xmm2, dword [esp + 0x98]
movss xmm0, dword [esp + 0x9c]
movsx eax, byte [esi + 0x1b8]
mov ecx, 0xff8000ff
cmp eax, dword [esp + 0x18]
cmove ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
jne 0x10020cc9
movss xmm4, dword [0x100b13a4]
jmp 0x10020cd1
movss xmm4, dword [0x100b1304]
test byte [edi + 0x24], 1
mov ecx, edi
movss dword [esp + 0x30], xmm4
push 0
je 0x10020d25
movss xmm4, dword [0x100b12bc]
lea eax, [esp + 0xb4]
subss xmm2, xmm4
subss xmm0, xmm4
addss xmm3, xmm4
addss xmm1, xmm4
push eax
movss dword [esp + 0xb8], xmm2
lea eax, [esp + 0x54]
movss dword [esp + 0xbc], xmm0
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x58], xmm1
jmp 0x10020d66
subss xmm2, dword [0x100b12b8]
subss xmm0, dword [0x100b12b8]
addss xmm3, dword [0x100b12bc]
addss xmm1, dword [0x100b12bc]
lea eax, [esp + 0x48]
push eax
movss dword [esp + 0x4c], xmm2
lea eax, [esp + 0x44]
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x48], xmm1
push eax
xorps xmm3, xmm3
call fcn.10059510
movss xmm0, dword [esp + 0x30]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push dword [esp + 0x2c]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10057460
mov ecx, dword [esp + 0x18]
add dword [esp + 0xc], 0x68
inc ecx
mov edx, dword [esp + 0x28]
mov dword [edi + 0x54], 0
mov dword [esp + 0x18], ecx
cmp ecx, dword [esi + 0x54]
jl 0x10020a94
jmp 0x10020ee9
test ecx, ecx
jne 0x10020dc2
movups xmm1, xmmword [esi + 0xd0]
jmp 0x10020e0b
cmp ecx, 1
jne 0x10020dd0
movups xmm1, xmmword [esi + 0xe0]
jmp 0x10020e0b
cmp ecx, 2
jne 0x10020dde
movups xmm1, xmmword [esi + 0xf0]
jmp 0x10020e0b
cmp ecx, 3
jne 0x10020dec
movups xmm1, xmmword [esi + 0x140]
jmp 0x10020e0b
cmp ecx, 4
jne 0x10020dfa
movups xmm1, xmmword [esi + 0x100]
jmp 0x10020e0b
cmp ecx, 5
jne 0x10020e08
movups xmm1, xmmword [esi + 0x110]
jmp 0x10020e0b
xorps xmm1, xmm1
test byte [edi + 0x24], 1
movaps xmm0, xmm1
push 0
xorps xmm3, xmm3
shufps xmm0, xmm1, 0xaa
mov ecx, edi
je 0x10020e71
movss xmm2, dword [0x100b12bc]
lea eax, [esp + 0x38]
subss xmm0, xmm2
push eax
lea eax, [esp + 0xa8]
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
subss xmm0, xmm2
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm1
shufps xmm1, xmm1, 0x55
addss xmm0, xmm2
addss xmm1, xmm2
movss dword [esp + 0xa8], xmm0
movss dword [esp + 0xac], xmm1
jmp 0x10020ec0
subss xmm0, dword [0x100b12b8]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
movss dword [esp + 0x68], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
subss xmm0, dword [0x100b12b8]
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x100b12bc]
shufps xmm1, xmm1, 0x55
addss xmm1, dword [0x100b12bc]
movss dword [esp + 0x60], xmm0
movss dword [esp + 0x64], xmm1
push eax
call fcn.10059510
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push 0xff8000ff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10057460
mov dword [edi + 0x54], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 0x49f0]
mov ecx, eax
mov eax, dword [esp + 0x10]
jl 0x10020a10
call fcn.10010450
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
xor ecx, esp
call fcn.10098200
mov esp, ebp
pop ebp
ret