Function at 0x10016927
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1ac
mov eax, dword [0x100bd040]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push esi
push edi
mov edi, dword [0x100c353c]
mov dword [esp + 0x18], edi
lea ebx, [edi + 0x5aac]
cmp byte [ebx], 0
mov dword [esp + 0x20], ebx
je 0x10016964
mov ecx, ebx
call fcn.1001a5ab
lea esi, [ebx + 1]
cmp byte [esi], 0
je 0x10016973
mov ecx, esi
call fcn.1001aff9
push 0
mov edx, 0x100c3c6c
mov ecx, str.Dear_ImGui_Metrics_Debugger
call fcn.1000af1d
pop ecx
test al, al
je 0x1001884b
mov ecx, dword [0x100c353c]
xor edx, edx
inc edx
mov eax, dword [ecx + 0x3e28]
mov byte [eax + 0xa8], dl
mov eax, dword [ecx + 0x3e28]
cmp word [eax + 0xb2], dx
jg 0x1001884b
push str.1.89.2
push str.Dear_ImGui__s
call fcn.1004ac42
movss xmm1, dword [edi + 0x9c]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
movss xmm0, dword [0x100b1c74]
divss xmm0, xmm1
push ecx
push ecx
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Application_average__.3f_ms_frame___.1f_FPS_
call fcn.1004ac42
mov ecx, dword [edi + 0xa4]
add esp, 0x14
mov eax, ecx
mov dword [esp + 0x28], 3
cdq
idiv dword [esp + 0x28]
push eax
push ecx
push dword [edi + 0xa0]
push str._d_vertices___d_indices___d_triangles_
call fcn.1004ac42
push dword [edi + 0xb0]
push dword [edi + 0xa8]
push str._d_visible_windows___d_active_allocations
call fcn.1004ac42
add esp, 0x1c
call fcn.1004df89
cmp dword [ebx + 8], 0
mov ecx, str.InnerRect
mov edx, str.InnerClipRect
mov dword [esp + 0x9c], str.OuterRect
mov eax, str.WorkRect
mov dword [esp + 0xa0], str.OuterRectClipped
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], str.Content
mov dword [esp + 0xb4], str.ContentIdeal
mov dword [esp + 0xb8], str.ContentRegionRect
mov dword [esp + 0xbc], str.OuterRect
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], str.HostClipRect
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], str.BackgroundClipRect
mov dword [esp + 0xd4], str.ColumnsRect
mov dword [esp + 0xd8], str.ColumnsWorkRect
mov dword [esp + 0xdc], str.ColumnsClipRect
mov dword [esp + 0xe0], str.ColumnsContentHeadersUsed
mov dword [esp + 0xe4], str.ColumnsContentHeadersIdeal
mov dword [esp + 0xe8], str.ColumnsContentFrozen
mov dword [esp + 0xec], str.ColumnsContentUnfrozen
jge 0x10016b27
mov dword [ebx + 8], 4
cmp dword [ebx + 0xc], 0
jge 0x10016b34
mov dword [ebx + 0xc], 2
mov ecx, str.Tools
call fcn.10059e47
test al, al
je 0x1001725c
mov ecx, str.UTF_8_Encoding_viewer
call fcn.10059e47
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
mov bl, al
call fcn.1000fae5
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.10016808
test bl, bl
je 0x10016bc3
mov eax, dword [0x100c353c]
xor edx, edx
and dword [esp + 0x30], 0
mov ecx, str.Text
and dword [esp + 0x34], 0
or dword [eax + 0x4688], 1
mov dword [eax + 0x468c], 0x80800000
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x3c]
push eax
push 0x64
push 0x100c34d0
call fcn.10053228
add esp, 0x18
cmp byte [0x100c34d0], 0
je 0x10016bbe
call fcn.10016681
call fcn.1005a913
lea ebx, [edi + 0x5aa5]
mov ecx, str.Show_Item_Picker
mov edx, ebx
call fcn.1004cec3
test al, al
je 0x10016bea
cmp byte [ebx], 0
je 0x10016bea
mov eax, dword [0x100c353c]
mov byte [eax + 0x5aa5], 1
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
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.10016808
lea ebx, [edi + 0x5aac]
mov ecx, str.Show_Debug_Log
mov edx, ebx
call fcn.1004cec3
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, str.You_can_also_call_ImGui::ShowDebugLogWindow___from_your_code.
call fcn.10016808
mov edx, esi
mov ecx, str.Show_Stack_Tool
call fcn.1004cec3
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, str.You_can_also_call_ImGui::ShowStackToolWindow___from_your_code.
call fcn.10016808
lea edx, [ebx + 3]
mov ecx, str.Show_windows_begin_order
call fcn.1004cec3
lea edx, [ebx + 2]
mov ecx, str.Show_windows_rectangles
call fcn.1004cec3
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov eax, dword [0x100c353c]
lea edx, [ebx + 8]
push 8
push 8
mov ecx, str.show_windows_rect_type
movss xmm0, dword [eax + 0x3bb4]
mulss xmm0, dword [0x100b1ba0]
or dword [eax + 0x4688], 1
movss dword [eax + 0x468c], xmm0
lea eax, [esp + 0xa4]
push eax
push fcn.1004e8c2
call fcn.1004e91a
add esp, 0x10
or byte [ebx + 2], al
je 0x10016da7
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x10016da7
push dword [eax]
push str._s:
call fcn.1004afdf
pop ecx
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
xor esi, esi
mov edx, dword [edi + 0x47a8]
lea ecx, [esp + 0x6c]
push esi
call fcn.100189e4
movss xmm0, dword [esp + 0x7c]
add esp, 4
subss xmm0, dword [esp + 0x70]
push dword [esp + esi*4 + 0x9c]
cvtps2pd xmm0, xmm0
sub esp, 0x30
movsd qword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0xa8]
subss xmm0, dword [esp + 0xa0]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0xac]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0xa8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0xa4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0xa0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__6.1f__6.1f____6.1f__6.1f__Size___6.1f__6.1f___s
call fcn.1004ac42
add esp, 0x38
inc esi
cmp esi, 8
jl 0x10016cf4
xorps xmm0, xmm0
call fcn.1000fcab
lea edx, [ebx + 4]
mov ecx, str.Show_tables_rectangles
call fcn.1004cec3
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov eax, dword [0x100c353c]
lea edx, [ebx + 0xc]
push 0xd
push 0xd
mov ecx, str.show_table_rects_type
movss xmm0, dword [eax + 0x3bb4]
mulss xmm0, dword [0x100b1ba0]
or dword [eax + 0x4688], 1
movss dword [eax + 0x468c], xmm0
lea eax, [esp + 0xc4]
push eax
push fcn.1004e8c2
call fcn.1004e91a
add esp, 0x10
or byte [ebx + 4], al
je 0x10017257
cmp dword [edi + 0x47a8], 0
je 0x10017257
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x49f0], eax
jle 0x10017257
lea ecx, [edi + 0x49e4]
mov dword [esp + 0x30], ecx
push eax
call fcn.1001b4b8
mov esi, eax
test esi, esi
je 0x10017242
mov ecx, dword [edi + 0x3dc8]
dec ecx
cmp dword [esi + 0x50], ecx
jl 0x1001723c
mov ecx, dword [esi + 0x160]
mov eax, dword [edi + 0x47a8]
cmp ecx, eax
je 0x10016e77
cmp dword [esi + 0x164], eax
jne 0x1001723c
push dword [ecx]
push dword [esi + 0x54]
push dword [esi]
push str.Table_0x_08X___d_columns__in__s_
call fcn.1004afdf
add esp, 0x10
xor ecx, ecx
call fcn.1000698f
test al, al
je 0x10016f10
call fcn.10006d52
movss xmm1, dword [0x100b1aa4]
movss xmm0, dword [esi + 0xd8]
addss xmm0, xmm1
push ecx
mov dword [esp], 0x40000000
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x48]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esi + 0xdc]
addss xmm0, xmm1
push 0xff00ffff
push ecx
lea ecx, [esp + 0x58]
push ecx
movss dword [esp + 0x58], xmm0
mov ecx, eax
movss xmm0, dword [esi + 0xd0]
subss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esi + 0xd4]
subss xmm0, xmm1
movss dword [esp + 0x60], xmm0
call fcn.1003c3c8
xorps xmm0, xmm0
call fcn.1000fc57
lea edi, [esp + 0xbc]
xor ebx, ebx
mov dword [esp + 0x14], edi
cmp ebx, 6
jb 0x100170c9
je 0x10016f39
cmp ebx, 8
jne 0x100170a3
xor edi, edi
cmp dword [esi + 0x54], edi
jle 0x1001709f
and dword [esp + 0x4c], edi
and dword [esp + 0x50], edi
push edi
push ebx
mov edx, esi
lea ecx, [esp + 0x94]
call fcn.10018865
movss xmm1, dword [esp + 0xa0]
movss xmm2, dword [esp + 0x98]
movaps xmm0, xmm1
mov eax, dword [esp + 0x1c]
subss xmm0, xmm2
movss xmm3, dword [esp + 0x9c]
movss xmm4, dword [esp + 0x94]
pop ecx
pop ecx
push dword [eax]
cvtps2pd xmm0, xmm0
push edi
sub esp, 0x30
lea eax, [esp + 0x168]
movss dword [esp + 0x48], xmm1
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm3
subss xmm0, xmm4
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x5c], xmm3
movss dword [esp + 0x70], xmm4
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm2
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.10002ed3
add esp, 0x44
lea eax, [esp + 0x4c]
xor dl, dl
lea ecx, [esp + 0x130]
push eax
push 0
call fcn.1005ab6f
pop ecx
pop ecx
xor ecx, ecx
call fcn.1000698f
test al, al
je 0x10017095
call fcn.10006d52
movss xmm1, dword [0x100b1aa4]
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm1
push ecx
mov dword [esp], 0x40000000
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x60]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, xmm1
push 0xff00ffff
push ecx
lea ecx, [esp + 0x70]
push ecx
movss dword [esp + 0x70], xmm0
mov ecx, eax
movss xmm0, dword [esp + 0x50]
subss xmm0, xmm1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x44]
subss xmm0, xmm1
movss dword [esp + 0x78], xmm0
call fcn.1003c3c8
inc edi
cmp edi, dword [esi + 0x54]
jl 0x10016f4c
mov edi, dword [esp + 0x14]
inc ebx
add edi, 4
mov dword [esp + 0x14], edi
cmp ebx, 0xd
jl 0x10016f25
xorps xmm0, xmm0
call fcn.1000fcab
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
jmp 0x10017242
or eax, 0xffffffff
lea ecx, [esp + 0xf0]
push eax
push ebx
mov edx, esi
call fcn.10018865
movss xmm1, dword [esp + 0x104]
lea eax, [esp + 0x138]
movss xmm2, dword [esp + 0xfc]
movaps xmm0, xmm1
movss xmm3, dword [esp + 0x100]
subss xmm0, xmm2
movss xmm4, dword [esp + 0xf8]
pop ecx
pop ecx
push dword [edi]
cvtps2pd xmm0, xmm0
sub esp, 0x30
movss dword [esp + 0x6c], xmm1
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm3
subss xmm0, xmm4
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x58], xmm4
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + 0x10], xmm0
cvtps2pd xmm0, xmm2
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.10002ed3
and dword [esp + 0xa4], 0
lea eax, [esp + 0xa4]
and dword [esp + 0xa8], 0
lea ecx, [esp + 0x170]
push eax
push 0
xor dl, dl
call fcn.1005ab6f
add esp, 0x48
xor ecx, ecx
call fcn.1000698f
test al, al
je 0x100170a3
call fcn.10006d52
movss xmm1, dword [0x100b1aa4]
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm1
push ecx
mov dword [esp], 0x40000000
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x88]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, xmm1
push 0xff00ffff
push ecx
lea ecx, [esp + 0x80]
push ecx
movss dword [esp + 0x98], xmm0
mov ecx, eax
movss xmm0, dword [esp + 0x3c]
subss xmm0, xmm1
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x28]
subss xmm0, xmm1
movss dword [esp + 0x88], xmm0
call fcn.1003c3c8
jmp 0x100170a3
lea ecx, [edi + 0x49e4]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [edi + 0x49f0]
jl 0x10016e3b
call fcn.1005a913
lea ebx, [edi + 0x3de0]
push dword [ebx]
push str.Windows___d_
push str.Windows
call fcn.10059e15
add esp, 0xc
test al, al
je 0x1001731f
mov edx, str.By_display_order
mov ecx, ebx
call fcn.1001a414
lea ecx, [edi + 0x3dec]
mov edx, str.By_focus_order__root_windows_
call fcn.1001a414
mov ecx, str.By_submission_order__begin_stack_
call fcn.10059e47
test al, al
je 0x1001731a
lea esi, [edi + 0x3df8]
push ecx
mov ecx, esi
call fcn.1001b923
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [ebx], ecx
jle 0x100172ef
mov eax, dword [edi + 0x3de8]
lea edx, [eax + ecx*4]
mov eax, dword [edx]
mov eax, dword [eax + 0x234]
inc eax
cmp eax, dword [edi + 0x3dc8]
jl 0x100172e6
push edx
mov ecx, esi
call fcn.1001b8b0
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [ebx]
jl 0x100172c0
cmp dword [esi], 1
jbe 0x10017308
push 0x10018b0a
push 4
push dword [esi]
push dword [esi + 8]
call fcn.100745a0
add esp, 0x10
mov edx, dword [esi]
mov ecx, dword [esi + 8]
push 0
call fcn.1001a46c
pop ecx
call fcn.1005a913
call fcn.1005a913
mov ecx, dword [edi + 0x479c]
xor edx, edx
test ecx, ecx
jle 0x10017356
mov ebx, dword [edi + 0x47a4]
mov eax, dword [ebx]
add eax, 0x64
mov dword [esp + 0x1c], 2
xor esi, esi
add esi, dword [eax]
lea eax, [eax + 0xc]
sub dword [esp + 0x1c], 1
jne 0x10017340
add edx, esi
add ebx, 4
sub ecx, 1
jne 0x10017331
push edx
push str.DrawLists___d_
push str.DrawLists
call fcn.10059e15
add esp, 0xc
test al, al
je 0x100173e6
lea ebx, [edi + 0x5aac]
mov ecx, str.Show_ImDrawCmd_mesh_when_hovering
lea edx, [ebx + 5]
call fcn.1004cec3
lea edx, [ebx + 6]
mov ecx, str.Show_ImDrawCmd_bounding_boxes_when_hovering
call fcn.1004cec3
xor ebx, ebx
cmp dword [edi + 0x479c], ebx
jle 0x100173e1
mov eax, dword [edi + 0x47a4]
push 2
mov esi, dword [eax + ebx*4]
pop eax
add esi, 0x64
mov dword [esp + 0x1c], eax
xor edi, edi
cmp dword [esi], edi
jle 0x100173c8
mov edx, dword [esi + 8]
push ecx
xor ecx, ecx
mov edx, dword [edx + edi*4]
call fcn.10018bf8
inc edi
pop ecx
cmp edi, dword [esi]
jl 0x100173b0
mov eax, dword [esp + 0x1c]
add esi, 0xc
sub eax, 1
mov dword [esp + 0x1c], eax
jne 0x100173aa
mov edi, dword [esp + 0x18]
inc ebx
cmp ebx, dword [edi + 0x479c]
jl 0x10017397
call fcn.1005a913
push dword [edi + 0x479c]
push str.Viewports___d_
push str.Viewports
call fcn.10059e15
add esp, 0xc
test al, al
je 0x10017469
mov eax, dword [0x100c353c]
movss xmm0, dword [eax + 0x37d4]
addss xmm0, xmm0
addss xmm0, dword [eax + 0x3bb4]
call fcn.1000fc57
call fcn.10016000
mov eax, dword [0x100c353c]
movss xmm0, dword [eax + 0x37d4]
addss xmm0, xmm0
addss xmm0, dword [eax + 0x3bb4]
call fcn.1000fcab
xor esi, esi
cmp dword [edi + 0x479c], esi
jle 0x10017464
mov ecx, dword [edi + 0x47a4]
mov ecx, dword [ecx + esi*4]
call fcn.10019e21
inc esi
cmp esi, dword [edi + 0x479c]
jl 0x1001744d
call fcn.1005a913
push dword [edi + 0x4780]
push str.Popups___d_
push str.Popups
call fcn.10059e15
add esp, 0xc
mov esi, str.NULL
test al, al
je 0x1001755f
and dword [esp + 0x10], 0
cmp dword [edi + 0x4780], 0
jle 0x1001755a
xor ebx, ebx
jmp 0x100174a9
mov esi, str.NULL
mov ecx, dword [edi + 0x4788]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x100174ce
mov edx, dword [eax + 0x300]
test edx, edx
je 0x100174ce
mov esi, dword [edx]
mov dword [esp + 0x1c], esi
mov esi, str.NULL
jmp 0x100174d2
mov dword [esp + 0x1c], esi
mov edx, dword [ecx + ebx + 8]
test edx, edx
je 0x100174e2
mov edx, dword [edx]
mov dword [esp + 0x14], edx
jmp 0x100174e6
mov dword [esp + 0x14], esi
test eax, eax
je 0x100174ff
test dword [eax + 8], 0x10000000
je 0x100174ff
mov esi, str.Menu_
mov edx, 0x1009bdbe
jmp 0x1001750a
mov edx, 0x1009bdbe
mov esi, edx
test eax, eax
je 0x10017522
test dword [eax + 8], 0x1000000
je 0x1001751a
mov edx, str.Child_
jmp 0x1001751e
test eax, eax
je 0x10017522
mov eax, dword [eax]
jmp 0x10017527
mov eax, str.NULL
push dword [esp + 0x1c]
push dword [esp + 0x18]
push esi
push edx
push eax
push dword [ecx + ebx]
push str.PopupID:__08x__Window:__s___s_s___BackupNavWindow__s__ParentWindow__s
call fcn.1004afdf
mov edx, dword [esp + 0x2c]
add esp, 0x1c
inc edx
add ebx, 0x28
mov dword [esp + 0x10], edx
cmp edx, dword [edi + 0x4780]
jl 0x100174a4
call fcn.1005a913
push dword [edi + 0x4a3c]
push str.Tab_Bars___d_
push str.TabBars
call fcn.10059e15
add esp, 0xc
test al, al
je 0x100175cf
xor esi, esi
cmp dword [edi + 0x4a2c], esi
jle 0x100175ca
mov eax, dword [edi + 0x4a34]
mov eax, dword [eax + esi*8 + 4]
cmp eax, 0xffffffff
je 0x100175c1
imul ebx, eax, 0x90
add ebx, dword [edi + 0x4a28]
je 0x100175c1
mov ecx, ebx
call fcn.1000d9a5
mov ecx, ebx
call fcn.10019ae9
mov eax, dword [0x100c353c]
mov eax, dword [eax + 0x3e28]
dec dword [eax + 0xe0]
inc esi
cmp esi, dword [edi + 0x4a2c]
jl 0x10017585
call fcn.1005a913
push dword [edi + 0x4a00]
push str.Tables___d_
push str.Tables
call fcn.10059e15
add esp, 0xc
test al, al
je 0x1001761a
xor esi, esi
cmp dword [edi + 0x49f0], esi
jle 0x10017615
push esi
lea ecx, [edi + 0x49e4]
call fcn.1001b4b8
test eax, eax
je 0x1001760c
mov ecx, eax
call fcn.10049247
inc esi
cmp esi, dword [edi + 0x49f0]
jl 0x100175f5
call fcn.1005a913
mov esi, dword [edi + 0x48]
push dword [esi + 0x44]
push str.Fonts___d_
push str.Fonts
call fcn.10059e15
add esp, 0xc
test al, al
je 0x10017642
mov ecx, esi
call fcn.1001685e
call fcn.1005a913
mov ecx, 0x1009d58c
call fcn.10059e47
test al, al
je 0x10017660
lea ecx, [edi + 0x4a70]
call fcn.10055e70
call fcn.1005a913
mov ecx, str.Settings
call fcn.10059e47
test al, al
je 0x10017916
mov ecx, str.Clear
call fcn.1004ba41
test al, al
je 0x100176ca
mov esi, dword [0x100c353c]
lea ecx, [esi + 0x59f4]
call fcn.1001b942
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [esi + 0x5a00], ecx
jle 0x100176ca
xor ebx, ebx
mov eax, dword [esi + 0x5a08]
add eax, ebx
mov edx, dword [eax + 8]
test edx, edx
je 0x100176ba
push eax
push esi
call edx
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
inc ecx
add ebx, 0x24
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x5a00]
jl 0x100176a1
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, str.Save_to_memory
call fcn.1004ba41
test al, al
je 0x100176ef
xor ecx, ecx
call fcn.1001554b
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, str.Save_to_disk
call fcn.1004ba41
test al, al
je 0x10017715
mov ecx, dword [edi + 0x20]
call fcn.100154fa
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
cmp dword [edi + 0x20], 0
je 0x1001773b
push dword [edi + 0x20]
push str.__s_
call fcn.1004ac42
pop ecx
jmp 0x10017749
push 1
xor edx, edx
mov ecx, str._NULL_
call fcn.1004a7ff
movss xmm0, dword [edi + 0x59f0]
pop ecx
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push str.SettingsDirtyTimer__.2f
call fcn.1004ac42
add esp, 0xc
push dword [edi + 0x5a00]
push str.Settings_handlers:___d_
push str.SettingsHandlers
call fcn.10059e15
add esp, 0xc
test al, al
je 0x100177b7
xor ebx, ebx
cmp dword [edi + 0x5a00], ebx
jle 0x100177b2
xor esi, esi
mov eax, dword [edi + 0x5a08]
push dword [esi + eax]
push 0x1009d618
call fcn.1004afdf
inc ebx
lea esi, [esi + 0x24]
pop ecx
pop ecx
cmp ebx, dword [edi + 0x5a00]
jl 0x10017791
call fcn.1005a913
push dword [edi + 0x5a0c]
push str.Settings_packed_data:_Windows:__d_bytes
push str.SettingsWindows
call fcn.10059e15
add esp, 0xc
test al, al
je 0x10017834
mov esi, dword [edi + 0x5a14]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x1001782f
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.1004ac42
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 0x100177e4
call fcn.1005a913
push dword [edi + 0x5a18]
push str.Settings_packed_data:_Tables:__d_bytes
push str.SettingsTables
call fcn.10059e15
add esp, 0xc
test al, al
je 0x1001788c
mov esi, dword [edi + 0x5a20]
lea eax, [esi + 4]
neg esi
sbb esi, esi
and esi, eax
je 0x10017887
mov ecx, esi
call fcn.1004988c
mov edx, dword [esi - 4]
mov eax, dword [edi + 0x5a18]
add edx, esi
add eax, 4
xor esi, esi
add eax, dword [edi + 0x5a20]
cmp edx, eax
cmovne esi, edx
test esi, esi
jne 0x10017861
call fcn.1005a913
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.10059e15
add esp, 0xc
test al, al
je 0x10017911
mov eax, dword [0x100c353c]
mov ecx, 0x100c3538
push 0
push 0
push 0x4004000
movss xmm0, dword [eax + 0x3bb4]
mov eax, dword [edi + 0x59fc]
test eax, eax
mulss xmm0, dword [0x100b1bb8]
cmovne ecx, eax
mov dword [esp + 0x78], 0x80800000
lea eax, [esp + 0x78]
xor edx, edx
push eax
push dword [edi + 0x59f4]
movss dword [esp + 0x84], xmm0
push ecx
mov ecx, str.Ini
call fcn.10053228
add esp, 0x18
call fcn.1005a913
call fcn.1005a913
mov ecx, str.Inputs
call fcn.10059e47
test al, al
je 0x10017fa2
push str.KEYBOARD_GAMEPAD_MOUSE_KEYS
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
push str.Keys_down:
call fcn.1004ac42
pop ecx
xor esi, esi
mov ebx, 0x8b
mov edi, str.__s___d
mov ecx, esi
call fcn.10018b27
test al, al
jne 0x100179cd
xor edx, edx
call fcn.1000e01c
test al, al
je 0x100179cd
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, esi
call fcn.1000dad2
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, ebx
cmova ecx, edi
push ecx
call fcn.1004ac42
movss xmm1, dword [0x100b1cc8]
add esp, 0xc
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, esi
call fcn.1000da98
push ecx
push ecx
movss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.__.02f_
call fcn.1004ac42
add esp, 0xc
inc esi
cmp esi, 0x28c
jl 0x10017952
push str.Keys_pressed:
call fcn.1004ac42
pop ecx
xor esi, esi
mov ecx, esi
call fcn.10018b27
test al, al
jne 0x10017a37
push 1
xor edx, edx
call fcn.1000e041
pop ecx
test al, al
je 0x10017a37
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, esi
call fcn.1000dad2
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, ebx
mov eax, str.__s___d
cmova ecx, eax
push ecx
call fcn.1004ac42
add esp, 0xc
inc esi
cmp esi, 0x28c
jl 0x100179e7
push str.Keys_released:
call fcn.1004ac42
pop ecx
xor esi, esi
mov edi, str.__s___d
mov ecx, esi
call fcn.10018b27
test al, al
jne 0x10017a98
call fcn.1000e0b2
test al, al
je 0x10017a98
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
mov ecx, esi
call fcn.1000dad2
push esi
push eax
lea eax, [esi - 0x200]
mov ecx, str.__s_
cmp eax, ebx
cmova ecx, edi
push ecx
call fcn.1004ac42
add esp, 0xc
inc esi
cmp esi, 0x28c
jl 0x10017a52
mov edi, dword [esp + 0x18]
mov ecx, 0x1009bdbe
mov eax, str.SUPER
cmp byte [edi + 0xdd3], 0
cmove eax, ecx
cmp byte [edi + 0xdd2], 0
push eax
mov eax, str.ALT
cmove eax, ecx
cmp byte [edi + 0xdd1], 0
push eax
mov eax, str.SHIFT
cmove eax, ecx
cmp byte [edi + 0xdd0], 0
push eax
mov eax, str.CTRL
cmove eax, ecx
push eax
push str.Keys_mods:__s_s_s_s
call fcn.1004ac42
add esp, 0x14
push str.Chars_queue:
call fcn.1004ac42
pop ecx
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x3770], ecx
jle 0x10017b63
mov eax, dword [edi + 0x3778]
xorps xmm0, xmm0
movss xmm1, dword [0x100b1cc8]
movzx ebx, word [eax + ecx*2]
call fcn.1000fae5
lea ecx, [ebx - 0x21]
movzx eax, bl
mov esi, ebx
mov ebx, 0xde
push 0x3f
pop edx
cmp cx, bx
push esi
cmovbe edx, eax
movsx eax, dl
push eax
push str._c__0x_04X_
call fcn.1004ac42
mov ecx, dword [esp + 0x1c]
add esp, 0xc
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [edi + 0x3770]
jl 0x10017b10
call fcn.1000d796
mov ecx, eax
call fcn.100161c3
xorps xmm0, xmm0
call fcn.1000fcab
push str.MOUSE_STATE
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
xor ecx, ecx
call fcn.1000e2a5
test al, al
je 0x10017bc8
movss xmm0, dword [edi + 0xdbc]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0xdb8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_pos:___g___g_
call fcn.1004ac42
add esp, 0x14
jmp 0x10017bd3
push str.Mouse_pos:__INVALID_
call fcn.1004ac42
pop ecx
movss xmm0, dword [edi + 0xb8]
sub esp, 0x10
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0xb4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Mouse_delta:___g___g_
call fcn.1004ac42
add esp, 0x14
push str.Mouse_down:
call fcn.1004ac42
pop ecx
xor esi, esi
lea ebx, [edi + 0x3728]
mov ecx, esi
call fcn.1000e0dc
test al, al
je 0x10017c4e
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
movss xmm0, dword [ebx]
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push esi
push str.b_d___.02f_secs_
call fcn.1004ac42
add esp, 0x10
inc esi
add ebx, 4
cmp esi, 5
jl 0x10017c17
push str.Mouse_clicked:
call fcn.1004ac42
pop ecx
xor esi, esi
lea ebx, [edi + 0x3702]
push 0
xor edx, edx
mov ecx, esi
call fcn.1000e102
pop ecx
test al, al
je 0x10017c9c
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
movzx eax, word [ebx]
push eax
push esi
push str.b_d___d_
call fcn.1004ac42
add esp, 0xc
inc esi
add ebx, 2
cmp esi, 5
jl 0x10017c6a
push str.Mouse_released:
call fcn.1004ac42
pop ecx
xor esi, esi
mov ecx, esi
call fcn.1000e16f
test al, al
je 0x10017cda
movss xmm1, dword [0x100b1cc8]
xorps xmm0, xmm0
call fcn.1000fae5
push esi
push 0x1009d81c
call fcn.1004ac42
pop ecx
pop ecx
inc esi
cmp esi, 5
jl 0x10017cb2
movss xmm0, dword [edi + 0xdc8]
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push str.Mouse_wheel:__.1f
call fcn.1004ac42
movss xmm0, dword [edi + 0x3764]
cvtps2pd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp], str.Pen_Pressure:__.1f
call fcn.1004ac42
add esp, 0xc
xorps xmm0, xmm0
call fcn.1000fcab
push str.MOUSE_WHEELING
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
mov eax, dword [edi + 0x3e38]
test eax, eax
je 0x10017d45
mov eax, dword [eax]
jmp 0x10017d4a
mov eax, str.NULL
push eax
push str.WheelingWindow:__s
call fcn.1004ac42
movss xmm0, dword [edi + 0x3e48]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.WheelingWindowReleaseTimer:__.2f
call fcn.1004ac42
movss xmm1, dword [edi + 0x3e54]
add esp, 0xc
movss xmm0, dword [edi + 0x3e58]
comiss xmm1, xmm0
jbe 0x10017d8e
mov eax, 0x1009c564
jmp 0x10017d9e
comiss xmm0, xmm1
mov eax, 0x1009c568
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.1004ac42
xorps xmm0, xmm0
call fcn.1000fcab
push str.KEY_OWNERS
call fcn.1004ac42
add esp, 0x1c
xorps xmm0, xmm0
call fcn.1000fc57
mov eax, dword [0x100c353c]
lea edx, [esp + 0x6c]
mov ecx, str.owners
mov dword [esp + 0x6c], 0x80800000
movss xmm0, dword [eax + 0x3bb4]
addss xmm0, dword [eax + 0x37e8]
mulss xmm0, dword [0x100b1b7c]
movss dword [esp + 0x70], xmm0
call fcn.1005b1bb
mov esi, 0x200
mov dword [esp + 0x14], esi
test al, al
je 0x10017e93
mov edi, 0x1009bdbe
mov ecx, esi
call fcn.100023cb
mov ebx, eax
or eax, 0xffffffff
cmp dword [ebx], eax
je 0x10017e77
cmp byte [ebx + 9], 0
je 0x10017e45
mov dword [esp + 0x10], str._LockUntilRelease
jmp 0x10017e55
cmp byte [ebx + 8], 0
mov eax, str._LockThisFrame
cmove eax, edi
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.1000dad2
push dword [esp + 0x10]
push dword [ebx]
push eax
push str._s:_0x_08X_s
call fcn.1004ac42
mov ecx, dword [ebx]
add esp, 0x10
call fcn.1001aa61
inc esi
cmp esi, 0x28c
jl 0x10017e25
call fcn.10008be5
call fcn.1001015e
mov edi, dword [esp + 0x18]
mov esi, 0x200
xorps xmm0, xmm0
call fcn.1000fcab
push str.SHORTCUT_ROUTING
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
mov eax, dword [0x100c353c]
lea edx, [esp + 0x6c]
mov ecx, str.routes
mov dword [esp + 0x6c], 0x80800000
movss xmm0, dword [eax + 0x3bb4]
addss xmm0, dword [eax + 0x37e8]
mulss xmm0, dword [0x100b1b7c]
movss dword [esp + 0x70], xmm0
call fcn.1005b1bb
test al, al
je 0x10017f7a
xor ebx, ebx
or ecx, 0xffffffff
mov dword [esp + 0x10], ebx
movzx eax, word [edi + ebx + 0x4540]
cmp ax, cx
je 0x10017f5c
mov ebx, dword [esp + 0x14]
movsx esi, ax
lea edx, [esp + 0xf0]
shl esi, 4
add esi, dword [edi + 0x4660]
push ecx
movzx ecx, word [esi + 2]
or ecx, ebx
call fcn.1000db25
pop ecx
push dword [esi + 8]
lea eax, [esp + 0xf4]
push eax
push str._s:_0x_08X
call fcn.1004ac42
mov ecx, dword [esi + 8]
add esp, 0xc
call fcn.1001aa61
movzx eax, word [esi]
or ecx, 0xffffffff
cmp ax, cx
jne 0x10017f09
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add ebx, 2
inc esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
cmp ebx, 0x118
jl 0x10017ef8
call fcn.10008be5
call fcn.1001015e
push dword [edi + 0x4670]
movzx eax, byte [edi + 0x4674]
push eax
push str._ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:_0x_X_
call fcn.1004ac42
add esp, 0xc
xorps xmm0, xmm0
call fcn.1000fcab
call fcn.1005a913
mov ecx, str.Internal_state
call fcn.10059e47
test al, al
je 0x10018289
push str.WINDOWING
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
mov eax, dword [edi + 0x3e2c]
mov ebx, str.NULL
test eax, eax
je 0x10017fda
mov eax, dword [eax]
jmp 0x10017fdc
mov eax, ebx
push eax
push str.HoveredWindow:__s
call fcn.1004ac42
mov eax, dword [edi + 0x3e2c]
pop ecx
pop ecx
test eax, eax
je 0x10017ffd
mov eax, dword [eax + 0x308]
mov eax, dword [eax]
jmp 0x10017fff
mov eax, ebx
push eax
push str.HoveredWindow__Root:__s
call fcn.1004ac42
mov eax, dword [edi + 0x3e30]
pop ecx
pop ecx
test eax, eax
je 0x1001801a
mov eax, dword [eax]
jmp 0x1001801c
mov eax, ebx
push eax
push str.HoveredWindowUnderMovingWindow:__s
call fcn.1004ac42
mov eax, dword [edi + 0x3e34]
pop ecx
pop ecx
test eax, eax
je 0x10018037
mov eax, dword [eax]
jmp 0x10018039
mov eax, ebx
push eax
push str.MovingWindow:__s
call fcn.1004ac42
xorps xmm0, xmm0
call fcn.1000fcab
push str.ITEMS
call fcn.1004ac42
add esp, 0xc
xorps xmm0, xmm0
call fcn.1000fc57
mov ecx, dword [edi + 0x3e94]
call fcn.1000f18e
movss xmm0, dword [edi + 0x3e7c]
push eax
movzx eax, byte [edi + 0x3e81]
push eax
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push dword [edi + 0x3e9c]
push dword [edi + 0x3e74]
push str.ActiveId:_0x_08X_0x_08X___.2f_sec___AllowOverlap:__d__Source:__s
call fcn.1004ac42
mov ecx, dword [edi + 0x3e74]
add esp, 0x1c
call fcn.1001aa61
mov eax, dword [edi + 0x3e90]
test eax, eax
je 0x100180b9
mov eax, dword [eax]
jmp 0x100180bb
mov eax, ebx
push eax
push str.ActiveIdWindow:__s
call fcn.1004ac42
push dword [edi + 0x4670]
movzx eax, byte [edi + 0x4674]
push eax
push str.ActiveIdUsing:_AllKeyboardKeys:__d__NavDirMask:__X
call fcn.1004ac42
movss xmm0, dword [edi + 0x3e6c]
add esp, 0x14
movzx eax, byte [edi + 0x3e68]
cvtps2pd xmm0, xmm0
push eax
push ecx
push ecx
movsd qword [esp], xmm0
push dword [edi + 0x3e64]
push str.HoveredId:_0x_08X___.2f_sec___AllowOverlap:__d
call fcn.1004ac42
movss xmm0, dword [edi + 0x4a64]
add esp, 4
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [edi + 0x4a60]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [edi + 0x4a58]
push str.HoverDelayId:_0x_08X__Timer:__.2f__ClearTimer:__.2f
call fcn.1004ac42
push dword [edi + 0x4944]
lea eax, [edi + 0x4954]
push eax
push dword [edi + 0x4948]
movzx eax, byte [edi + 0x4930]
push eax
push str.DragDrop:__d__SourceId__0x_08X__Payload___s____d_bytes_
call fcn.1004ac42
mov ecx, dword [edi + 0x4948]
add esp, 0x2c
call fcn.1001aa61
xorps xmm0, xmm0
call fcn.1000fcab
push str.NAV_FOCUS
call fcn.1004ac42
pop ecx
xorps xmm0, xmm0
call fcn.1000fc57
mov eax, dword [edi + 0x47a8]
test eax, eax
je 0x1001819b
mov eax, dword [eax]
jmp 0x1001819d
mov eax, ebx
push eax
push str.NavWindow:__s
call fcn.1004ac42
push dword [edi + 0x47e0]
push dword [edi + 0x47ac]
push str.NavId:_0x_08X__NavLayer:__d
call fcn.1004ac42
mov ecx, dword [edi + 0x47ac]
add esp, 0x14
call fcn.1001aa61
mov ecx, dword [edi + 0x47dc]
call fcn.1000f18e
push eax
push str.NavInputSource:__s
call fcn.1004ac42
movzx eax, byte [edi + 0x9a]
push eax
movzx eax, byte [edi + 0x99]
push eax
push str.NavActive:__d__NavVisible:__d
call fcn.1004ac42
add esp, 0x14
push dword [edi + 0x47c0]
push dword [edi + 0x47bc]
push dword [edi + 0x47b8]
push dword [edi + 0x47b4]
push str.NavActivateId_DownId_PressedId_InputId:__08X__08X__08X__08X
call fcn.1004ac42
add esp, 0x14
push dword [edi + 0x47c4]
push str.NavActivateFlags:__04X
call fcn.1004ac42
movzx eax, byte [edi + 0x47e7]
push eax
movzx eax, byte [edi + 0x47e6]
push eax
push str.NavDisableHighlight:__d__NavDisableMouseHover:__d
call fcn.1004ac42
add esp, 0x14
push dword [edi + 0x47b0]
push str.NavFocusScopeId__0x_08X
call fcn.1004ac42
mov eax, dword [edi + 0x4900]
pop ecx
pop ecx
test eax, eax
je 0x1001826f
mov ebx, dword [eax]
push ebx
push str.NavWindowingTarget:__s
call fcn.1004ac42
pop ecx
pop ecx
xorps xmm0, xmm0
call fcn.1000fcab
call fcn.1005a913
lea esi, [edi + 0x5aac]
cmp byte [esi + 2], 0
jne 0x1001829f
cmp byte [esi + 3], 0
je 0x100184df
xor ebx, ebx
mov dword [esp + 0x10], ebx
cmp dword [edi + 0x3de0], ebx
jle 0x100184df
mov eax, dword [edi + 0x3de8]
mov ebx, dword [eax + ebx*4]
cmp byte [ebx + 0xa7], 0
je 0x100184ca
call fcn.10006d52
cmp byte [esi + 2], 0
mov dword [esp + 0x30], eax
je 0x1001842e
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x1001831b
movss xmm1, dword [ebx + 0x10]
movss xmm0, dword [ebx + 0x14]
movss dword [esp + 0x7c], xmm1
addss xmm1, dword [ebx + 0x18]
movss dword [esp + 0x80], xmm0
addss xmm0, dword [ebx + 0x1c]
movss dword [esp + 0x84], xmm1
movss dword [esp + 0x88], xmm0
jmp 0x10018403
cmp ecx, 1
jne 0x1001833b
lea esi, [ebx + 0x1bc]
lea edi, [esp + 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
jmp 0x10018403
cmp ecx, 2
jne 0x10018348
lea esi, [ebx + 0x1cc]
jmp 0x10018326
cmp ecx, dword [esp + 0x28]
jne 0x10018356
lea esi, [ebx + 0x1dc]
jmp 0x10018326
cmp ecx, 4
jne 0x10018363
lea esi, [ebx + 0x1ec]
jmp 0x10018326
cmp ecx, 5
jne 0x100183b0
movss xmm3, dword [ebx + 0x1cc]
movss xmm2, dword [ebx + 0x1d0]
subss xmm3, dword [ebx + 0x74]
subss xmm2, dword [ebx + 0x78]
addss xmm3, dword [ebx + 0x40]
addss xmm2, dword [ebx + 0x44]
movaps xmm1, xmm3
addss xmm1, dword [ebx + 0x28]
movaps xmm0, xmm2
addss xmm0, dword [ebx + 0x2c]
movss dword [esp + 0x7c], xmm3
movss dword [esp + 0x80], xmm2
jmp 0x10018304
cmp ecx, 6
jne 0x100183eb
movss xmm3, dword [ebx + 0x1cc]
movss xmm2, dword [ebx + 0x1d0]
subss xmm3, dword [ebx + 0x74]
subss xmm2, dword [ebx + 0x78]
addss xmm3, dword [ebx + 0x40]
addss xmm2, dword [ebx + 0x44]
movaps xmm1, xmm3
addss xmm1, dword [ebx + 0x30]
movaps xmm0, xmm2
addss xmm0, dword [ebx + 0x34]
jmp 0x1001839c
cmp ecx, 7
jne 0x100183fb
lea esi, [ebx + 0x21c]
jmp 0x10018326
xorps xmm0, xmm0
movups xmmword [esp + 0x7c], xmm0
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
and dword [esp], 0
lea ecx, [esp + 0x90]
push 0xff8000ff
push ecx
lea ecx, [esp + 0x90]
push ecx
mov ecx, eax
call fcn.1003c3c8
cmp byte [esi + 3], 0
je 0x100184ca
test dword [ebx + 8], 0x1000000
jne 0x100184ca
movsx eax, word [ebx + 0xb8]
push eax
push 0x1009ce84
lea eax, [esp + 0xf8]
push 0x20
push eax
call fcn.10002ed3
mov eax, dword [0x100c353c]
lea esi, [ebx + 0x10]
add esp, 0x10
movss xmm1, dword [eax + 0x3bb4]
lea eax, [esp + 0x6c]
push 0
push ecx
and dword [esp], 0
movaps xmm0, xmm1
addss xmm0, dword [esi]
addss xmm1, dword [esi + 4]
mov ecx, dword [esp + 0x38]
push 0xff6464c8
push eax
push esi
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm1
call fcn.1003c4a2
push ecx
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0xf4]
push eax
or eax, 0xffffffff
push eax
push esi
call fcn.1003c8f7
lea esi, [edi + 0x5aac]
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [edi + 0x3de0]
jl 0x100182b1
cmp byte [esi + 4], 0
je 0x1001884b
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [edi + 0x49f0], eax
jle 0x1001884b
lea ecx, [edi + 0x49e4]
mov dword [esp + 0x30], ecx
push eax
call fcn.1001b4b8
mov ebx, eax
test ebx, ebx
je 0x10018836
mov ecx, dword [edi + 0x3dc8]
dec ecx
cmp dword [ebx + 0x50], ecx
jl 0x10018830
call fcn.10006d52
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
cmp esi, 6
jl 0x10018790
and dword [esp + 0x10], 0
cmp dword [ebx + 0x54], 0
jle 0x1001882a
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x20]
mov ecx, ebx
movsx edx, word [ebx + 0x60]
mov esi, dword [eax + 0xc]
call fcn.100023e9
mov ecx, eax
test esi, esi
jne 0x1001857e
lea esi, [ebx + 0xd0]
lea edi, [esp + 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
jmp 0x10018718
cmp esi, 1
jne 0x1001858b
lea esi, [ebx + 0xe0]
jmp 0x1001856d
cmp esi, 2
jne 0x10018598
lea esi, [ebx + 0xf0]
jmp 0x1001856d
cmp esi, dword [esp + 0x28]
jne 0x100185a6
lea esi, [ebx + 0x140]
jmp 0x1001856d
cmp esi, 4
jne 0x100185b3
lea esi, [ebx + 0x100]
jmp 0x1001856d
cmp esi, 5
jne 0x100185c0
lea esi, [ebx + 0x110]
jmp 0x1001856d
cmp esi, 6
jne 0x100185fd
mov eax, dword [ebx + 0x10]
movss xmm1, dword [ebx + 0x104]
movss dword [esp + 0x70], xmm1
addss xmm1, dword [ecx]
movss xmm0, dword [eax + edi + 8]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + edi + 0xc]
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x78], xmm1
jmp 0x10018718
cmp esi, 7
jne 0x1001863e
mov eax, dword [ebx + 0x10]
movss xmm0, dword [eax + edi + 0x34]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [ebx + 0xf4]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [eax + edi + 0x38]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [ebx + 0xfc]
movss dword [esp + 0x78], xmm0
jmp 0x10018718
cmp esi, 8
jne 0x10018650
mov esi, dword [ebx + 0x10]
add edi, 0x20
add esi, edi
jmp 0x1001856d
cmp esi, 9
jne 0x10018682
mov eax, dword [ebx + 0x10]
movss xmm0, dword [eax + edi + 0x34]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + edi + 0x48]
movss xmm1, dword [ebx + 0x104]
movss dword [esp + 0x70], xmm1
addss xmm1, dword [ecx + 4]
jmp 0x100185ec
cmp esi, 0xa
jne 0x1001869e
mov eax, dword [ebx + 0x10]
movss xmm0, dword [eax + edi + 0x34]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + edi + 0x4c]
jmp 0x1001866a
cmp esi, 0xb
jne 0x100186d0
mov eax, dword [ebx + 0x10]
movss xmm1, dword [ebx + 0x104]
movss dword [esp + 0x70], xmm1
addss xmm1, dword [ecx + 8]
movss xmm0, dword [eax + edi + 0x34]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + edi + 0x40]
jmp 0x100185ec
cmp esi, 0xc
jne 0x10018710
mov eax, dword [ebx + 0x10]
movss xmm0, dword [eax + edi + 0x34]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [ecx + 8]
addss xmm0, dword [ebx + 0x104]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [eax + edi + 0x44]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [ebx + 0x10c]
jmp 0x10018633
xorps xmm0, xmm0
movups xmmword [esp + 0x6c], xmm0
movsx eax, byte [ebx + 0x1b8]
mov ecx, 0xff8000ff
mov esi, dword [esp + 0x10]
mov edx, 0xff80ffff
cmp eax, esi
cmove ecx, edx
jne 0x1001873e
movss xmm0, dword [0x100b1b44]
jmp 0x10018746
movss xmm0, dword [0x100b1aa4]
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0x78]
push 0
push ecx
and dword [esp], 0
push ecx
mov ecx, dword [esp + 0x2c]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.1003c3c8
inc esi
add edi, 0x68
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
cmp esi, dword [ebx + 0x54]
jl 0x1001854f
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
jmp 0x10018836
movsx edx, word [ebx + 0x60]
mov ecx, ebx
call fcn.100023e9
test esi, esi
jne 0x100187b3
lea esi, [ebx + 0xd0]
lea edi, [esp + 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
jmp 0x100187fd
cmp esi, 1
jne 0x100187c0
lea esi, [ebx + 0xe0]
jmp 0x100187a5
cmp esi, 2
jne 0x100187cd
lea esi, [ebx + 0xf0]
jmp 0x100187a5
cmp esi, dword [esp + 0x28]
jne 0x100187db
lea esi, [ebx + 0x140]
jmp 0x100187a5
cmp esi, 4
jne 0x100187e8
lea esi, [ebx + 0x100]
jmp 0x100187a5
cmp esi, 5
jne 0x100187f5
lea esi, [ebx + 0x110]
jmp 0x100187a5
xorps xmm0, xmm0
movups xmmword [esp + 0x7c], xmm0
push ecx
mov dword [esp], 0x3f800000
lea eax, [esp + 0x88]
push 0
push ecx
and dword [esp], 0
mov ecx, dword [esp + 0x28]
push 0xff8000ff
push eax
lea eax, [esp + 0x90]
push eax
call fcn.1003c3c8
lea esi, [edi + 0x5aac]
lea ecx, [edi + 0x49e4]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [edi + 0x49f0]
jl 0x10018505
call fcn.1000cc53
mov ecx, dword [esp + 0x1b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10069b82
mov esp, ebp
pop ebp
ret