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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x148
mov eax, dword [0x1043900c]
xor eax, esp
mov dword [esp + 0x144], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [0x1060b300]
mov dword [esp + 0x1c], eax
push edi
mov edi, edx
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 0x1b9c]
mov edx, ecx
mov dword [esp + 0xe4], edi
mov dword [esp + 0x50], edx
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b9c]
mov dword [esp + 0x11c], eax
cmp byte [eax + 0x8f], 0
je 0x100a86b5
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x144]
xor ecx, esp
call fcn.102bb91c
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x284]
mov dword [esp + 0x28], eax
call fcn.100835d0
mov ecx, edx
movss dword [esp + 0x38], xmm0
mov dword [esi + 0x1c80], 0
call fcn.10082a90
call fcn.10083710
mov ecx, dword [ebp + 8]
mov edx, ecx
or edx, 0x10
test ecx, 0x100
cmovne edx, ecx
mov dword [esp + 0xd4], edx
test dl, 8
jne 0x100a870b
mov ecx, edi
call fcn.100ab830
mov edx, dword [esp + 0xd4]
test edx, 0x6000000
jne 0x100a8730
mov eax, dword [esi + 0x2e30]
mov ecx, 0xa900000
test eax, 0x6000000
cmovne ecx, eax
and ecx, 0x6000000
or ecx, edx
jmp 0x100a8732
mov ecx, edx
mov dword [esp + 0xc], ecx
test ecx, 0x18000000
jne 0x100a875d
mov eax, dword [esi + 0x2e30]
mov edx, 0xa900000
test eax, 0x18000000
cmovne edx, eax
and edx, 0x18000000
or ecx, edx
mov dword [esp + 0xc], ecx
mov edx, ecx
and edx, 0x6000000
je 0x100a876e
lea eax, [edx - 1]
test edx, eax
je 0x100a878a
push 0x136b
push str.C:Users_voidDocumentsGitHubecstasy_v6_solutionimguiimgui_widgets.cpp
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags__PickerMask_
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, ecx
and edx, 0x18000000
je 0x100a879b
lea eax, [edx - 1]
test edx, eax
je 0x100a87b7
push 0x136c
push str.C:Users_voidDocumentsGitHubecstasy_v6_solutionimguiimgui_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 + 0x18]
add esp, 0xc
test cl, 8
jne 0x100a87cd
mov eax, dword [esi + 0x2e30]
and eax, 0x10000
or ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x11c]
mov edx, ecx
movss xmm2, dword [esi + 0x1568]
and ecx, 0x10002
and edx, 2
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x84], edx
movss xmm0, dword [eax + 0xd4]
movss xmm3, dword [eax + 0xd0]
mov eax, dword [0x1060b300]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x40], xmm3
movss xmm4, dword [eax + 0x1930]
movss xmm0, dword [eax + 0x1554]
xor eax, eax
mulss xmm0, dword [0x1041ee0c]
cmp ecx, 0x10000
mulss xmm4, dword [0x1041ed68]
sete al
inc eax
addss xmm4, xmm0
movaps xmm0, xmm2
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
test edx, edx
sete al
addss xmm0, xmm4
movss dword [esp + 0x60], xmm4
lea eax, [eax*4 + 0xc]
push eax
mov dword [esp + 0xd8], eax
lea eax, [esp + 0x140]
mulss xmm1, xmm0
push edi
movss xmm0, dword [esp + 0x40]
push eax
subss xmm0, xmm1
movaps xmm1, xmm3
maxss xmm0, xmm4
addss xmm1, xmm0
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm1
movss dword [esp + 0xc8], xmm1
addss xmm0, xmm2
movss dword [esp + 0xcc], xmm0
addss xmm0, xmm4
movss dword [esp + 0xdc], xmm0
addss xmm0, xmm2
movss dword [esp + 0xec], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x1041ed08]
cvttss2si esi, xmm0
mov dword [esp + 0xd4], esi
call sub.VCRUNTIME140.dll_memcpy
movss xmm0, dword [esp + 0x44]
add esp, 0xc
movaps xmm4, xmm0
movaps xmm3, xmm0
mulss xmm3, dword [0x1041ecd0]
mulss xmm4, dword [0x1041ed50]
mulss xmm0, dword [0x1041ec9c]
movss dword [esp + 0x94], xmm3
movaps xmm1, xmm4
subss xmm1, xmm3
movss dword [esp + 0xec], xmm4
movss xmm3, dword [esp + 0x60]
movaps xmm2, xmm4
mulss xmm3, dword [0x1041ed50]
addss xmm2, dword [esp + 0x18]
cvttss2si eax, xmm0
addss xmm3, xmm4
movss dword [esp + 0xe8], xmm1
movss dword [esp + 0xc4], xmm2
movss dword [esp + 0xa4], xmm2
movd xmm0, eax
addss xmm3, dword [esp + 0x40]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x64], xmm3
movss dword [esp + 0xa0], xmm3
subss xmm1, xmm0
movss xmm3, dword [edi + 4]
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x8000000
mov dword [esp + 0x34], 0
movss dword [esp + 0x24], xmm3
mov dword [esp + 0x9c], ecx
movaps xmm0, xmm1
movss dword [esp + 0x30], xmm1
mulss xmm0, dword [0x1041f194]
movaps xmm2, xmm1
mulss xmm2, dword [0x1041f188]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x78], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x1041eda0]
movss dword [esp + 0xb8], xmm2
movss dword [esp + 0x74], xmm2
movss dword [esp + 0xb4], xmm0
movss dword [esp + 0x104], xmm0
movss xmm0, dword [edi]
movaps xmm1, xmm0
movss dword [esp + 0x100], xmm2
movss xmm2, dword [edi + 8]
movss dword [esp + 0x88], xmm1
movss dword [esp + 0xcc], xmm1
movaps xmm1, xmm3
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x98], xmm1
movaps xmm1, xmm2
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x68], xmm1
movss xmm1, dword [0x1041ef04]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0xf0], xmm1
je 0x100a8b65
comiss xmm2, xmm3
xorps xmm1, xmm1
xorps xmm6, xmm6
movaps xmm5, xmm3
movaps xmm7, xmm2
jbe 0x100a8a8a
movss xmm6, dword [0x1041f198]
movaps xmm5, xmm2
movaps xmm7, xmm3
comiss xmm5, xmm0
movaps xmm4, xmm0
movss dword [esp + 0x3c], xmm4
jbe 0x100a8ab3
movaps xmm4, xmm5
movaps xmm5, xmm0
movss xmm0, dword [0x1041f178]
subss xmm0, xmm6
movss dword [esp + 0x3c], xmm4
movaps xmm6, xmm0
movaps xmm0, xmm5
mov ecx, dword [esp + 0x1c]
minss xmm0, xmm7
movaps xmm3, xmm4
movaps xmm2, xmm5
subss xmm2, xmm7
mov eax, dword [ecx + 0x2e3c]
subss xmm3, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1041ef04]
addss xmm0, dword [0x1041ec2c]
divss xmm2, xmm0
movaps xmm0, xmm4
addss xmm2, xmm6
addss xmm0, dword [0x1041ec2c]
andps xmm2, xmmword [0x1041f450]
divss xmm3, xmm0
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x24], xmm3
cmp eax, dword [edi]
jne 0x100a8bb7
mov eax, dword [ecx + 0x2e40]
cmp eax, dword [edi + 4]
jne 0x100a8bb7
mov eax, dword [ecx + 0x2e44]
cmp eax, dword [edi + 8]
jne 0x100a8bb7
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x100a8b4c
movss xmm0, dword [ecx + 0x2e34]
movss dword [esp + 0x14], xmm0
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x100a8bb7
movss xmm0, dword [ecx + 0x2e38]
movss dword [esp + 0x24], xmm0
jmp 0x100a8bb7
test eax, 0x10000000
je 0x100a8bb7
lea eax, [esp + 0x68]
movaps xmm1, xmm3
push eax
lea edx, [esp + 0x9c]
lea ecx, [esp + 0xd0]
call fcn.10076a40
movss xmm0, dword [esp + 0xd0]
add esp, 4
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x70], xmm0
mov ecx, 8
mov byte [esp + 0xa], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0xb], 0
call fcn.10082510
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x4000000
mov dword [esp + 0x4c], ecx
je 0x100a9108
movss xmm1, dword [esp + 0x38]
lea edx, [esp + 0x54]
mov eax, dword [esp + 0x1c]
movaps xmm0, xmm1
push ecx
mov ecx, 0x10413a18
movss dword [esp + 0x5c], xmm1
addss xmm0, dword [eax + 0x1568]
addss xmm0, dword [esp + 0x64]
movss dword [esp + 0x58], xmm0
call fcn.1009de80
mov eax, dword [0x1060b300]
add esp, 4
mov ecx, dword [eax + 0x1bd4]
test ecx, ecx
je 0x100a9001
mov eax, dword [eax + 0x1b9c]
cmp ecx, dword [eax + 0x11c]
jne 0x100a9001
mov eax, dword [esp + 0x1c]
movss xmm1, dword [eax + 0xe4]
subss xmm1, dword [esp + 0x64]
movss xmm0, dword [eax + 0x38c]
subss xmm0, dword [esp + 0xc4]
movss xmm2, dword [eax + 0x388]
subss xmm2, dword [esp + 0x64]
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0x2c], xmm1
movss xmm1, dword [eax + 0xe8]
subss xmm1, dword [esp + 0xc4]
movss dword [esp + 0x90], xmm0
movss dword [esp + 0xd8], xmm2
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x48], xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
movss xmm2, dword [0x1041edc4]
addss xmm1, xmm0
movss xmm0, dword [esp + 0xe8]
subss xmm0, xmm2
mulss xmm0, xmm0
comiss xmm1, xmm0
jb 0x100a8d35
movss xmm0, dword [esp + 0xec]
addss xmm0, xmm2
mulss xmm0, xmm0
comiss xmm0, xmm1
jb 0x100a8d35
fld dword [esp + 0x48]
xorps xmm0, xmm0
fld dword [esp + 0x2c]
fpatan
fstp dword [esp + 0x48]
movss xmm1, dword [esp + 0x48]
mulss xmm1, dword [0x1041ecec]
comiss xmm0, xmm1
movss dword [esp + 0x14], xmm1
jbe 0x100a8d2d
addss xmm1, xmm2
movss dword [esp + 0x14], xmm1
mov cl, 1
mov byte [esp + 0xa], cl
jmp 0x100a8d3f
mov cl, byte [esp + 0xa]
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1041f1d8]
mov byte [esp + 0x12], cl
movaps xmm0, xmm1
call fcn.10311b70
movaps xmm7, xmm0
xorps xmm3, xmm3
movaps xmm6, xmm7
movaps xmm1, xmm7
mulss xmm1, dword [esp + 0x90]
movaps xmm0, xmm7
mulss xmm0, dword [esp + 0xd8]
shufps xmm6, xmm7, 1
movaps xmm4, xmm6
movaps xmm5, xmm6
mulss xmm4, dword [esp + 0xd8]
mulss xmm5, dword [esp + 0x90]
subss xmm4, xmm1
movss xmm1, dword [esp + 0x5c]
subss xmm1, dword [esp + 0xb4]
addss xmm5, xmm0
movaps xmm2, xmm4
subss xmm2, dword [esp + 0xb8]
movss dword [esp + 0x90], xmm1
movaps xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x30]
subss xmm1, dword [esp + 0xb8]
comiss xmm3, xmm0
movss xmm0, dword [esp + 0x5c]
xorps xmm0, xmmword [0x1041f480]
movss dword [esp + 0x2c], xmm1
seta cl
movaps xmm1, xmm0
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm5
mulss xmm1, xmm2
subss xmm0, dword [esp + 0x5c]
mulss xmm0, dword [esp + 0x2c]
subss xmm1, xmm0
comiss xmm3, xmm1
seta al
cmp al, cl
jne 0x100a8ff9
movss xmm0, dword [esp + 0xb8]
subss xmm4, dword [esp + 0x30]
subss xmm0, dword [esp + 0x30]
mulss xmm4, dword [esp + 0xb4]
mulss xmm0, xmm5
subss xmm4, xmm0
comiss xmm3, xmm4
seta al
cmp cl, al
jne 0x100a8ff9
movss xmm2, dword [esp + 0x54]
movaps xmm5, xmm6
mulss xmm5, dword [esp + 0xf8]
movaps xmm0, xmm7
movss xmm4, dword [esp + 0xb8]
mulss xmm7, dword [esp + 0xf8]
mulss xmm0, xmm2
mulss xmm6, xmm2
subss xmm5, xmm0
addss xmm6, xmm7
movss xmm7, dword [esp + 0x5c]
movaps xmm0, xmm5
movss dword [esp + 0x54], xmm5
subss xmm0, xmm4
movaps xmm1, xmm5
subss xmm1, xmm4
movss dword [esp + 0x58], xmm6
mulss xmm0, dword [esp + 0x90]
mulss xmm1, dword [esp + 0xd8]
comiss xmm3, xmm0
movaps xmm0, xmm6
subss xmm0, xmm7
seta cl
mulss xmm0, dword [esp + 0x2c]
subss xmm1, xmm0
comiss xmm3, xmm1
seta al
cmp al, cl
jne 0x100a8f09
movss xmm2, dword [esp + 0x30]
movaps xmm1, xmm5
movaps xmm0, xmm4
subss xmm1, xmm2
subss xmm0, xmm2
mulss xmm1, dword [esp + 0xb4]
mulss xmm0, xmm6
subss xmm1, xmm0
comiss xmm3, xmm1
seta al
cmp cl, al
je 0x100a8f4c
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0x7c]
push eax
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x104]
call fcn.10075bf0
movss xmm7, dword [esp + 0x68]
add esp, 0xc
movss xmm2, dword [esp + 0x30]
movss xmm4, dword [esp + 0xb8]
movss xmm5, dword [eax]
movss xmm6, dword [eax + 4]
movaps xmm3, xmm4
subss xmm5, xmm2
movss xmm4, dword [0x1041edc4]
subss xmm3, xmm2
movaps xmm2, xmm4
movaps xmm1, xmm3
movaps xmm0, xmm3
mulss xmm1, dword [esp + 0xb4]
mulss xmm0, xmm7
mulss xmm3, xmm6
subss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0xb4]
mulss xmm5, xmm7
divss xmm2, xmm1
subss xmm0, xmm3
movaps xmm1, xmm4
subss xmm3, xmm5
mulss xmm0, xmm2
mulss xmm3, xmm2
subss xmm1, xmm0
movss xmm0, dword [0x1041ec50]
movss dword [esp + 0x24], xmm0
comiss xmm0, xmm1
movaps xmm2, xmm1
subss xmm2, xmm3
jbe 0x100a8fcd
movaps xmm1, xmm0
movss dword [esp + 0x3c], xmm0
jmp 0x100a8fd7
minss xmm1, xmm4
movss dword [esp + 0x3c], xmm1
divss xmm2, xmm1
comiss xmm0, xmm2
ja 0x100a8fed
movaps xmm0, xmm2
minss xmm0, xmm4
movss dword [esp + 0x24], xmm0
mov byte [esp + 0xb], 1
mov byte [esp + 0xa], 1
jmp 0x100a9001
mov al, byte [esp + 0xa]
mov byte [esp + 0x12], al
test byte [esp + 0xc], 8
jne 0x100a900d
call fcn.10084a80
movss xmm2, dword [esp + 0x18]
cmp dword [esp + 0xf4], 0x10000
jne 0x100a9302
mov ecx, dword [0x1060b300]
lea edx, [esp + 0x74]
movss xmm0, dword [esp + 0xe0]
push ecx
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
mov ecx, 0x10413aa4
movss dword [eax + 0xd0], xmm0
movss dword [eax + 0xd4], xmm2
movss xmm1, dword [eax + 0xe8]
maxss xmm1, xmm0
movaps xmm0, xmm2
maxss xmm0, dword [eax + 0xec]
movss dword [eax + 0xe8], xmm1
movss dword [eax + 0xec], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x7c], xmm0
call fcn.1009de80
mov eax, dword [0x1060b300]
add esp, 4
mov ecx, dword [eax + 0x1bd4]
test ecx, ecx
je 0x100a9302
mov eax, dword [eax + 0x1b9c]
cmp ecx, dword [eax + 0x11c]
jne 0x100a9302
mov eax, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x38]
movss xmm1, dword [0x1041edc4]
subss xmm0, xmm1
movss xmm2, dword [eax + 0xe8]
subss xmm2, dword [esp + 0x18]
divss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x100a92ed
xorps xmm2, xmm2
jmp 0x100a92f1
test eax, 0x2000000
je 0x100a900d
movss xmm0, dword [esp + 0x38]
lea edx, [esp + 0x74]
push ecx
mov ecx, 0x10413a94
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x7c], xmm0
call fcn.1009de80
mov eax, dword [0x1060b300]
add esp, 4
mov ecx, dword [eax + 0x1bd4]
test ecx, ecx
je 0x100a91e0
mov eax, dword [eax + 0x1b9c]
cmp ecx, dword [eax + 0x11c]
jne 0x100a91e0
movss xmm2, dword [0x1041edc4]
xorps xmm0, xmm0
movss xmm3, dword [esp + 0x38]
movaps xmm4, xmm2
mov eax, dword [esp + 0x1c]
subss xmm3, xmm2
movss xmm1, dword [eax + 0xe4]
subss xmm1, dword [esp + 0x40]
divss xmm4, xmm3
movss dword [esp + 0x2c], xmm3
mulss xmm1, xmm4
comiss xmm0, xmm1
jbe 0x100a91a1
movss dword [esp + 0x24], xmm0
jmp 0x100a91ab
minss xmm1, xmm2
movss dword [esp + 0x24], xmm1
movss xmm1, dword [eax + 0xe8]
subss xmm1, dword [esp + 0x18]
mulss xmm1, xmm4
comiss xmm0, xmm1
jbe 0x100a91c7
xorps xmm1, xmm1
jmp 0x100a91cb
minss xmm1, xmm2
movaps xmm0, xmm2
mov al, 1
subss xmm0, xmm1
mov byte [esp + 0xa], al
movss dword [esp + 0x3c], xmm0
jmp 0x100a91f8
movss xmm0, dword [esp + 0x38]
subss xmm0, dword [0x1041edc4]
mov al, byte [esp + 0xa]
movss dword [esp + 0x2c], xmm0
test byte [esp + 0xc], 8
mov byte [esp + 0xb], al
mov byte [esp + 0x13], al
jne 0x100a920c
call fcn.10084a80
movss xmm0, dword [esp + 0xc0]
lea ecx, [esp + 0x74]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x78], xmm0
call fcn.10083350
movss xmm0, dword [esp + 0x60]
lea edx, [esp + 0x74]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x38]
push ecx
mov ecx, 0x10413a90
movss dword [esp + 0x7c], xmm0
call fcn.1009de80
mov eax, dword [0x1060b300]
add esp, 4
mov ecx, dword [eax + 0x1bd4]
test ecx, ecx
je 0x100a900d
mov eax, dword [eax + 0x1b9c]
mov dl, byte [esp + 0xa]
movss xmm2, dword [esp + 0x18]
mov byte [esp + 0xb], dl
cmp ecx, dword [eax + 0x11c]
jne 0x100a9013
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0xe8]
subss xmm1, xmm2
divss xmm1, dword [esp + 0x2c]
comiss xmm0, xmm1
jbe 0x100a92c8
mov al, byte [esp + 0x13]
movss dword [esp + 0x14], xmm0
mov byte [esp + 0x12], 1
mov byte [esp + 0xa], 1
mov byte [esp + 0xb], al
jmp 0x100a9013
minss xmm1, dword [0x1041edc4]
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], 1
mov byte [esp + 0xa], 1
mov byte [esp + 0xb], al
movss dword [esp + 0x14], xmm1
jmp 0x100a9013
minss xmm2, xmm1
movaps xmm0, xmm1
mov byte [esp + 0xa], 1
subss xmm0, xmm2
movss dword [edi + 0xc], xmm0
call fcn.100825c0
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x100
mov dword [esp + 0x48], ecx
jne 0x100a9333
mov eax, dword [esp + 0x1c]
movss xmm1, dword [eax + 0x1568]
call fcn.100832d0
call fcn.10083710
mov eax, dword [esp + 0xc]
and eax, 0x80
mov dword [esp + 0x54], eax
jne 0x100a9397
mov ecx, dword [esp + 0x50]
cmp ecx, 0xffffffff
jae 0x100a9397
mov dl, byte [ecx]
test dl, dl
je 0x100a935d
cmp dl, 0x23
jne 0x100a9357
cmp byte [ecx + 1], dl
je 0x100a935d
inc ecx
cmp ecx, 0xffffffff
jb 0x100a9347
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], ecx
cmp eax, ecx
je 0x100a9397
cmp dword [esp + 0x48], 0
je 0x100a9389
mov eax, dword [esp + 0x1c]
movss xmm1, dword [eax + 0x1568]
call fcn.100832d0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
mov edx, ecx
mov ecx, eax
push 0
call fcn.1009cd90
add esp, 4
cmp dword [esp + 0x48], 0
jne 0x100a9537
mov ecx, 0x10
call fcn.10082510
cmp dword [esp + 0x84], 0
je 0x100a93c0
movss xmm1, dword [0x1041edc4]
jmp 0x100a93c5
movss xmm1, dword [edi + 0xc]
cmp dword [esp + 0x54], 0
movss xmm0, dword [edi]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [edi + 8]
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x80], xmm1
je 0x100a9402
push str.Current
call fcn.1009d4a0
add esp, 4
movss xmm1, dword [esp + 0x60]
lea edx, [esp + 0x74]
mov eax, dword [esp + 0xc]
movaps xmm0, xmm1
mulss xmm0, dword [0x1041eea8]
and eax, 0x180e0040
mov ecx, str.current
mov dword [esp + 0x90], eax
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0x54], xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
movss dword [esp + 0xdc], xmm0
push dword [esp + 0xdc]
movss dword [esp + 0xfc], xmm0
push dword [esp + 0xdc]
push eax
call fcn.100aaa50
add esp, 0xc
cmp dword [esp + 0x20], 0
je 0x100a952d
push str.Original
call fcn.1009d4a0
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [esp + 0x84], 0
je 0x100a949b
movss xmm1, dword [0x1041edc4]
jmp 0x100a94a0
movss xmm1, dword [eax + 0xc]
movss xmm0, dword [eax]
lea edx, [esp + 0x100]
movss dword [esp + 0x100], xmm0
mov ecx, str.original
movss xmm0, dword [eax + 4]
movss dword [esp + 0x104], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x108], xmm0
movss xmm0, dword [esp + 0x54]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0x58], xmm0
push dword [esp + 0x58]
movss dword [esp + 0x110], xmm1
push dword [esp + 0x58]
push dword [esp + 0x98]
call fcn.100aaa50
add esp, 0xc
test al, al
je 0x100a952d
push dword [esp + 0xd4]
push dword [esp + 0x24]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0xa], 1
call fcn.100825c0
call fcn.10083870
cmp byte [esp + 0x12], 0
jne 0x100a9549
cmp byte [esp + 0xb], 0
je 0x100a95e4
cmp dword [esp + 0x9c], 0
je 0x100a960d
movss xmm1, dword [esp + 0x3c]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x100a956a
movaps xmm3, xmm1
jmp 0x100a9572
movss xmm3, dword [0x1041ec38]
movss xmm1, dword [esp + 0x24]
comiss xmm1, xmm0
movss xmm2, dword [0x1041ec3c]
ja 0x100a9588
movaps xmm1, xmm2
movss xmm0, dword [esp + 0x14]
comiss xmm0, dword [0x1041edc4]
jb 0x100a959b
subss xmm0, xmm2
lea eax, [edi + 8]
mov ecx, edi
push eax
lea edx, [edi + 4]
movaps xmm2, xmm3
call fcn.10076a40
mov ecx, dword [esp + 0x20]
add esp, 4
movss xmm0, dword [esp + 0x14]
movss dword [ecx + 0x2e34], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [ecx + 0x2e38], xmm0
movq xmm0, qword [edi]
movq qword [ecx + 0x2e3c], xmm0
mov eax, dword [edi + 8]
mov dword [ecx + 0x2e44], eax
mov eax, dword [esp + 0xc]
mov byte [esp + 0x13], 0
test al, 0x20
jne 0x100a998c
cmp dword [esp + 0xf4], 0x10000
jne 0x100a963a
movss xmm0, dword [esp + 0xe0]
jmp 0x100a9643
mov eax, dword [esp + 0xc]
test eax, 0x10000000
je 0x100a95e8
movss xmm0, dword [esp + 0x14]
movss dword [edi], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [edi + 4], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [edi + 8], xmm0
jmp 0x100a95e8
movss xmm0, dword [esp + 0xc0]
addss xmm0, dword [esp + 0x60]
subss xmm0, dword [esp + 0x40]
call fcn.100834b0
mov eax, dword [esp + 0xc]
mov edx, eax
and edx, 0x198e001a
mov dword [esp + 0x50], edx
test eax, 0x100000
jne 0x100a967f
mov ecx, eax
and ecx, 0x700000
mov dword [esp + 0x20], ecx
jne 0x100a96dd
mov dword [esp + 0x20], ecx
jmp 0x100a9688
and eax, 0x700000
mov dword [esp + 0x20], eax
or edx, 0x100004
mov ecx, str.rgb
push edx
mov edx, edi
call fcn.100a7470
add esp, 4
test al, al
je 0x100a96d1
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x1bd4], 0
je 0x100a96bd
cmp byte [eax + 0x1be1], 0
mov byte [esp + 0x13], 1
je 0x100a96c2
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xa], 1
mov dword [esp + 0x20], ecx
jmp 0x100a96d5
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0xc]
test eax, 0x200000
jne 0x100a96e8
test ecx, ecx
jne 0x100a970a
or edx, 0x200004
mov ecx, str.hsv
push edx
mov edx, edi
call fcn.100a7470
mov ecx, dword [esp + 0x24]
add esp, 4
or byte [esp + 0xa], al
mov eax, dword [esp + 0xc]
test eax, 0x400000
jne 0x100a9715
test ecx, ecx
jne 0x100a9732
mov eax, dword [esp + 0x50]
mov edx, edi
or eax, 0x400004
mov ecx, str.hex
push eax
call fcn.100a7470
add esp, 4
or byte [esp + 0xa], al
call fcn.10083550
cmp byte [esp + 0x13], 0
lea edx, [edi + 8]
xorps xmm2, xmm2
je 0x100a982d
cmp dword [esp + 0x9c], 0
je 0x100a982d
movss xmm3, dword [edi + 4]
xorps xmm6, xmm6
movss xmm5, dword [edx]
comiss xmm5, xmm3
movss xmm4, dword [edi]
jbe 0x100a977c
movss xmm6, dword [0x1041f198]
movaps xmm0, xmm3
movaps xmm3, xmm5
movaps xmm5, xmm0
comiss xmm3, xmm4
jbe 0x100a9799
movaps xmm0, xmm4
movaps xmm4, xmm3
movaps xmm3, xmm0
movss xmm0, dword [0x1041f178]
subss xmm0, xmm6
movaps xmm6, xmm0
movaps xmm0, xmm5
movaps xmm1, xmm4
minss xmm0, xmm3
subss xmm3, xmm5
subss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x1041ec2c]
movaps xmm7, xmm1
mulss xmm1, dword [0x1041ef04]
divss xmm7, xmm0
addss xmm1, dword [0x1041ec2c]
divss xmm3, xmm1
addss xmm3, xmm6
andps xmm3, xmmword [0x1041f450]
comiss xmm2, xmm3
jb 0x100a982d
movss xmm0, dword [esp + 0x14]
comiss xmm0, xmm2
jbe 0x100a982d
comiss xmm2, xmm4
jb 0x100a9967
movss xmm1, dword [esp + 0x3c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100a9967
movaps xmm2, xmm1
mov ecx, edi
mulss xmm2, dword [0x1041ed50]
push edx
movss xmm1, dword [esp + 0x28]
lea edx, [edi + 4]
call fcn.10076a40
add esp, 4
lea edx, [edi + 8]
xorps xmm2, xmm2
mov eax, dword [esp + 0xc]
cmp byte [esp + 0xa], 0
je 0x100a9a05
cmp dword [esp + 0x9c], 0
je 0x100a9997
movss xmm0, dword [edi + 4]
xorps xmm5, xmm5
movss xmm3, dword [edx]
movaps xmm1, xmm0
comiss xmm3, xmm0
movss xmm7, dword [edi]
movaps xmm6, xmm3
movss dword [esp + 0x88], xmm7
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x70], xmm3
jbe 0x100a9888
movss xmm5, dword [0x1041f198]
movaps xmm1, xmm3
movaps xmm6, xmm0
comiss xmm1, xmm7
movaps xmm4, xmm7
movss dword [esp + 0x3c], xmm4
jbe 0x100a98b1
movss xmm0, dword [0x1041f178]
movaps xmm4, xmm1
subss xmm0, xmm5
movss dword [esp + 0x3c], xmm4
movaps xmm1, xmm7
movaps xmm5, xmm0
movaps xmm0, xmm1
mov ecx, dword [esp + 0x1c]
minss xmm0, xmm6
movaps xmm3, xmm4
subss xmm1, xmm6
mov eax, dword [ecx + 0x2e3c]
subss xmm3, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1041ef04]
addss xmm0, dword [0x1041ec2c]
divss xmm1, xmm0
movaps xmm0, xmm4
addss xmm1, xmm5
addss xmm0, dword [0x1041ec2c]
andps xmm1, xmmword [0x1041f450]
divss xmm3, xmm0
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x24], xmm3
cmp eax, dword [edi]
jne 0x100a9a09
mov eax, dword [ecx + 0x2e40]
cmp eax, dword [edi + 4]
jne 0x100a9a09
mov eax, dword [ecx + 0x2e44]
cmp eax, dword [edi + 8]
jne 0x100a9a09
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jp 0x100a9947
movss xmm0, dword [ecx + 0x2e34]
movss dword [esp + 0x14], xmm0
ucomiss xmm4, xmm2
lahf
test ah, 0x44
jp 0x100a9a09
movss xmm0, dword [ecx + 0x2e38]
movss dword [esp + 0x24], xmm0
jmp 0x100a9a09
comiss xmm2, xmm7
jb 0x100a982d
movss xmm1, dword [esp + 0x24]
mov ecx, edi
mulss xmm1, dword [0x1041ed50]
movaps xmm2, xmm4
push edx
lea edx, [edi + 4]
jmp 0x100a981f
xorps xmm2, xmm2
lea edx, [edi + 8]
jmp 0x100a9831
test eax, 0x10000000
je 0x100a9a05
movss xmm2, dword [edx]
lea eax, [esp + 0x68]
movss xmm0, dword [edi]
lea edx, [esp + 0x98]
movss xmm1, dword [edi + 4]
lea ecx, [esp + 0xcc]
push eax
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x40], xmm2
call fcn.10076a40
movss xmm0, dword [esp + 0xd0]
add esp, 4
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x1c]
movss xmm2, dword [ecx + 0x1518]
xorps xmm0, xmm0
comiss xmm0, xmm2
movss xmm0, dword [0x1041edc4]
jbe 0x100a9a26
xorps xmm1, xmm1
jmp 0x100a9a2d
movaps xmm1, xmm2
minss xmm1, xmm0
mulss xmm1, dword [0x1041f054]
mov dword [esp + 0x74], 0x3f800000
movss dword [esp + 0x80], xmm2
movaps xmm2, xmm0
mov dword [esp + 0x78], 0x3f800000
addss xmm1, dword [0x1041ed50]
mov dword [esp + 0x7c], 0x3f800000
cvttss2si edx, xmm1
movaps xmm1, xmm0
movss xmm0, dword [esp + 0x14]
shl edx, 0x18
mov eax, edx
mov dword [esp + 0x98], edx
or eax, 0xffffff
mov ecx, edx
mov dword [esp + 0x20], eax
or ecx, 0xff
mov eax, edx
mov dword [esp + 0x120], ecx
or eax, 0x808080
mov dword [esp + 0x138], ecx
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x74]
mov eax, edx
or eax, 0xffff
mov dword [esp + 0x124], eax
mov eax, edx
or eax, 0xff00
mov dword [esp + 0x128], eax
mov eax, edx
or eax, 0xffff00
mov dword [esp + 0x12c], eax
mov eax, edx
or eax, 0xff0000
mov dword [esp + 0x130], eax
mov eax, edx
or eax, 0xff00ff
lea edx, [esp + 0x78]
mov dword [esp + 0x134], eax
lea eax, [esp + 0x7c]
push eax
call fcn.10076a40
add esp, 4
lea ecx, [esp + 0x74]
call fcn.10076900
movss xmm0, dword [esp + 0x88]
lea ecx, [esp + 0x74]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [eax + 0x1518]
movss dword [esp + 0x80], xmm0
call fcn.10076900
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
je 0x100aa319
movss xmm1, dword [esp + 0xec]
mov eax, 0x2aaaaaab
movss xmm3, dword [0x1041ed50]
movss xmm2, dword [esp + 0xe8]
divss xmm3, xmm1
mov esi, dword [esp + 0x28]
movss xmm4, dword [0x1041edcc]
addss xmm2, xmm1
cvttss2si ecx, xmm1
mulss xmm2, dword [0x1041ed50]
imul ecx
movss dword [esp + 0xd0], xmm3
movss dword [esp + 0xd8], xmm2
mov eax, 4
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, eax
cmovle ecx, eax
xor eax, eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x70], eax
nop dword [eax]
mov edi, dword [esi + 0x18]
movd xmm1, eax
lea eax, [esp + 0xa0]
cvtdq2ps xmm1, xmm1
push ecx
push ecx
mov ecx, esi
mulss xmm1, xmm4
movaps xmm0, xmm1
addss xmm1, xmm4
subss xmm0, xmm3
addss xmm1, xmm3
movaps xmm3, xmm0
movss dword [esp + 0x54], xmm0
movss dword [esp], xmm1
push eax
movss dword [esp + 0x60], xmm1
call fcn.100945b0
movss xmm0, dword [esp + 0x94]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0
push dword [esp + 0x28]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10093070
movss xmm0, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x54]
mov dword [esi + 0x54], 0
call fcn.10311bc0
mov eax, dword [esp + 0x70]
movaps xmm5, xmm0
movss xmm0, dword [esp + 0xe8]
movaps xmm3, xmm5
mov edx, dword [esi + 0x20]
movaps xmm6, xmm5
shufps xmm3, xmm5, 0xe
mov ecx, dword [esp + eax*4 + 0x120]
movaps xmm4, xmm3
mov eax, dword [esi + 0x18]
shufps xmm4, xmm3, 1
movss xmm2, dword [0x1041edc4]
shufps xmm6, xmm5, 1
movaps xmm7, xmm2
lea eax, [eax + eax*4]
mulss xmm3, xmm0
lea eax, [edx + eax*4]
mulss xmm4, xmm0
mov dword [esp + 0x4c], eax
addss xmm3, dword [esp + 0xc4]
mulss xmm6, xmm0
movzx eax, cl
addss xmm4, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
mov eax, ecx
addss xmm6, dword [esp + 0x64]
mulss xmm5, xmm0
shr eax, 8
movzx eax, al
mov dword [esp + 0x48], eax
addss xmm5, dword [esp + 0xc4]
shr ecx, 0x10
subss xmm4, xmm6
movzx eax, cl
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
subss xmm3, xmm5
movaps xmm0, xmm4
mulss xmm0, xmm4
mov ecx, dword [esp + eax*4 + 0x124]
movzx eax, cl
sub eax, dword [esp + 0x2c]
movaps xmm1, xmm3
mulss xmm1, xmm3
mov dword [esp + 0x54], eax
mov eax, ecx
shr eax, 8
movzx eax, al
addss xmm1, xmm0
divss xmm7, xmm1
sub eax, dword [esp + 0x48]
shr ecx, 0x10
mov dword [esp + 0x50], eax
lea eax, [edi + edi*4]
mov edi, dword [esp + 0x4c]
lea edx, [edx + eax*4]
movzx ecx, cl
sub ecx, dword [esp + 0x84]
mov dword [esp + 0x90], ecx
cmp edx, edi
jae 0x100a9e4c
movd xmm0, dword [esp + 0x84]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x4c], xmm0
movd xmm0, dword [esp + 0x48]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xf8], xmm0
nop word [eax + eax]
movss xmm0, dword [edx]
movss xmm1, dword [edx + 4]
subss xmm0, xmm6
subss xmm1, xmm5
mulss xmm0, xmm4
mulss xmm1, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm1, xmm7
comiss xmm0, xmm1
jbe 0x100a9dce
xorps xmm1, xmm1
jmp 0x100a9dd2
minss xmm1, xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x4c]
cvttss2si ecx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
shl ecx, 8
mulss xmm0, xmm1
addss xmm0, dword [esp + 0xf8]
cvttss2si eax, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
or ecx, eax
shl ecx, 8
mulss xmm0, xmm1
movd xmm1, dword [esp + 0x2c]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
or ecx, eax
mov eax, dword [edx + 0x10]
and eax, 0xff000000
or ecx, eax
mov eax, dword [esp + 0x50]
mov dword [edx + 0x10], ecx
add edx, 0x14
mov ecx, dword [esp + 0x90]
cmp edx, edi
jb 0x100a9da0
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x70]
movss xmm2, dword [esp + 0xd8]
inc eax
movss xmm3, dword [esp + 0xd0]
movss xmm4, dword [0x1041edcc]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
cmp eax, 6
jl 0x100a9bf0
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1041ef08]
movaps xmm0, xmm1
call fcn.10311b70
cmp byte [esp + 0x12], 0
movaps xmm2, xmm0
movss xmm3, dword [esp + 0xe8]
movaps xmm1, xmm2
addss xmm3, dword [esp + 0xec]
shufps xmm1, xmm2, 1
movaps xmmword [esp + 0x100], xmm1
movups xmmword [esp + 0xa0], xmm2
movaps xmm0, xmm3
mulss xmm3, xmm2
mulss xmm0, xmm1
mulss xmm3, dword [0x1041ed50]
mulss xmm0, dword [0x1041ed50]
addss xmm3, dword [esp + 0xc4]
movss xmm1, dword [esp + 0x94]
addss xmm0, dword [esp + 0x64]
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x40], xmm0
je 0x100a9f11
mulss xmm1, dword [0x1041ed5c]
jmp 0x100a9f19
mulss xmm1, dword [0x1041ed54]
movaps xmm0, xmm1
movss dword [esp + 0x94], xmm1
mulss xmm0, dword [0x1041ed70]
cvttss2si esi, xmm0
cmp esi, 9
jge 0x100a9f3d
mov esi, 9
jmp 0x100a9f47
mov eax, 0x20
cmp esi, eax
cmovg esi, eax
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x40]
push esi
push dword [esp + 0xa0]
movaps xmm2, xmm1
mov ecx, edi
push eax
call fcn.10095450
movss xmm2, dword [esp + 0x94]
lea eax, [esp + 0x40]
addss xmm2, dword [0x1041edc4]
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push esi
push dword [esp + 0x70]
push eax
call fcn.10095370
movss xmm2, dword [esp + 0x94]
lea eax, [esp + 0x40]
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push esi
mov esi, dword [esp + 0x28]
push esi
push eax
call fcn.10095370
movaps xmm3, xmmword [esp + 0x100]
mov ecx, edi
movss xmm7, dword [esp + 0x64]
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x30]
movaps xmm5, xmm3
mov eax, dword [0x1060b300]
movups xmm4, xmmword [esp + 0xa0]
push 6
movss xmm6, dword [esp + 0x60]
addss xmm0, xmm7
mulss xmm5, dword [esp + 0xbc]
movaps xmm1, xmm4
push 6
mulss xmm1, dword [esp + 0xc0]
movss dword [esp + 0x8c], xmm0
movaps xmm2, xmm5
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esp + 0x38]
addss xmm0, dword [esp + 0xcc]
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x80], xmm0
movaps xmm0, xmm6
mulss xmm6, xmm3
mulss xmm3, dword [esp + 0xbc]
mulss xmm0, xmm4
addss xmm6, xmm1
mulss xmm4, dword [esp + 0xbc]
addss xmm3, xmm1
subss xmm2, xmm0
movss xmm0, dword [eax + 0x1938]
addss xmm6, dword [esp + 0xcc]
subss xmm5, xmm4
movss dword [esp + 0x54], xmm0
addss xmm3, dword [esp + 0xcc]
movss xmm0, dword [eax + 0x193c]
addss xmm2, xmm7
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x64], xmm6
addss xmm5, xmm7
movss dword [esp + 0x3c], xmm6
movaps xmmword [esp + 0x108], xmm3
movss dword [esp + 0xac], xmm3
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x50], xmm5
movss dword [esp + 0xa8], xmm5
call fcn.10092e30
mov ecx, dword [edi + 0x38]
mov ax, word [edi + 0x28]
mov word [ecx], ax
add dword [edi + 0x38], 2
mov eax, dword [edi + 0x34]
movss xmm2, dword [esp + 0x84]
movss dword [eax], xmm2
movss xmm3, dword [esp + 0x2c]
movss dword [eax + 4], xmm3
mov eax, dword [edi + 0x34]
movss xmm0, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x54]
mov edx, dword [esp + 0x9c]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
movss xmm4, dword [esp + 0x30]
movss xmm7, dword [esp + 0x5c]
movss xmm6, dword [esp + 0x48]
mov dword [eax + 0x10], edx
add dword [edi + 0x34], 0x14
inc dword [edi + 0x28]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x28]
movaps xmm5, xmmword [esp + 0x100]
mov word [eax], cx
mov eax, dword [edi + 0x34]
add dword [edi + 0x38], 2
movss dword [eax], xmm4
movss dword [eax + 4], xmm7
mov eax, dword [edi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
mov dword [eax + 0x10], edx
add dword [edi + 0x34], 0x14
inc dword [edi + 0x28]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x28]
mov word [eax], cx
mov eax, dword [edi + 0x34]
add dword [edi + 0x38], 2
movss dword [eax], xmm6
movss dword [eax + 4], xmm5
mov eax, dword [edi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
mov dword [eax + 0x10], esi
add dword [edi + 0x34], 0x14
mov eax, dword [edi + 0x38]
inc dword [edi + 0x28]
mov ecx, dword [edi + 0x28]
mov word [eax], cx
mov eax, dword [edi + 0x34]
add dword [edi + 0x38], 2
movss dword [eax], xmm2
movss dword [eax + 4], xmm3
mov eax, dword [edi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
mov dword [eax + 0x10], 0
mov eax, dword [edi + 0x38]
add dword [edi + 0x34], 0x14
inc dword [edi + 0x28]
mov ecx, dword [edi + 0x28]
mov word [eax], cx
mov eax, dword [edi + 0x34]
add dword [edi + 0x38], 2
mov ecx, dword [esp + 0x98]
movss dword [eax], xmm4
movss dword [eax + 4], xmm7
mov eax, dword [edi + 0x34]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
mov dword [eax + 0x10], ecx
mov eax, dword [edi + 0x38]
inc dword [edi + 0x28]
add dword [edi + 0x34], 0x14
mov ecx, dword [edi + 0x28]
mov word [eax], cx
mov eax, dword [edi + 0x34]
add dword [edi + 0x38], 2
movss dword [eax], xmm6
movss dword [eax + 4], xmm5
mov eax, dword [edi + 0x34]
push ecx
mov dword [esp], 0x3fc00000
mov ecx, edi
push dword [esp + 0x6c]
movss dword [eax + 8], xmm0
movss dword [eax + 0xc], xmm1
mov eax, dword [edi + 0x34]
mov dword [eax + 0x10], 0
lea eax, [esp + 0xa8]
add dword [edi + 0x34], 0x14
inc dword [edi + 0x28]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10095140
movss xmm2, dword [0x1041edc4]
xorps xmm0, xmm0
movaps xmm4, xmm2
subss xmm4, dword [esp + 0x3c]
comiss xmm0, xmm4
jbe 0x100aa28c
xorps xmm4, xmm4
jmp 0x100aa290
minss xmm4, xmm2
movss xmm1, dword [esp + 0x24]
comiss xmm0, xmm1
jbe 0x100aa2a0
xorps xmm1, xmm1
jmp 0x100aa2a4
minss xmm1, xmm2
movss xmm0, dword [esp + 0x84]
subss xmm0, dword [esp + 0x48]
movss xmm2, dword [esp + 0x30]
movaps xmm3, xmmword [esp + 0x100]
mov esi, dword [esp + 0xc8]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x48]
subss xmm2, xmm0
mulss xmm2, xmm4
addss xmm2, xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, xmm3
movss dword [esp + 0x88], xmm2
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x5c]
addss xmm0, xmm3
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
movss dword [esp + 0x8c], xmm1
jmp 0x100aa687
test dword [esp + 0xc], 0x2000000
je 0x100aa692
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x9c]
movss xmm0, dword [esp + 0xbc]
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x34]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x44]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x54]
push eax
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0xbc], xmm0
call fcn.10094fc0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0xa0]
movss xmm0, dword [esp + 0xbc]
push ecx
push ecx
mov ecx, dword [esp + 0x30]
push 0
push 0
push eax
movss dword [esp + 0xb4], xmm0
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x78]
push eax
movss dword [esp + 0xbc], xmm0
call fcn.10094fc0
movss xmm0, dword [esp + 0xbc]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x34], xmm0
xorps xmm0, xmm0
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.10077a20
movss xmm1, dword [esp + 0x34]
xorps xmm0, xmm0
movss xmm2, dword [0x1041edc4]
add esp, 0x10
comiss xmm0, xmm1
jbe 0x100aa40e
xorps xmm1, xmm1
jmp 0x100aa412
minss xmm1, xmm2
movss xmm5, dword [esp + 0x38]
movss xmm6, dword [esp + 0x40]
movss xmm7, dword [0x1041ed50]
mulss xmm1, xmm5
movss xmm4, dword [0x1041ee50]
movss xmm3, dword [esp + 0xbc]
addss xmm1, xmm6
addss xmm6, xmm4
subss xmm3, xmm4
addss xmm1, xmm7
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm6, xmm1
jbe 0x100aa466
movss dword [esp + 0x88], xmm6
jmp 0x100aa47f
comiss xmm1, xmm3
jbe 0x100aa476
movss dword [esp + 0x88], xmm3
jmp 0x100aa47f
movss dword [esp + 0x88], xmm1
movaps xmm1, xmm2
subss xmm1, dword [esp + 0x3c]
comiss xmm0, xmm1
jbe 0x100aa492
xorps xmm1, xmm1
jmp 0x100aa496
minss xmm1, xmm2
movss xmm3, dword [esp + 0x18]
mulss xmm1, xmm5
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm4
addss xmm1, xmm3
addss xmm1, xmm7
cvttss2si eax, xmm1
movaps xmm1, xmm3
addss xmm1, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
jbe 0x100aa4d4
movss dword [esp + 0x8c], xmm1
jmp 0x100aa4ed
comiss xmm2, xmm0
jbe 0x100aa4e4
movss dword [esp + 0x8c], xmm0
jmp 0x100aa4ed
movss dword [esp + 0x8c], xmm2
movss xmm0, dword [esp + 0xd0]
movaps xmm1, xmm5
mulss xmm1, dword [0x1041ecf4]
xor ecx, ecx
mov esi, dword [esp + 0x28]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0xc0]
movss dword [esp + 0x4c], xmm1
movss dword [esp + 0x74], xmm0
nop word [eax + eax]
mov eax, dword [esp + ecx*4 + 0x124]
lea edi, [ecx + 1]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push eax
push eax
lea eax, [esp + 0xa8]
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0xac], xmm0
movd xmm0, ecx
mov ecx, dword [esp + ecx*4 + 0x128]
cvtdq2ps xmm0, xmm0
push ecx
push ecx
push eax
lea eax, [esp + 0x88]
mov ecx, esi
push eax
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0x90], xmm0
call fcn.10094fc0
movss xmm1, dword [esp + 0x4c]
mov ecx, edi
movss xmm3, dword [esp + 0x18]
cmp ecx, 6
jl 0x100aa530
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xc0]
push dword [esp + 0x34]
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm3
push dword [esp + 0x34]
movss dword [esp + 0x4c], xmm0
xorps xmm0, xmm0
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.10077a20
mov esi, dword [esp + 0xd8]
movss xmm1, dword [esp + 0x70]
addss xmm1, dword [0x1041ee50]
mov ecx, dword [esp + 0x38]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movss dword [esp + 0x44], xmm2
addss xmm0, dword [0x1041edc4]
movss xmm2, dword [esp + 0xd0]
push dword [esp + 0x44]
subss xmm2, dword [0x1041edc4]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, dword [esp + 0x4c]
push dword [esp + 0x44]
movss dword [esp + 0x58], xmm2
addss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x1041ed50]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x1518]
movss dword [esp + 0x5c], xmm0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.100a8440
add esp, 0x20
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0xe4]
cmp byte [esp + 0xb], 0
je 0x100aa6ac
movss xmm0, dword [0x1041ef28]
movss dword [esp + 0xf0], xmm0
jmp 0x100aa6b4
movss xmm0, dword [0x1041ef04]
test eax, 0xff000000
je 0x100aa6f5
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x88]
push 0xb
push 0
push eax
movaps xmm2, xmm0
call fcn.10094530
mov eax, dword [esp + 0x28]
mov ecx, eax
push dword [esp + 0x6c]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.10093d60
mov eax, dword [esp + 0x28]
mov dword [eax + 0x54], 0
jmp 0x100aa6f9
mov eax, dword [esp + 0x28]
test dword [esp + 0x68], 0xff000000
je 0x100aa751
movss xmm2, dword [esp + 0xf0]
lea ecx, [esp + 0x88]
addss xmm2, dword [0x1041ed50]
push 0xb
push 0
push ecx
mov ecx, eax
call fcn.10094530
mov eax, dword [esp + 0x28]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push dword [esp + 0x70]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.10093070
mov eax, dword [esp + 0x28]
mov dword [eax + 0x54], 0
test dword [esp + 0x20], 0xff000000
je 0x100aa7a9
movss xmm2, dword [esp + 0xf0]
lea ecx, [esp + 0x88]
subss xmm2, dword [0x1041ed50]
push 0xb
push 0
push ecx
mov ecx, eax
call fcn.10094530
mov eax, dword [esp + 0x28]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push dword [esp + 0x28]
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.10093070
mov eax, dword [esp + 0x28]
mov dword [eax + 0x54], 0
cmp dword [esp + 0xf4], 0x10000
jne 0x100aa95b
movss xmm0, dword [edi + 0xc]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x100aa7d2
movss dword [esp + 0xc8], xmm1
jmp 0x100aa7e3
minss xmm0, dword [0x1041edc4]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0xe0]
xorps xmm3, xmm3
movss xmm2, dword [esp + 0x18]
xor edx, edx
movss dword [esp + 0xa0], xmm0
mov ecx, eax
addss xmm0, dword [esp + 0x60]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x34], 0
push dword [esp + 0x34]
mov dword [esp + 0x34], 0
push dword [esp + 0x34]
movss dword [esp + 0xb0], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0xac], xmm2
movss xmm2, dword [esp + 0x68]
mulss xmm2, dword [0x1041ed50]
movss dword [esp + 0xb4], xmm0
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push edi
push 0
call fcn.1009ac90
mov ecx, dword [esp + 0x88]
add esp, 0x1c
mov eax, ecx
and eax, 0xffffff
push eax
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.10094fc0
push dword [esp + 0xac]
xorps xmm0, xmm0
push dword [esp + 0xac]
push dword [esp + 0xac]
push edi
call fcn.10077a20
movss xmm1, dword [0x1041edc4]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mov ecx, dword [esp + 0x38]
movaps xmm0, xmm2
movss dword [esp + 0x44], xmm2
movss xmm2, dword [esp + 0xf0]
addss xmm0, xmm1
subss xmm2, xmm1
subss xmm1, dword [esp + 0xd8]
push dword [esp + 0x44]
movss dword [esp + 0x44], xmm0
push dword [esp + 0x44]
mulss xmm1, dword [esp + 0x50]
movss dword [esp + 0x58], xmm2
addss xmm1, dword [esp + 0x30]
addss xmm1, dword [0x1041ed50]
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x78]
addss xmm1, dword [0x1041ee50]
movd xmm0, eax
mov eax, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x1518]
movss dword [esp + 0x5c], xmm0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.100a8440
add esp, 0x20
call fcn.10083870
cmp byte [esp + 0xa], 0
je 0x100aa9dd
mov ecx, dword [esp + 0xd4]
lea esi, [esp + 0x13c]
mov edx, dword [esp + 0xe4]
sub ecx, 4
jb 0x100aa992
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x100aa997
add esi, 4
add edx, 4
sub ecx, 4
jae 0x100aa981
cmp ecx, 0xfffffffc
je 0x100aa9d8
mov al, byte [esi]
cmp al, byte [edx]
jne 0x100aa9c4
cmp ecx, 0xfffffffd
je 0x100aa9d8
mov al, byte [esi + 1]
cmp al, byte [edx + 1]
jne 0x100aa9c4
cmp ecx, 0xfffffffe
je 0x100aa9d8
mov al, byte [esi + 2]
cmp al, byte [edx + 2]
jne 0x100aa9c4
cmp ecx, 0xffffffff
je 0x100aa9d8
mov al, byte [esi + 3]
cmp al, byte [edx + 3]
je 0x100aa9d8
mov ecx, dword [esp + 0x11c]
mov ecx, dword [ecx + 0x11c]
call fcn.100788c0
jmp 0x100aa9dd
mov byte [esp + 0xa], 0
mov eax, dword [0x1060b300]
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov esi, dword [eax + 0x1b9c]
cmp dword [esi + 0xc4], 1
jg 0x100aaa0b
push 0x1bae
push str.C:Users_voidDocumentsGitHubecstasy_v6_solutionimguiimgui.cpp
push str.window__IDStack.Size___1
call edi
add esp, 0xc
cmp dword [esi + 0xc4], 0
jg 0x100aaa28
push 0x6a1
push str.C:Users_voidDocumentsGitHubecstasy_v6_solutionimguiimgui.h
push str.Size___0
call edi
add esp, 0xc
dec dword [esi + 0xc4]
mov ecx, dword [esp + 0x14c]
mov al, byte [esp + 0xa]
pop edi
pop esi
xor ecx, esp
call fcn.102bb91c
mov esp, ebp
pop ebp
ret