Function at 0x4566b0
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x4c900c]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, dword [0x4c9c24]
push esi
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
push edi
mov edi, ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], edi
cmp byte [edi + 0x1d6], 0
je 0x4566fe
push 0x2ea
push str.d:CProjectsSCUMSX2_srcimguiimgui_tables.cpp
push str.table__IsLayoutLocked__false
call esi
add esp, 0xc
mov eax, dword [edi + 4]
and eax, 0xe000
mov byte [edi + 0x1de], 1
mov dword [esp + 0x34], eax
xor eax, eax
mov word [edi + 0x1a6], ax
mov eax, dword [edi + 0x40]
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0x40]
add esp, 0xc
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0
push dword [edi + 0x28]
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [0x4c194c]
or eax, 0xffffffff
mov word [edi + 0x1bc], ax
xor ecx, ecx
mov eax, dword [esp + 0x54]
or edx, 0xffffffff
add esp, 0xc
mov dword [esp + 0x28], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0xc], edx
maxss xmm0, dword [eax + 0x37d4]
mov byte [esp + 0x60], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], 1
movss dword [edi + 0x88], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x3c], xmm0
cmp dword [edi + 0x40], ecx
jle 0x456ac7
nop dword [eax + eax]
mov eax, dword [edi + 0x18]
lea esi, [eax + ecx*2]
cmp esi, eax
jb 0x4567cf
cmp esi, dword [edi + 0x1c]
jb 0x4567eb
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
movzx eax, word [esi]
mov edx, eax
cwde
mov dword [esp + 0x6c], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
cmp eax, ecx
je 0x456808
mov byte [edi + 0x1de], 0
imul esi, eax, 0x70
add esi, dword [edi + 0x10]
mov dword [esp + 0x30], esi
cmp esi, dword [edi + 0x10]
jb 0x45681c
cmp esi, dword [edi + 0x14]
jb 0x456834
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movsx eax, word [edi + 0x1aa]
cmp eax, dword [esp + 0x2c]
jg 0x456864
push 0
mov edx, esi
mov ecx, edi
call fcn.00456490
add esp, 4
mov dword [esi + 0x30], 0
or eax, 0xffffffff
mov dword [esi + 0x1c], 0xbf800000
mov word [esi + 0x50], ax
test byte [edi + 4], 4
je 0x456874
test byte [esi], 0x80
jne 0x456874
mov al, byte [esi + 0x64]
jmp 0x45687a
mov byte [esi + 0x64], 1
mov al, 1
mov cl, byte [esi + 0x63]
cmp cl, al
je 0x45688e
mov byte [esi + 0x63], al
mov byte [edi + 0x1dd], 1
mov cl, byte [esi + 0x63]
test cl, cl
je 0x45689b
test byte [esi], 1
jne 0x45689b
mov al, 1
jmp 0x45689d
xor al, al
movzx edx, word [esi + 0x5a]
mov byte [esi + 0x62], al
mov ecx, edx
cmp dx, 0xffff
je 0x4568bb
test al, al
jne 0x4568bb
mov byte [edi + 0x1d9], 1
movzx ecx, word [esi + 0x5a]
test cx, cx
jle 0x4568d0
test dword [edi + 4], 0x4000000
jne 0x4568d0
mov byte [edi + 0x1d9], 1
test byte [esi], 0x10
xorps xmm0, xmm0
je 0x4568de
comiss xmm0, dword [esi + 0x10]
jmp 0x4568e2
comiss xmm0, dword [esi + 0x18]
seta al
test al, al
je 0x4568ef
mov word [esi + 0x6b], 0x707
cmp byte [esi + 0x62], 0
jne 0x456903
mov eax, 0xffffffff
mov word [esi + 0x54], ax
jmp 0x456aab
mov ecx, dword [esp + 0xc]
or eax, 0xffffffff
mov word [esi + 0x56], cx
mov word [esi + 0x58], ax
cmp ecx, eax
je 0x456950
imul ecx, ecx, 0x70
add ecx, dword [edi + 0x10]
mov dword [esp + 0xc], ecx
cmp ecx, dword [edi + 0x10]
jb 0x45692a
cmp ecx, dword [edi + 0x14]
jb 0x456946
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov word [ecx + 0x58], ax
jmp 0x45695b
mov eax, dword [esp + 0x4c]
mov word [edi + 0x1bc], ax
movzx eax, word [edi + 0x1a6]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov word [esi + 0x54], ax
and ecx, 0x1f
mov esi, dword [edi + 0x2c]
inc word [edi + 0x1a6]
sar edx, 5
mov eax, dword [esi + edx*4]
bts eax, ecx
mov dword [esi + edx*4], eax
mov eax, dword [esp + 0x30]
mov edx, dword [edi + 0x28]
movsx esi, word [eax + 0x52]
mov ecx, esi
and esi, 0x1f
sar ecx, 5
mov eax, dword [edx + ecx*4]
bts eax, esi
mov esi, dword [esp + 0x30]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
movzx eax, word [esi + 0x54]
cmp ax, word [esi + 0x52]
jle 0x4569d1
push 0x334
push str.d:CProjectsSCUMSX2_srcimguiimgui_tables.cpp
push str.column__IndexWithinEnabledSet___column__DisplayOrder
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [esi + 0x69], 0
mov ecx, dword [esi]
jne 0x456a30
movss xmm1, dword [esi + 0x40]
movss xmm2, dword [esi + 0x34]
maxss xmm1, dword [esi + 0x44]
subss xmm1, xmm2
test ecx, 0x2000
jne 0x456a01
movss xmm0, dword [esi + 0x4c]
subss xmm0, xmm2
maxss xmm1, xmm0
xorps xmm2, xmm2
test cl, 0x10
je 0x456a21
movss xmm0, dword [esi + 0x1c]
comiss xmm0, xmm2
jbe 0x456a21
test byte [edi + 4], 1
je 0x456a1e
test cl, 0x20
je 0x456a21
movaps xmm1, xmm0
maxss xmm1, dword [edi + 0x88]
movss dword [esi + 0x14], xmm1
jmp 0x456a33
xorps xmm2, xmm2
mov edx, dword [esp + 0x64]
mov eax, ecx
shr eax, 5
not al
movzx edx, dl
and al, 1
cmovne edx, dword [esp + 0x20]
mov dword [esp + 0x64], edx
test cl, 0x10
je 0x456a64
movss xmm0, dword [esi + 0x1c]
comiss xmm0, xmm2
jbe 0x456a64
test al, al
jne 0x456a64
movss dword [esi + 0x14], xmm0
mov eax, dword [esp + 0x60]
mov edx, 1
cmp byte [esi + 0x6b], 0
movss xmm0, dword [esi + 0x14]
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x60], eax
test cl, 8
je 0x456a97
addss xmm0, dword [esp + 0x40]
inc dword [esp + 0x44]
movss dword [esp + 0x40], xmm0
jmp 0x456aab
movss xmm1, dword [esp + 0x3c]
inc dword [esp + 0x28]
maxss xmm1, xmm0
movss dword [esp + 0x3c], xmm1
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [edi + 0x40]
jl 0x4567c0
mov edx, dword [esp + 0xc]
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [edi + 4]
test al, 8
je 0x456ae6
cmp word [edi + 0x1a4], 0
jne 0x456ae6
test eax, 0x8000000
jne 0x456ae6
mov byte [edi + 0x1d9], 1
cmp word [edi + 0x1bc], 0
movzx eax, dx
mov word [edi + 0x1be], ax
jl 0x456aff
test ax, ax
jns 0x456b13
push 0x352
push str.d:CProjectsSCUMSX2_srcimguiimgui_tables.cpp
push str.table__LeftMostEnabledColumn___0__table__RightMostEnabledColumn___0
call esi
add esp, 0xc
cmp byte [esp + 0x60], 0
je 0x456b36
mov eax, dword [edi + 0x150]
cmp dword [edi + 0x14c], eax
je 0x456b2f
mov byte [eax + 0xab], 0
mov byte [edi + 0x1dd], 1
mov ecx, dword [edi + 0x40]
or eax, 0xffffffff
mov word [edi + 0x1c2], ax
xorps xmm2, xmm2
mov word [edi + 0x1c0], ax
xorps xmm5, xmm5
xor eax, eax
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x2c], xmm5
xorps xmm3, xmm3
mov dword [esp + 0xc], eax
test ecx, ecx
jle 0x456da1
xor esi, esi
mov dword [esp + 0x30], esi
mov ecx, eax
mov edx, 1
and ecx, 0x1f
shl edx, cl
mov ecx, eax
mov eax, dword [edi + 0x2c]
sar ecx, 5
test dword [eax + ecx*4], edx
je 0x456d86
add esi, dword [edi + 0x10]
cmp esi, dword [edi + 0x10]
jb 0x456b9d
cmp esi, dword [edi + 0x14]
jb 0x456bc4
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm2, dword [esp + 0x1c]
add esp, 0xc
movss xmm5, dword [esp + 0x2c]
xorps xmm3, xmm3
mov eax, dword [esi]
mov ecx, eax
shr ecx, 5
not cl
and cl, 1
test al, 0x10
je 0x456c4c
cmp dword [esp + 0x34], 0x4000
movss xmm1, dword [esi + 0x14]
jne 0x456bf3
cmp byte [esi + 0x6b], 0
jne 0x456bed
test cl, cl
jne 0x456bf3
movss xmm1, dword [esp + 0x3c]
mov al, byte [esi + 0x6b]
test al, al
je 0x456c34
movss dword [esi + 0x10], xmm1
cmp al, 1
jbe 0x456c42
cmp byte [edi + 0x1d8], 0
je 0x456c42
cmp byte [esi + 0x69], 0
jne 0x456c42
movss xmm0, dword [edi + 0x88]
mulss xmm0, dword [0x4c19d4]
maxss xmm1, xmm0
movss dword [esi + 0x10], xmm1
addss xmm2, xmm1
jmp 0x456d5f
test cl, cl
jne 0x456c42
cmp byte [esi + 0x67], cl
je 0x456c42
movss dword [esi + 0x10], xmm1
addss xmm2, dword [esi + 0x10]
jmp 0x456d5f
cmp byte [esi + 0x6b], 0
jne 0x456c60
movss xmm1, dword [esi + 0x18]
comiss xmm3, xmm1
ja 0x456c60
test cl, cl
jne 0x456ca9
movss xmm1, dword [esi + 0x1c]
comiss xmm1, xmm3
jbe 0x456c71
movss dword [esi + 0x18], xmm1
jmp 0x456ca9
cmp dword [esp + 0x34], 0x6000
jne 0x456c9a
movss xmm1, dword [esi + 0x14]
divss xmm1, dword [esp + 0x40]
movd xmm0, dword [esp + 0x44]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [esi + 0x18], xmm1
jmp 0x456ca9
movss xmm1, dword [0x4c194c]
mov dword [esi + 0x18], 0x3f800000
movzx eax, word [edi + 0x1c0]
addss xmm1, xmm5
movss dword [esp + 0x2c], xmm1
cmp ax, 0xffff
je 0x456cfb
cwde
imul eax, eax, 0x70
add eax, dword [edi + 0x10]
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0x10]
jb 0x456cd5
cmp eax, dword [edi + 0x14]
jb 0x456cf1
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ax, word [eax + 0x52]
cmp ax, word [esi + 0x52]
jle 0x456d06
mov eax, dword [esp + 0xc]
mov word [edi + 0x1c0], ax
movzx eax, word [edi + 0x1c2]
cmp ax, 0xffff
je 0x456d4e
cwde
imul eax, eax, 0x70
add eax, dword [edi + 0x10]
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0x10]
jb 0x456d28
cmp eax, dword [edi + 0x14]
jb 0x456d44
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ax, word [eax + 0x52]
cmp ax, word [esi + 0x52]
jge 0x456d59
mov eax, dword [esp + 0xc]
mov word [edi + 0x1c2], ax
movss xmm2, dword [esp + 0x10]
movss xmm5, dword [esp + 0x2c]
xorps xmm3, xmm3
mov byte [esi + 0x69], 0
movss xmm0, dword [edi + 0x90]
mov esi, dword [esp + 0x30]
addss xmm0, xmm0
addss xmm2, xmm0
movss dword [esp + 0x10], xmm2
mov eax, dword [esp + 0xc]
add esi, 0x70
mov ecx, dword [edi + 0x40]
inc eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], esi
cmp eax, ecx
jl 0x456b73
cmp byte [edi + 0x1e4], 0
movsx esi, word [edi + 0x1a6]
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [edi + 0xdc]
mov word [edi + 0x1a8], ax
movss xmm1, dword [edi + 0x8c]
lea eax, [esi - 1]
movups xmmword [esp + 0x70], xmm0
movss xmm0, dword [edi + 0x98]
addss xmm1, xmm1
addss xmm0, dword [edi + 0x9c]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [edi + 0xac], xmm5
mulss xmm4, xmm0
addss xmm4, xmm1
je 0x456e1b
mov eax, dword [edi + 0x150]
cmp byte [eax + 0xa5], 0
jne 0x456e1b
mov eax, dword [esp + 0x48]
movss xmm1, dword [eax + 0x380c]
jmp 0x456e1e
movaps xmm1, xmm3
mov edx, dword [edi + 4]
test edx, 0x1000000
je 0x456e4c
movss xmm0, dword [edi + 0xa0]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x456e4c
movss xmm0, dword [edi + 0xf4]
subss xmm0, dword [edi + 0xec]
jmp 0x456e58
movss xmm0, dword [esp + 0x78]
subss xmm0, dword [esp + 0x70]
movss xmm3, dword [0x4c194c]
subss xmm0, xmm1
movss xmm1, dword [edi + 0x90]
xor eax, eax
mov dword [esp + 0x34], eax
addss xmm1, xmm1
maxss xmm3, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
subss xmm3, xmm4
mulss xmm1, xmm0
subss xmm3, xmm2
addss xmm1, xmm4
movss dword [esp + 0x20], xmm3
movaps xmm2, xmm3
movss dword [esp + 0xc], xmm2
movss dword [edi + 0xa4], xmm1
test ecx, ecx
jle 0x456fb0
xor esi, esi
mov dword [esp + 0x30], esi
mov ecx, eax
mov edx, 1
and ecx, 0x1f
shl edx, cl
mov ecx, eax
mov eax, dword [edi + 0x2c]
sar ecx, 5
test dword [eax + ecx*4], edx
je 0x456f92
add esi, dword [edi + 0x10]
cmp esi, dword [edi + 0x10]
jb 0x456ee0
cmp esi, dword [edi + 0x14]
jb 0x456f0a
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm2, dword [esp + 0x18]
add esp, 0xc
movss xmm3, dword [esp + 0x20]
movss xmm5, dword [esp + 0x2c]
mov ecx, dword [esi]
test cl, 8
je 0x456f48
movss xmm0, dword [esi + 0x18]
divss xmm0, xmm5
mulss xmm0, xmm3
maxss xmm0, dword [edi + 0x88]
addss xmm0, dword [0x4c1890]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movss dword [esi + 0x10], xmm0
movss dword [esp + 0xc], xmm2
cmp word [esi + 0x58], 0xffff
jne 0x456f61
cmp word [edi + 0x1c0], 0xffff
je 0x456f61
or ecx, 0x40000000
mov dword [esi], ecx
movss xmm0, dword [esi + 0x10]
maxss xmm0, dword [edi + 0x88]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 4], xmm0
addss xmm0, dword [edi + 0xa4]
mov esi, dword [esp + 0x30]
movss dword [edi + 0xa4], xmm0
mov eax, dword [esp + 0x34]
add esi, 0x70
mov ecx, dword [edi + 0x40]
inc eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], esi
cmp eax, ecx
jl 0x456eb6
mov edx, dword [edi + 4]
movss xmm1, dword [0x4c194c]
comiss xmm2, xmm1
jb 0x4570ac
test edx, 0x80000
jne 0x4570ac
comiss xmm5, dword [0x4c1864]
lea eax, [ecx - 1]
mov dword [esp + 0x28], eax
jbe 0x4570ac
comiss xmm2, xmm1
jb 0x4570ac
test eax, eax
js 0x4570ac
mov ecx, eax
mov edx, 1
and ecx, 0x1f
shl edx, cl
mov ecx, eax
mov eax, dword [edi + 0x28]
sar ecx, 5
test dword [eax + ecx*4], edx
je 0x45709e
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x28]
lea esi, [eax + ecx*2]
cmp esi, eax
jb 0x457022
cmp esi, dword [edi + 0x1c]
jb 0x45703a
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movsx eax, word [esi]
imul esi, eax, 0x70
add esi, dword [edi + 0x10]
cmp esi, dword [edi + 0x10]
jb 0x45704d
cmp esi, dword [edi + 0x14]
jb 0x457065
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
test byte [esi], 8
movss xmm1, dword [0x4c194c]
movss xmm2, dword [esp + 0xc]
je 0x45709e
movss xmm0, dword [esi + 0x10]
subss xmm2, xmm1
addss xmm0, xmm1
movss dword [esp + 0xc], xmm2
movss dword [esi + 0x10], xmm0
movss xmm0, dword [esi + 4]
addss xmm0, xmm1
movss dword [esi + 4], xmm0
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x28], eax
jmp 0x456fe1
movsx esi, word [edi + 0x4c]
test esi, esi
jne 0x4570d0
lea eax, [edi + 0x170]
mov dword [esp + 0x3c], eax
lea eax, [edi + 0x16c]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x168]
jmp 0x457115
cmp esi, 1
jl 0x4570dd
cmp esi, dword [edi + 0x174]
jle 0x4570f5
push 0x6fe
push str.d:CProjectsSCUMSX2_srcimguiimgui.h
push str.i___0__i___Size
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [edi + 0x17c]
shl esi, 4
lea ecx, [eax - 4]
add ecx, esi
mov dword [esp + 0x3c], ecx
lea ecx, [eax - 8]
add ecx, esi
add eax, 0xfffffff4
mov dword [esp + 0x34], ecx
add eax, esi
movss xmm1, dword [edi + 0xc0]
or ecx, 0xffffffff
movss xmm0, dword [edi + 0xbc]
xor edx, edx
mov word [edi + 0x1ac], cx
mov word [edi + 0x1ae], cx
lea ecx, [esp + 0x50]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edi + 0xc4]
movss dword [esp + 0x54], xmm1
addss xmm1, dword [eax]
mov eax, dword [esp + 0x48]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 0xc8]
mov esi, dword [eax + 0x3e84]
maxss xmm0, xmm1
mov dword [eax + 0x3e84], 0
movss dword [esp + 0x5c], xmm0
call fcn.0042adc0
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], 0
mov dword [eax + 0x3e84], esi
movzx ecx, word [edi + 0x1cc]
test cx, cx
setg byte [esp + 0x26]
test cx, cx
jle 0x4571b9
movss xmm0, dword [edi + 0xbc]
jmp 0x4571bf
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [edi + 0x8c]
mov eax, dword [edi + 0x40]
add eax, 0x1f
sar eax, 5
shl eax, 2
subss xmm0, dword [edi + 0x98]
push eax
push 0
push dword [edi + 0x30]
movss dword [esp + 0x18], xmm0
movups xmm0, xmmword [edi + 0xec]
movups xmmword [esp + 0x5c], xmm0
call sub.VCRUNTIME140.dll_memset
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x40], ecx
cmp dword [edi + 0x40], ecx
jle 0x45764a
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x10], xmm0
mov eax, dword [edi + 0x18]
lea esi, [eax + ecx*2]
cmp esi, eax
jb 0x457225
cmp esi, dword [edi + 0x1c]
jb 0x45723d
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movzx eax, word [esi]
mov ecx, eax
mov dword [esp + 0x20], ecx
movsx ecx, ax
imul esi, ecx, 0x70
mov dword [esp + 0x28], ecx
add esi, dword [edi + 0x10]
mov dword [esp + 0x4c], esi
cmp esi, dword [edi + 0x10]
jb 0x457261
cmp esi, dword [edi + 0x14]
jb 0x457279
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp word [edi + 0x1c8], 0
movss xmm2, dword [esp + 0xc]
setg al
cmp byte [esp + 0x26], 0
mov byte [esi + 0x6a], al
je 0x4572be
movsx eax, word [edi + 0x1cc]
cmp eax, dword [esp + 0x44]
jne 0x4572be
movss xmm0, dword [esp + 0x70]
subss xmm0, dword [edi + 0xbc]
mov byte [esp + 0x26], 0
addss xmm2, xmm0
movss dword [esp + 0xc], xmm2
mov ecx, dword [esp + 0x40]
mov edx, 1
and dword [esi], 0xf0ffffff
and ecx, 0x1f
mov eax, dword [edi + 0x28]
shl edx, cl
mov ecx, dword [esp + 0x40]
sar ecx, 5
test dword [eax + ecx*4], edx
jne 0x4573a6
movss xmm0, dword [esp + 0x74]
movss xmm5, dword [esp + 0x54]
comiss xmm5, xmm0
mov dword [esi + 4], 0
mov dword [esi + 0x2c], 0x7f7fffff
movss xmm6, dword [esp + 0x5c]
movss dword [esi + 0x28], xmm2
movss dword [esi + 0x20], xmm2
movss dword [esi + 0x34], xmm2
movss dword [esi + 0xc], xmm2
movss dword [esi + 8], xmm2
movss dword [esi + 0x24], xmm0
jbe 0x45732d
movaps xmm1, xmm5
jmp 0x457334
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm4, dword [esp + 0x10]
comiss xmm4, xmm2
movss xmm3, dword [esp + 0x58]
jbe 0x45734a
movaps xmm0, xmm4
jmp 0x457351
movaps xmm0, xmm3
minss xmm0, xmm2
movss dword [esi + 0x20], xmm0
movss dword [esi + 0x24], xmm1
movss xmm0, dword [esi + 0x2c]
comiss xmm5, xmm0
jbe 0x45736a
movaps xmm1, xmm5
jmp 0x457371
movaps xmm1, xmm6
minss xmm1, xmm0
comiss xmm4, xmm2
jbe 0x45737b
movaps xmm0, xmm4
jmp 0x457382
movaps xmm0, xmm3
minss xmm0, xmm2
movss dword [esi + 0x28], xmm0
movss dword [esi + 0x2c], xmm1
mov word [esi + 0x66], 0
mov byte [esi + 0x65], 0
mov byte [esi + 0x68], 1
mov dword [esi + 0x3c], 0x3f800000
jmp 0x457638
cmp byte [esp + 0x27], 0
je 0x4573d4
mov eax, dword [esp + 0x48]
movss xmm1, dword [eax + 0xdb8]
comiss xmm1, dword [esi + 0x20]
jb 0x4573d4
movss xmm0, dword [esi + 0x28]
comiss xmm0, xmm1
jbe 0x4573d4
mov eax, dword [esp + 0x20]
mov word [edi + 0x1ac], ax
mov edx, dword [esp + 0x28]
mov ecx, edi
movss dword [esi + 8], xmm2
call fcn.00459f10
movss xmm2, dword [esi + 4]
minss xmm2, xmm0
movss xmm3, dword [esp + 0xc]
movss xmm0, dword [esi + 0x10]
movss xmm4, dword [esi + 8]
movss xmm5, dword [esp + 0x54]
movss xmm7, dword [esp + 0x5c]
movss dword [esi + 4], xmm2
minss xmm0, dword [edi + 0x88]
maxss xmm2, xmm0
movaps xmm1, xmm2
movss dword [esi + 4], xmm2
movss xmm0, dword [edi + 0x90]
addss xmm1, xmm3
addss xmm0, xmm0
mulss xmm2, dword [0x4c190c]
addss xmm1, dword [edi + 0x98]
cvttss2si eax, xmm2
addss xmm1, dword [edi + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm4
movss dword [esi + 0xc], xmm1
addss xmm0, dword [edi + 0x90]
addss xmm0, dword [edi + 0x98]
movss dword [esi + 0x34], xmm0
movaps xmm0, xmm1
subss xmm0, dword [edi + 0x90]
subss xmm0, dword [edi + 0x9c]
movss dword [esi + 0x20], xmm4
movss dword [esi + 0x28], xmm1
mov dword [esi + 0x2c], 0x7f7fffff
movss dword [esi + 0x38], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x3c], xmm0
movss xmm0, dword [esp + 0x74]
comiss xmm5, xmm0
movss dword [esi + 0x24], xmm0
jbe 0x4574b9
movaps xmm1, xmm5
jmp 0x4574c0
movaps xmm1, xmm7
minss xmm1, xmm0
movss xmm2, dword [esp + 0x10]
comiss xmm2, xmm4
movss xmm6, dword [esp + 0x58]
jbe 0x4574d6
movaps xmm0, xmm2
jmp 0x4574dd
movaps xmm0, xmm6
minss xmm0, xmm4
movss dword [esi + 0x20], xmm0
movss dword [esi + 0x24], xmm1
movss xmm0, dword [esi + 0x2c]
comiss xmm5, xmm0
jbe 0x4574f6
movaps xmm1, xmm5
jmp 0x4574fd
movaps xmm1, xmm7
minss xmm1, xmm0
movss xmm4, dword [esi + 0x28]
comiss xmm2, xmm4
jbe 0x45750c
movaps xmm0, xmm2
jmp 0x457513
movaps xmm0, xmm6
minss xmm0, xmm4
movss dword [esi + 0x28], xmm0
movss dword [esi + 0x2c], xmm1
comiss xmm0, dword [esi + 0x20]
mov byte [esi + 0x66], 1
seta al
mov byte [esp + 0x3b], al
mov byte [esi + 0x65], al
test al, al
je 0x4577ea
mov esi, dword [edi + 0x30]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
sar edx, 5
and ecx, 0x1f
mov eax, dword [esi + edx*4]
bts eax, ecx
mov dword [esi + edx*4], eax
mov esi, dword [esp + 0x4c]
mov al, byte [esp + 0x3b]
mov cl, 1
cmp byte [esi + 0x62], 0
mov byte [esi + 0x67], cl
je 0x457805
cmp byte [edi + 0x1e6], 0
jne 0x457805
mov byte [esi + 0x68], 0
mov ecx, dword [esi]
or ecx, 0x1000000
mov dword [esi], ecx
test al, al
je 0x45758f
or ecx, 0x2000000
mov dword [esi], ecx
cmp word [esi + 0x5a], 0xffff
je 0x45759e
or ecx, 0x4000000
mov dword [esi], ecx
movsx eax, word [edi + 0x1ac]
cmp eax, dword [esp + 0x28]
jne 0x4575b3
or ecx, 0x8000000
mov dword [esi], ecx
movss xmm0, dword [esi + 0x34]
shufps xmm0, xmm0, 0
movups xmmword [esi + 0x40], xmm0
cmp byte [edi + 0x1e6], 0
jne 0x4575cf
shr byte [esi + 0x6b], 1
shr byte [esi + 0x6c], 1
movsx eax, word [edi + 0x1cc]
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jge 0x457604
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x4c194c]
comiss xmm2, xmm0
ja 0x457604
movss xmm1, dword [esp + 0x58]
comiss xmm0, xmm1
jbe 0x4575fe
movaps xmm0, xmm1
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x98]
inc ecx
addss xmm0, dword [esi + 4]
movss xmm1, dword [edi + 0x90]
addss xmm1, xmm1
mov dword [esp + 0x44], ecx
addss xmm0, dword [edi + 0x9c]
addss xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0xc], xmm0
mov ecx, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x40], ecx
cmp ecx, dword [edi + 0x40]
jl 0x457216
movsx eax, word [edi + 0x1be]
imul esi, eax, 0x70
add esi, dword [edi + 0x10]
cmp esi, dword [edi + 0x10]
jb 0x457661
cmp esi, dword [edi + 0x14]
jb 0x457679
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [esp + 0x27], 0
movss xmm1, dword [edi + 0xdc]
maxss xmm1, dword [esi + 0x28]
je 0x4576b3
cmp word [edi + 0x1ac], 0xffff
jne 0x4576b3
mov eax, dword [esp + 0x48]
movss xmm0, dword [eax + 0xdb8]
comiss xmm0, xmm1
jb 0x4576b3
mov ax, word [edi + 0x40]
mov word [edi + 0x1ac], ax
cmp byte [esp + 0x64], 0
jne 0x4576c7
mov eax, dword [edi + 4]
test al, 1
je 0x4576c7
and eax, 0xfffffffe
mov dword [edi + 4], eax
cmp word [edi + 0x1c2], 0xffff
je 0x4576d8
and dword [edi + 4], 0xfffeffff
mov eax, dword [edi + 4]
test eax, 0x10000
je 0x457706
movss xmm0, dword [edi + 0xf4]
minss xmm0, xmm1
movss dword [edi + 0xe4], xmm1
movss dword [edi + 0xc4], xmm1
movss dword [edi + 0xf4], xmm0
mov eax, dword [edi + 0x150]
mov ecx, edi
movups xmm0, xmmword [edi + 0xdc]
movups xmmword [eax + 0x1fc], xmm0
mov eax, dword [edi + 0xec]
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0xf4]
mov dword [edi + 0x80], eax
call fcn.0045a420
test byte [edi + 4], 1
je 0x457743
mov ecx, edi
call fcn.00457a30
mov eax, dword [esp + 0x34]
mov dword [eax], 0
cmp byte [edi + 0x1db], 0
mov byte [edi + 0x1d6], 1
mov byte [edi + 0x1da], 0
je 0x457888
mov ax, word [edi + 0x4c]
cmp ax, word [edi + 0x4e]
jne 0x457888
mov eax, dword [edi]
mov esi, 0x4bdde5
mov edi, eax
mov al, 0x23
not edi
mov edx, edi
cmp al, 0x23
jne 0x457793
cmp byte [esi], al
jne 0x457793
cmp byte [esi + 1], al
cmove edx, edi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x4afba0]
test al, al
jne 0x457785
mov eax, dword [0x4c9c24]
not edx
mov dword [esp + 0x20], edx
xor edx, edx
mov esi, dword [esp + 0x20]
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.00438b00
mov edi, dword [esp + 0x68]
test al, al
jne 0x457842
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x46e8], 0
mov byte [edi + 0x1db], 0
jmp 0x457888
cmp byte [esi + 0x6b], 0
jne 0x457559
cmp byte [esi + 0x6c], 0
jne 0x457559
xor cl, cl
jmp 0x45755b
mov byte [esi + 0x68], 1
test al, al
je 0x457579
push 0x42a
push str.d:CProjectsSCUMSX2_srcimguiimgui_tables.cpp
push str._is_visible
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esi]
add esp, 0xc
movss xmm3, dword [esp + 0xc]
or ecx, 0x1000000
movss xmm2, dword [esp + 0x10]
jmp 0x457587
push esi
push str.Popup__08x
lea eax, [esp + 0x78]
push 0x14
push eax
call fcn.004257e0
push 0x4000141
xor edx, edx
lea ecx, [esp + 0x84]
call fcn.004310c0
add esp, 0x14
test al, al
jne 0x45787c
call fcn.00439500
mov byte [edi + 0x1db], 0
jmp 0x457888
mov ecx, edi
call fcn.0045d010
call fcn.00439500
cmp byte [edi + 0x1d9], 0
je 0x45789e
test byte [edi + 4], 8
je 0x45789e
mov ecx, edi
call fcn.0045bf10
movzx eax, word [edi + 0x1ca]
test ax, ax
jle 0x457918
mov ecx, dword [edi + 0x18]
cwde
lea esi, [eax - 1]
lea esi, [ecx + esi*2]
cmp esi, ecx
jb 0x4578bd
cmp esi, dword [edi + 0x1c]
jb 0x4578d5
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movsx eax, word [esi]
imul esi, eax, 0x70
add esi, dword [edi + 0x10]
cmp esi, dword [edi + 0x10]
jb 0x4578e8
cmp esi, dword [edi + 0x14]
jb 0x457900
push 0x25e
push str.d:CProjectsSCUMSX2_srcimguiimgui_internal.h
push str.p___Data__p___DataEnd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
movss xmm0, dword [esi + 0xc]
subss xmm0, dword [edi + 0xbc]
mov eax, dword [edi + 0x150]
movss dword [eax + 0x60], xmm0
cmp word [edi + 0x1c6], 0
mov edx, dword [esp + 0x3c]
jle 0x457931
mov ecx, dword [edi + 0x150]
mov eax, dword [edx]
mov dword [ecx + 0x64], eax
mov dword [edx], 0
test dword [edi + 4], 0x100000
mov eax, dword [edi + 0x150]
mov edx, dword [eax + 0x260]
mov dword [esp + 0x68], edx
je 0x457972
mov ecx, dword [edi + 0x160]
push 2
push edx
call fcn.0044c920
pop edi
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret
movss xmm2, dword [eax + 0x20c]
movss xmm0, dword [eax + 0x214]
comiss xmm2, xmm0
movss xmm1, dword [eax + 0x210]
movss xmm3, dword [eax + 0x218]
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x7c], xmm3
jb 0x4579b5
movss dword [esp + 0x78], xmm2
comiss xmm1, xmm3
jb 0x4579c0
movss dword [esp + 0x7c], xmm1
mov ecx, dword [edx + 0x3c]
lea esi, [edx + 0x3c]
mov edi, dword [esi + 4]
cmp ecx, edi
jne 0x4579f5
inc ecx
test edi, edi
je 0x4579dd
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x4579e2
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00441000
mov ecx, dword [esi]
mov edx, dword [esp + 0x68]
mov eax, dword [esi + 8]
add ecx, ecx
movaps xmm0, xmmword [esp + 0x70]
movups xmmword [eax + ecx*8], xmm0
inc dword [esi]
mov ecx, edx
movups xmmword [edx + 0x60], xmm0
call fcn.00449150
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret