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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
mov eax, dword [0x4c900c]
xor eax, esp
mov dword [esp + 0xf4], eax
push esi
push edi
mov edi, dword [0x4c9c24]
mov dword [esp + 0x20], edx
mov edx, ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x40], edx
mov eax, dword [edi + 0x3e38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x58], edi
mov byte [eax + 0xa8], 1
mov eax, dword [edi + 0x3e38]
mov dword [esp + 0x18], eax
cmp byte [eax + 0xab], 0
je 0x46bd3d
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret
test byte [edi + 0x4698], 1
movss xmm2, dword [edi + 0x37d8]
addss xmm2, xmm2
addss xmm2, dword [edi + 0x3bc8]
movss dword [esp + 0x68], xmm2
je 0x46bd6a
movss xmm0, dword [edi + 0x469c]
jmp 0x46bd72
movss xmm0, dword [eax + 0x19c]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x46bdb7
cmp dword [eax + 0x18c], 0
movss xmm1, dword [eax + 0x224]
jne 0x46bd94
cmp dword [edi + 0x49e0], 0
je 0x46bd9c
movss xmm1, dword [eax + 0x1f4]
subss xmm1, dword [eax + 0xec]
addss xmm1, xmm0
movss xmm0, dword [0x4c194c]
maxss xmm0, xmm1
xorps xmm1, xmm1
cvttss2si esi, xmm0
mov dword [esp + 0x28], esi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
test cl, 0x10
jne 0x46bdd6
movaps xmm1, xmm2
addss xmm1, dword [edi + 0x37ec]
movss dword [esp + 0x38], xmm1
subss xmm0, xmm1
mov dword [esp + 0x3c], edx
mov ecx, edx
movss dword [esp + 0x48], xmm0
cmp edx, 0xffffffff
jae 0x46be0a
mov al, byte [ecx]
test al, al
je 0x46be06
cmp al, 0x23
jne 0x46be00
cmp byte [ecx + 1], al
je 0x46be06
inc ecx
cmp ecx, 0xffffffff
jb 0x46bdf1
mov dword [esp + 0x3c], ecx
mov dword [edi + 0x4698], 0
call fcn.00437c50
mov eax, dword [0x4c9c24]
push ecx
push dword [esp + 0x44]
mov edi, dword [eax + 0x3e38]
mov ecx, edi
call fcn.0042a650
mov ecx, dword [edi + 0xe0]
add edi, 0xe0
mov dword [esp + 0x78], eax
mov eax, dword [edi + 4]
cmp ecx, eax
jne 0x46be6a
inc ecx
test eax, eax
je 0x46be56
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 4]
jmp 0x46be5b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.00440770
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x78]
mov dword [eax + ecx*4], edx
inc dword [edi]
mov edi, dword [esp + 0x58]
mov eax, dword [edi + 0x5960]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x46bec8
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jg 0x46beb8
push 0x707
push str.d:CProjectsSCUMSX2_srcimguiimgui.h
push str.Size___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edi + 0x5960], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
test cl, 0x20
je 0x46bee5
and ecx, 0xff9fffff
or ecx, 0x100008
mov dword [esp + 0x14], ecx
test cl, 8
jne 0x46bef9
mov edx, ecx
mov ecx, dword [esp + 0x20]
call fcn.004707e0
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x595c]
test ecx, 0x700000
jne 0x46bf10
mov eax, edx
and eax, 0x700000
or ecx, eax
test ecx, 0x1800000
jne 0x46bf21
mov eax, edx
and eax, 0x1800000
or ecx, eax
test ecx, 0x6000000
jne 0x46bf32
mov eax, edx
and eax, 0x6000000
or ecx, eax
test ecx, 0x18000000
jne 0x46bf43
mov eax, edx
and eax, 0x18000000
or ecx, eax
and edx, 0xe00fffff
or ecx, edx
mov edx, ecx
mov dword [esp + 0x14], ecx
and edx, 0x700000
je 0x46bf60
lea eax, [edx - 1]
test edx, eax
je 0x46bf7c
push 0x13bc
push str.d:CProjectsSCUMSX2_srcimguiimgui_widgets.cpp
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_DisplayMask__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, ecx
and edx, 0x18000000
je 0x46bf8d
lea eax, [edx - 1]
test edx, eax
je 0x46bfa9
push 0x13bd
push str.d:CProjectsSCUMSX2_srcimguiimgui_widgets.cpp
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_InputMask__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, ecx
mov eax, ecx
shr eax, 0x13
shr edx, 1
and eax, 0xffffff01
not dl
mov dword [esp + 0x54], eax
and edx, 0xffffff01
movzx eax, dl
add eax, 3
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm3, dword [eax + 8]
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x9c], xmm1
movss dword [esp + 0xa0], xmm3
test dl, dl
je 0x46c009
movss xmm2, dword [eax + 0xc]
jmp 0x46c011
movss xmm2, dword [0x4c194c]
movss xmm7, dword [0x4c1874]
mov eax, ecx
and eax, 0x10100000
movss dword [esp + 0xa4], xmm2
mov dword [esp + 0x70], eax
cmp eax, 0x10100000
jne 0x46c05a
lea eax, [esp + 0xa0]
movaps xmm2, xmm3
push eax
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x9c]
call fcn.00426040
add esp, 4
jmp 0x46c11c
mov eax, ecx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x46c144
comiss xmm3, xmm1
xorps xmm5, xmm5
movaps xmm4, xmm1
jbe 0x46c085
movss xmm5, dword [0x4c1ae0]
movaps xmm4, xmm3
movaps xmm3, xmm1
comiss xmm4, xmm0
movaps xmm6, xmm0
jbe 0x46c0a2
movaps xmm6, xmm4
movaps xmm4, xmm0
movss xmm0, dword [0x4c1acc]
subss xmm0, xmm5
movaps xmm5, xmm0
movaps xmm1, xmm4
movaps xmm2, xmm6
minss xmm1, xmm3
subss xmm4, xmm3
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm1, dword [0x4c19e4]
addss xmm1, xmm7
divss xmm4, xmm1
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.004231d0
movss dword [esp + 0x98], xmm0
lea eax, [esp + 0xa0]
movaps xmm0, xmm6
mov ecx, dword [esp + 0x20]
addss xmm0, xmm7
movss dword [esp + 0xa0], xmm6
push eax
lea eax, [esp + 0xa0]
push eax
lea edx, [esp + 0xa0]
divss xmm2, xmm0
movss dword [esp + 0xa4], xmm2
call fcn.0046bb90
add esp, 8
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x98]
movss xmm1, dword [esp + 0x9c]
movss xmm3, dword [esp + 0xa0]
movss xmm2, dword [esp + 0xa4]
comiss xmm0, dword [0x4c1864]
movss xmm4, dword [0x4c1ad0]
movss xmm6, dword [0x4c18fc]
jb 0x46c162
movaps xmm5, xmm6
jmp 0x46c165
movaps xmm5, xmm4
comiss xmm1, dword [0x4c1864]
movss xmm7, dword [0x4c1a6c]
mulss xmm0, xmm7
addss xmm0, xmm5
cvttss2si eax, xmm0
mov dword [esp + 0xa8], eax
jb 0x46c18e
movaps xmm0, xmm6
jmp 0x46c191
movaps xmm0, xmm4
comiss xmm3, dword [0x4c1864]
mulss xmm1, xmm7
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [esp + 0xac], eax
jb 0x46c1b2
movaps xmm0, xmm6
jmp 0x46c1b5
movaps xmm0, xmm4
comiss xmm2, dword [0x4c1864]
mulss xmm3, xmm7
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0xb0], eax
jb 0x46c1d4
movaps xmm4, xmm6
cmp dword [edi + 0x382c], 0
mov edx, dword [esp + 0x18]
mulss xmm2, xmm7
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm2, xmm4
cvttss2si eax, xmm2
mov dword [esp + 0xb4], eax
movss xmm2, dword [edx + 0xec]
movss xmm3, dword [edx + 0xf0]
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x30], xmm3
jne 0x46c222
movss xmm1, dword [esp + 0x38]
jmp 0x46c225
xorps xmm1, xmm1
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [edx + 0xec], xmm0
test ecx, 0x300000
je 0x46c53d
test cl, 0x20
jne 0x46c53d
mov edx, dword [esp + 0x34]
movss xmm2, dword [edi + 0x37ec]
movss xmm1, dword [esp + 0x48]
movaps xmm0, xmm2
push 0
lea eax, [edx - 1]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
push 0
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [0x4c194c]
movaps xmm4, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm4, xmm0
movss xmm0, dword [esp + 0x50]
addss xmm2, xmm4
movss dword [esp + 0x24], xmm4
mulss xmm2, xmm3
movss xmm3, dword [0x4c1ab0]
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, ecx
and eax, 0x1000000
mov ecx, str.M:000
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x68], eax
mov eax, str.M:0.000
cmove eax, ecx
mov ecx, dword [0x4c9c24]
push eax
push ecx
lea eax, [esp + 0x5c]
mov dword [esp], 0xbf800000
movss xmm2, dword [ecx + 0x3bc8]
maxss xmm1, xmm0
mov ecx, dword [ecx + 0x3bc4]
push eax
movss dword [esp + 0x70], xmm1
call fcn.00450c80
movss xmm0, dword [esp + 0x4c]
addss xmm0, dword [0x4c1944]
movss xmm1, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x46c339
xor eax, eax
jmp 0x46c347
mov eax, ecx
and eax, 0x200000
neg eax
sbb eax, eax
neg eax
inc eax
cmp dword [esp + 0x34], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], 0
jbe 0x46c7d0
and ecx, 8
mov esi, eax
mov dword [esp + 0x64], ecx
mov edx, 0xff
shl esi, 4
xor ecx, ecx
test ecx, ecx
je 0x46c394
movss xmm1, dword [edi + 0x37ec]
xorps xmm0, xmm0
call fcn.00437990
movss xmm1, dword [esp + 0x1c]
mov edx, 0xff
mov ecx, dword [esp + 0x78]
lea eax, [ecx + 1]
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x34]
jge 0x46c3a6
movaps xmm0, xmm1
jmp 0x46c3ac
movss xmm0, dword [esp + 0x5c]
mov eax, dword [0x4c9c24]
or dword [eax + 0x4698], 1
cmp dword [esp + 0x60], 0
movss dword [eax + 0x469c], xmm0
je 0x46c43a
cmp byte [esp + 0x54], 0
je 0x46c3d3
xorps xmm0, xmm0
jmp 0x46c3db
movss xmm0, dword [0x4c194c]
movss xmm3, dword [0x4c188c]
lea eax, [esp + 0x78]
push ecx
push dword [esi + 0x4bfedc]
mov edx, 8
movss dword [esp + 0x80], xmm0
push eax
lea eax, [esp + 0x88]
mov dword [esp + 0x88], 0
push eax
lea eax, [esp + 0xa8]
lea eax, [eax + ecx*4]
mov ecx, dword [ecx*4 + 0x4bfecc]
push eax
call fcn.00464420
mov cl, byte [esp + 0x26]
add esp, 0x14
or cl, al
or byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
jmp 0x46c495
movss xmm3, dword [0x4c194c]
mov eax, edx
xor edx, edx
cmp byte [esp + 0x54], dl
push ecx
push dword [esi + 0x4bff34]
cmovne eax, edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov edx, 4
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0xb8]
lea eax, [eax + ecx*4]
mov ecx, dword [ecx*4 + 0x4bfecc]
push eax
call fcn.00464420
add esp, 0x14
or byte [esp + 0x12], al
cmp dword [esp + 0x64], 0
jne 0x46c514
mov eax, dword [0x4c9c24]
cmp byte [eax + 0x3717], 0
mov ecx, dword [eax + 0x3e38]
mov dword [esp + 0x78], ecx
je 0x46c514
xor edx, edx
mov ecx, 0x282
call fcn.00437000
test al, al
je 0x46c514
mov ecx, 0x20
call fcn.0042ac30
test al, al
je 0x46c514
push ecx
mov ecx, dword [esp + 0x7c]
push str.context
call fcn.0042a650
mov dword [esp + 0x78], eax
test eax, eax
jne 0x46c508
push 0x2821
push str.d:CProjectsSCUMSX2_srcimguiimgui.cpp
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x84]
add esp, 0xc
mov edx, 1
mov ecx, eax
call fcn.00438c40
mov ecx, dword [esp + 0x4c]
add esi, 4
mov edx, 0xff
movss xmm1, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
cmp ecx, dword [esp + 0x34]
jl 0x46c371
mov esi, dword [esp + 0x28]
jmp 0x46c7cc
mov eax, ecx
and eax, 0x400020
cmp eax, 0x400000
jne 0x46c7e0
cmp byte [esp + 0x44], 0
je 0x46c5ee
mov eax, dword [esp + 0xb4]
mov ecx, 0xff
mov dword [esp + 0x1c], ecx
test eax, eax
jns 0x46c578
mov dword [esp + 0x78], 0
jmp 0x46c584
cmp eax, 0xff
cmovg eax, ecx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0xb0]
test edx, edx
jns 0x46c593
xor edx, edx
jmp 0x46c598
cmp edx, ecx
cmovg edx, ecx
mov ecx, dword [esp + 0xac]
test ecx, ecx
jns 0x46c5a7
xor ecx, ecx
jmp 0x46c5b5
cmp ecx, 0xff
mov eax, 0xff
cmovg ecx, eax
mov eax, dword [esp + 0xa8]
test eax, eax
jns 0x46c5c4
xor eax, eax
jmp 0x46c5ce
cmp eax, 0xff
cmovg eax, dword [esp + 0x1c]
push dword [esp + 0x78]
push edx
push ecx
push eax
push 0x4bf760
lea eax, [esp + 0xcc]
push 0x40
push eax
call fcn.004257e0
add esp, 0x1c
jmp 0x46c652
mov edx, dword [esp + 0xb0]
mov eax, 0xff
mov dword [esp + 0x1c], eax
test edx, edx
jns 0x46c606
xor edx, edx
jmp 0x46c60b
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
jns 0x46c61a
xor ecx, ecx
jmp 0x46c61f
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [esp + 0xa8]
test eax, eax
jns 0x46c62e
xor eax, eax
jmp 0x46c638
cmp eax, 0xff
cmovg eax, dword [esp + 0x1c]
push edx
push ecx
push eax
push 0x4bf774
lea eax, [esp + 0xc8]
push 0x40
push eax
call fcn.004257e0
add esp, 0x18
mov eax, dword [0x4c9c24]
xor edx, edx
movss xmm5, dword [esp + 0x48]
mov ecx, str.Text
push 0
push 0
or dword [eax + 0x4698], 1
movss dword [eax + 0x469c], xmm5
lea eax, [esp + 0x54]
push 6
push eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x5c], 0
push 0x40
push eax
mov dword [esp + 0x68], 0
call fcn.00467fd0
add esp, 0x18
test al, al
je 0x46c74e
mov byte [esp + 0x12], 1
lea ecx, [esp + 0xb8]
mov al, byte [ecx]
cmp al, 0x23
je 0x46c6c2
cmp al, 0x20
je 0x46c6c2
cmp al, 9
jne 0x46c6c5
inc ecx
jmp 0x46c6b4
cmp byte [esp + 0x44], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb4], 0xff
je 0x46c728
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb4]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.004231b0
add esp, 0x18
jmp 0x46c74e
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
push str._02X_02X_02X
push ecx
call fcn.004231b0
add esp, 0x14
mov ecx, dword [esp + 0x14]
test cl, 8
jne 0x46c7d0
mov eax, dword [0x4c9c24]
cmp byte [eax + 0x3717], 0
mov edx, dword [eax + 0x3e38]
mov dword [esp + 0x28], edx
je 0x46c7d0
xor edx, edx
mov ecx, 0x282
call fcn.00437000
test al, al
je 0x46c7cc
mov ecx, 0x20
call fcn.0042ac30
test al, al
je 0x46c7cc
push ecx
mov ecx, dword [esp + 0x2c]
push str.context
call fcn.0042a650
mov dword [esp + 0x28], eax
test eax, eax
jne 0x46c7c0
push 0x2821
push str.d:CProjectsSCUMSX2_srcimguiimgui.cpp
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, 1
mov ecx, eax
call fcn.00438c40
mov ecx, dword [esp + 0x14]
movss xmm2, dword [esp + 0x24]
movss xmm3, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], 0
test cl, 0x10
jne 0x46caf8
test cl, 0x20
jne 0x46c80f
cmp dword [edi + 0x382c], 0
je 0x46c80f
movss xmm1, dword [esp + 0x48]
addss xmm1, dword [edi + 0x37ec]
jmp 0x46c812
xorps xmm1, xmm1
cmp byte [esp + 0x44], 0
movaps xmm0, xmm2
mov eax, dword [esp + 0x20]
addss xmm0, xmm1
movss dword [edx + 0xf0], xmm3
movss dword [edx + 0xec], xmm0
je 0x46c83b
movss xmm1, dword [eax + 0xc]
jmp 0x46c843
movss xmm1, dword [0x4c194c]
movss xmm0, dword [eax]
lea edx, [esp + 0x80]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x28]
push eax
push ecx
mov ecx, str.ColorButton
movss dword [esp + 0x90], xmm0
movss dword [esp + 0x94], xmm1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.0046fd40
mov ecx, dword [esp + 0x1c]
add esp, 8
test al, al
je 0x46c969
test cl, 4
jne 0x46c969
movups xmm0, xmmword [esp + 0x80]
push ecx
push str.picker
movups xmmword [edi + 0x5974], xmm0
mov edi, dword [0x4c9c24]
mov ecx, dword [edi + 0x3e38]
call fcn.0042a650
test byte [edi + 0x5aa4], 4
mov dword [esp + 0x28], eax
je 0x46c8fe
push eax
push str.picker
push str._popup__OpenPopup___s_____0x_08X__n
call fcn.0043f930
mov eax, dword [esp + 0x34]
add esp, 0xc
xor edx, edx
mov ecx, eax
call fcn.00438c40
mov edi, dword [esp + 0x58]
mov eax, dword [0x4c9c24]
mov ecx, dword [esp + 0x14]
movss xmm1, dword [edi + 0x46b8]
movss xmm0, dword [edi + 0x37e8]
addss xmm0, dword [edi + 0x46c4]
addss xmm1, dword [0x4c1864]
or dword [eax + 0x46e8], 1
mov dword [eax + 0x4700], 0
mov dword [eax + 0x4704], 0
movss dword [eax + 0x46fc], xmm0
movss dword [eax + 0x46f8], xmm1
mov dword [eax + 0x46ec], 1
test cl, 8
jne 0x46c9e7
mov eax, dword [0x4c9c24]
cmp byte [eax + 0x3717], 0
mov edx, dword [eax + 0x3e38]
mov dword [esp + 0x28], edx
je 0x46c9e7
xor edx, edx
mov ecx, 0x282
call fcn.00437000
test al, al
je 0x46c9e3
mov ecx, 0x20
call fcn.0042ac30
test al, al
je 0x46c9e3
push ecx
mov ecx, dword [esp + 0x2c]
push str.context
call fcn.0042a650
mov dword [esp + 0x28], eax
test eax, eax
jne 0x46c9d7
push 0x2821
push str.d:CProjectsSCUMSX2_srcimguiimgui.cpp
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, 1
mov ecx, eax
call fcn.00438c40
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4c9c24]
mov eax, dword [edx + 0x4790]
cmp eax, dword [edx + 0x479c]
jg 0x46ca0a
mov dword [edx + 0x46e8], 0
jmp 0x46caf8
push ecx
mov ecx, dword [edx + 0x3e38]
push str.picker
call fcn.0042a650
mov edx, 0x141
mov ecx, eax
call fcn.00439360
test al, al
je 0x46caf4
mov eax, dword [edi + 0x3e38]
cmp word [eax + 0xb2], 1
jne 0x46caef
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
cmp ecx, eax
je 0x46caa2
push 0
mov edx, eax
call fcn.0045f160
mov ecx, dword [0x4c9c24]
add esp, 4
mov eax, dword [ecx + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e38]
cmp byte [eax + 0xab], 0
jne 0x46caa2
movss xmm1, dword [0x4c1ae0]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.004375f0
mov eax, dword [0x4c9c24]
mov ecx, 0x4ba054
movss xmm0, dword [esp + 0x68]
mulss xmm0, dword [0x4c1a00]
mov edx, dword [esp + 0x20]
or dword [eax + 0x4698], 1
movss dword [eax + 0x469c], xmm0
lea eax, [edi + 0x5974]
push eax
mov eax, dword [esp + 0x70]
and eax, 0x1f890002
or eax, 0x740080
push eax
call fcn.0046d1b0
add esp, 8
or byte [esp + 0x12], al
call fcn.00439500
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x3c]
je 0x46cb5c
test cl, cl
js 0x46cb5c
movss xmm1, dword [edi + 0x37ec]
xorps xmm0, xmm0
call fcn.00437990
test byte [esp + 0x14], 0x20
jne 0x46cb32
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + 0x37ec]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
push 0
movss dword [eax + 0xec], xmm0
call fcn.0045f160
add esp, 4
cmp byte [esp + 0x12], 0
je 0x46cd90
cmp dword [esp + 0x1c], 0
jne 0x46cd90
cmp byte [esp + 0x13], 0
jne 0x46cba0
movups xmm0, xmmword [esp + 0xa8]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x4c1f10]
movups xmmword [esp + 0x98], xmm0
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x14]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x46cca5
movss xmm0, dword [esp + 0x98]
lea eax, [esp + 0xa0]
movss xmm1, dword [esp + 0x9c]
lea edx, [esp + 0x9c]
movss xmm2, dword [esp + 0xa0]
lea ecx, [esp + 0x98]
push eax
movss dword [edi + 0x5968], xmm0
movss dword [edi + 0x596c], xmm1
call fcn.00426040
movss xmm4, dword [esp + 0x9c]
xorps xmm6, xmm6
mov eax, dword [edi + 0x5960]
add esp, 4
comiss xmm6, xmm4
mov dword [edi + 0x5964], eax
movss xmm1, dword [0x4c194c]
jbe 0x46cc27
xorps xmm0, xmm0
jmp 0x46cc2e
movaps xmm0, xmm1
minss xmm0, xmm4
movss xmm7, dword [0x4c1a6c]
movss xmm5, dword [0x4c18fc]
movss xmm2, dword [esp + 0x9c]
comiss xmm6, xmm2
mulss xmm0, xmm7
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x46cc5d
xorps xmm0, xmm0
jmp 0x46cc64
movaps xmm0, xmm1
minss xmm0, xmm2
movss xmm3, dword [esp + 0xa0]
mulss xmm0, xmm7
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x46cc88
xorps xmm1, xmm1
jmp 0x46cc8c
minss xmm1, xmm3
mulss xmm1, xmm7
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x10
or eax, ecx
mov dword [edi + 0x5970], eax
jmp 0x46ccc0
movss xmm3, dword [esp + 0xa0]
movss xmm2, dword [esp + 0x9c]
movss xmm4, dword [esp + 0x98]
cmp dword [esp + 0x70], 0x10100000
jne 0x46cd69
comiss xmm3, xmm2
movaps xmm5, xmm4
movaps xmm0, xmm2
movaps xmm1, xmm5
xorps xmm4, xmm4
jbe 0x46cced
movss xmm4, dword [0x4c1ae0]
movaps xmm0, xmm3
movaps xmm3, xmm2
comiss xmm0, xmm1
jbe 0x46cd07
movaps xmm5, xmm0
movss xmm0, dword [0x4c1acc]
subss xmm0, xmm4
movaps xmm4, xmm0
movaps xmm0, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm5
minss xmm1, xmm3
subss xmm0, xmm3
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm1, dword [0x4c19e4]
addss xmm1, dword [0x4c1874]
divss xmm0, xmm1
addss xmm0, xmm4
call fcn.004231d0
movaps xmm1, xmm5
movaps xmm4, xmm0
addss xmm1, dword [0x4c1874]
movaps xmm3, xmm5
movss dword [esp + 0x98], xmm4
movss dword [esp + 0xa0], xmm3
divss xmm2, xmm1
movss dword [esp + 0x9c], xmm2
cmp byte [esp + 0x44], 0
mov eax, dword [esp + 0x20]
movss dword [eax], xmm4
movss dword [eax + 4], xmm2
movss dword [eax + 8], xmm3
je 0x46cd90
movss xmm0, dword [esp + 0xa4]
movss dword [eax + 0xc], xmm0
cmp dword [esp + 0x74], 0
jne 0x46cda1
mov dword [edi + 0x5960], 0
mov eax, dword [0x4c9c24]
mov esi, dword [eax + 0x3e38]
cmp dword [esi + 0xe0], 1
jg 0x46cdcd
push 0x1d85
push str.d:CProjectsSCUMSX2_srcimguiimgui.cpp
push str.window__IDStack.Size___1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [esi + 0xe0]
test eax, eax
jg 0x46cdf5
push 0x714
push str.d:CProjectsSCUMSX2_srcimguiimgui.h
push str.Size___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esi + 0xe0]
add esp, 0xc
dec eax
mov dword [esi + 0xe0], eax
call fcn.00437db0
test byte [edi + 0x46b4], 1
je 0x46cf38
test dword [esp + 0x14], 0x200
jne 0x46cf38
call fcn.0043e1e0
test al, al
je 0x46cf38
mov ecx, str._COL3F
mov byte [esp + 0x13], 0
call fcn.0043e2d0
mov esi, dword [esp + 0x20]
test eax, eax
je 0x46ce5a
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov ecx, str._COL4F
call fcn.0043e2d0
test eax, eax
je 0x46ce82
mov ecx, dword [esp + 0x34]
shl ecx, 2
push ecx
push dword [eax]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x46ce8d
cmp byte [esp + 0x13], 0
je 0x46cf33
test dword [esp + 0x14], 0x10000000
je 0x46cf33
movss xmm3, dword [esi + 4]
movss xmm5, dword [esi + 8]
comiss xmm5, xmm3
movss xmm4, dword [esi]
jbe 0x46cec1
movss xmm6, dword [0x4c1ae0]
movaps xmm0, xmm3
movaps xmm3, xmm5
movaps xmm5, xmm0
jmp 0x46cec4
xorps xmm6, xmm6
comiss xmm3, xmm4
jbe 0x46cee1
movaps xmm0, xmm4
movaps xmm4, xmm3
movaps xmm3, xmm0
movss xmm0, dword [0x4c1acc]
subss xmm0, xmm6
movaps xmm6, xmm0
movaps xmm1, xmm3
movaps xmm2, xmm4
minss xmm1, xmm5
subss xmm3, xmm5
subss xmm2, xmm1
movaps xmm1, xmm2
mulss xmm1, dword [0x4c19e4]
addss xmm1, dword [0x4c1874]
divss xmm3, xmm1
addss xmm3, xmm6
movaps xmm0, xmm3
call fcn.004231d0
movss dword [esi], xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x4c1874]
movss dword [esi + 8], xmm4
divss xmm2, xmm0
movss dword [esi + 4], xmm2
call fcn.0043e5b0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x46cf58
mov eax, dword [edi + 0x3e84]
test eax, eax
je 0x46cf58
cmp dword [edi + 0x3ea0], ecx
jne 0x46cf58
mov dword [edi + 0x46ac], eax
mov dl, byte [esp + 0x12]
test dl, dl
je 0x46cfb3
mov eax, dword [edi + 0x46ac]
test eax, eax
je 0x46cfb3
mov esi, dword [0x4c9c24]
mov ecx, dword [esi + 0x3e84]
cmp ecx, eax
je 0x46cfa3
test ecx, ecx
je 0x46cfa3
cmp byte [esi + 0x4940], 0
jne 0x46cfa3
push 0xef0
push str.d:CProjectsSCUMSX2_srcimguiimgui.cpp
push str.g.ActiveId__id__g.ActiveId__0__g.DragDropActive
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov dl, byte [esp + 0x1e]
add esp, 0xc
or dword [esi + 0x46b4], 4
mov word [esi + 0x3e94], 0x101
mov ecx, dword [esp + 0xfc]
mov al, dl
pop edi
pop esi
xor ecx, esp
call fcn.004a7a88
mov esp, ebp
pop ebp
ret