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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x168
mov eax, dword [0x4ba040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
mov edx, 0x4bef7e
mov ecx, str.Example:_Custom_rendering
call fcn.0040fc80
add esp, 4
test al, al
je 0x454226
mov eax, dword [0x4bead4]
test eax, eax
je 0x451877
push dword [0x4bead8]
push str.Examples_Custom_Rendering
push 0x1f27
push str.C:Users_sktpDownloadsImGuiExternal_mainImGuiExternalLibrariesImGuiIncludeImGuiimgui_demo.cpp
call eax
add esp, 0x10
xor edx, edx
mov ecx, str.TabBar
call fcn.004900e0
test al, al
je 0x454226
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x452f2c
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x452f2c
push 0
push 0
push 0
mov edx, str.Primitives
mov ecx, esi
call fcn.00491bc0
add esp, 0xc
test al, al
je 0x452f2c
movsx eax, word [esi + 0x74]
mov ecx, dword [esi + 8]
imul eax, eax, 0x2c
mov ecx, dword [eax + ecx]
call fcn.00413a10
mov eax, dword [0x4bead0]
movss xmm0, dword [eax + 0x3cf4]
xorps xmm0, xmmword [0x4b6f40]
mulss xmm0, dword [0x4b6bc0]
call fcn.004167e0
mov ecx, dword [0x4bead0]
push str.Gradients
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
mov edi, dword [eax + 0x270]
call fcn.004762d0
mov edx, dword [0x4bead0]
add esp, 4
test byte [edx + 0x48e8], 1
movss xmm2, dword [edx + 0x38e8]
mov eax, dword [edx + 0x3f8c]
addss xmm2, xmm2
addss xmm2, dword [edx + 0x3cf4]
movss dword [ebp - 0x24], xmm2
je 0x451966
movss xmm3, dword [edx + 0x48f8]
jmp 0x45196e
movss xmm3, dword [eax + 0x1ac]
xorps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x4519b0
cmp dword [eax + 0x198], 0
jne 0x45198e
cmp dword [edx + 0x4ce0], 0
lea ecx, [eax + 0x234]
je 0x451994
lea ecx, [eax + 0x204]
movss xmm0, dword [ecx]
subss xmm0, dword [eax + 0xf8]
addss xmm0, xmm3
movss xmm3, dword [0x4b6ac4]
maxss xmm3, xmm0
mov ecx, dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
cvttss2si esi, xmm3
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
movss xmm1, dword [0x4b6c40]
movss dword [ebp - 0x7c], xmm2
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
addss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x60], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x74]
movss xmm2, dword [edx + 0x38a8]
movss dword [ebp - 8], xmm2
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0x4b6ac4]
comiss xmm2, xmm0
jb 0x451a19
mov dword [ebp - 0x58], 0xff000000
jmp 0x451a40
movaps xmm0, xmm2
mulss xmm0, xmm1
call fcn.0049d500
movss xmm0, dword [0x4b6ac4]
movss xmm1, dword [0x4b6c40]
movss xmm2, dword [ebp - 8]
shl eax, 0x18
mov dword [ebp - 0x58], eax
comiss xmm2, xmm0
jb 0x451a4a
or eax, 0xffffffff
jmp 0x451a5e
mulss xmm2, xmm1
movaps xmm0, xmm2
call fcn.0049d500
shl eax, 0x18
or eax, 0xffffff
mov ecx, dword [ebp - 0x58]
push ecx
push eax
push eax
push ecx
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00462210
push 0
lea edx, [ebp - 0x80]
mov ecx, str.gradient1
call fcn.004776c0
mov edx, dword [0x4bead0]
add esp, 4
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, dword [edx + 0x3f8c]
movss xmm1, dword [edx + 0x38a8]
mov ecx, dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
mov dword [ebp - 0x78], ecx
addss xmm0, dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0x4b6ac4]
comiss xmm1, xmm0
jb 0x451ae5
mov esi, 0xff00ff00
jmp 0x451b0d
movaps xmm0, xmm1
mulss xmm0, dword [0x4b6c40]
call fcn.0049d500
movss xmm0, dword [0x4b6ac4]
mov esi, eax
movss xmm1, dword [ebp - 8]
shl esi, 0x18
or esi, 0xff00
comiss xmm1, xmm0
jb 0x451b19
mov eax, 0xff0000ff
jmp 0x451b31
mulss xmm1, dword [0x4b6c40]
movaps xmm0, xmm1
call fcn.0049d500
shl eax, 0x18
or eax, 0xff
push esi
push eax
push eax
push esi
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00462210
push 0
lea edx, [ebp - 0x80]
mov ecx, str.gradient2
call fcn.004776c0
add esp, 4
push str.All_primitives
call fcn.004762d0
movss xmm3, dword [0x4b6a50]
lea eax, [ebp - 8]
add esp, 4
mov dword [ebp - 0x24], 0x40000000
mov edx, 8
mov dword [ebp - 8], 0x42c80000
mov ecx, str.Size
push 0
push str._.0f
push eax
lea eax, [ebp - 0x24]
push eax
push 0x4be64c
call fcn.0047c350
movss xmm3, dword [0x4b6a30]
lea eax, [ebp - 8]
add esp, 0x14
mov dword [ebp - 0x24], 0x3f800000
mov edx, 8
mov dword [ebp - 8], 0x41000000
mov ecx, str.Thickness
push 0
push str._.02f
push eax
lea eax, [ebp - 0x24]
push eax
push 0x4be1b0
call fcn.0047c350
add esp, 0x14
mov dword [ebp - 8], 0xc
lea eax, [ebp - 8]
mov dword [ebp - 0x24], 3
mov edx, 4
mov ecx, str.N_gon_sides
push 0
push 0x4a0760
push eax
lea eax, [ebp - 0x24]
push eax
push 0x4be584
call fcn.0047d610
add esp, 0x14
mov edx, 0x4bef50
mov ecx, str.circlesegmentoverride
call fcn.00478c00
mov eax, dword [0x4bead0]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x38fc]
call fcn.004165f0
push 0
push 0x4a0760
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x28
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 3
push eax
push 0x4ba0d8
mov edx, 4
mov ecx, str.Circle_segments_override
call fcn.0047d610
add esp, 0x14
mov edx, 0x4bebb8
or byte [0x4bef50], al
mov ecx, str.curvessegmentoverride
call fcn.00478c00
mov eax, dword [0x4bead0]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x38fc]
call fcn.004165f0
push 0
push 0x4a0760
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x28
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 3
push eax
push 0x4be570
mov edx, 4
mov ecx, str.Curves_segments_override
call fcn.0047d610
or byte [0x4bebb8], al
add esp, 0x14
mov edx, 0x4be63c
mov ecx, str.Color
push 0
call fcn.00485dc0
mov eax, dword [0x4bead0]
xorps xmm6, xmm6
movss xmm3, dword [0x4be63c]
add esp, 4
comiss xmm6, xmm3
mov eax, dword [eax + 0x3f8c]
movss xmm2, dword [eax + 0xf8]
movss xmm5, dword [eax + 0xfc]
movss xmm1, dword [0x4b6ac4]
jbe 0x451d17
xorps xmm0, xmm0
jmp 0x451d1e
movaps xmm0, xmm1
minss xmm0, xmm3
movss xmm3, dword [0x4b6c40]
movss xmm4, dword [0x4b6a7c]
movss xmm7, dword [0x4be640]
comiss xmm6, xmm7
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si edx, xmm0
jbe 0x451d4c
xorps xmm0, xmm0
jmp 0x451d53
movaps xmm0, xmm1
minss xmm0, xmm7
movss xmm7, dword [0x4be644]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm6, xmm7
jbe 0x451d76
xorps xmm0, xmm0
jmp 0x451d7d
movaps xmm0, xmm1
minss xmm0, xmm7
movss xmm7, dword [0x4be648]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm6, xmm7
jbe 0x451da0
xorps xmm0, xmm0
jmp 0x451da7
movaps xmm0, xmm1
minss xmm0, xmm7
mulss xmm0, xmm3
lea esi, [edi + 0x54]
xor eax, eax
movss xmm3, dword [0x4be64c]
addss xmm2, dword [0x4b6b88]
addss xmm0, xmm4
movss dword [ebp - 0x6c], xmm3
addss xmm5, dword [0x4b6b88]
movaps xmm7, xmm3
movss dword [ebp - 0x30], xmm3
mulss xmm7, dword [0x4b6ae4]
cvttss2si ecx, xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x4c], xmm2
divss xmm0, dword [0x4b6b8c]
shl ecx, 0x18
or ecx, edx
cmp byte [0x4bef50], al
mov dword [ebp - 0x2c], ecx
cmovne eax, dword [0x4ba0d8]
xor edx, edx
cmp byte [0x4bebb8], dl
mov dword [ebp - 0x64], eax
cmovne edx, dword [0x4be570]
mov dword [ebp - 0x58], edx
xor edx, edx
and ecx, 0xff000000
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x70], ecx
movss dword [ebp - 0x48], xmm7
movss dword [ebp - 0x9c], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x4b6a84]
movss dword [ebp - 0x28], xmm5
movss dword [ebp - 0xb4], xmm3
movss dword [ebp - 0xa0], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm4
movss dword [ebp - 0xa8], xmm3
movss dword [ebp - 0x88], xmm3
movss dword [ebp - 0x24], xmm0
movaps xmm0, xmm3
xorps xmm0, xmmword [0x4b6f40]
mulss xmm0, dword [0x4b6a6c]
movss dword [ebp - 8], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x4b6a58]
movss dword [ebp - 0xa4], xmm0
movaps xmm0, xmm3
subss xmm0, xmm7
movss xmm7, dword [0x4b6bb0]
movss dword [ebp - 0x94], xmm0
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x84], xmm0
jmp 0x451ee0
movss xmm4, dword [0x4b6a7c]
movss xmm1, dword [0x4b6ac4]
test edx, edx
jne 0x451eeb
movss dword [ebp - 0x44], xmm1
jmp 0x451ef8
movss xmm0, dword [0x4be1b0]
movss dword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x70]
movaps xmm2, xmm3
mulss xmm2, xmm4
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [ebp - 0xb8], xmm0
test edx, edx
je 0x451fec
mov ecx, dword [0x4be584]
cmp ecx, 2
jle 0x451fec
movd xmm1, ecx
lea eax, [ecx - 1]
cvtdq2ps xmm1, xmm1
push eax
push ecx
lea eax, [ebp - 0xbc]
mov ecx, edi
subss xmm2, xmm4
xorps xmm3, xmm3
movaps xmm0, xmm1
subss xmm0, dword [0x4b6ac4]
mulss xmm0, dword [0x4b6b9c]
divss xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.00460ca0
movss xmm0, dword [ebp - 0x44]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push dword [ebp - 0x2c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.0045f840
movss xmm7, dword [0x4b6bb0]
movss xmm4, dword [0x4b6a7c]
movss xmm5, dword [ebp - 0x28]
mov dword [esi], 0
movss xmm3, dword [0x4be64c]
movaps xmm1, xmm3
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x70]
addss xmm1, xmm7
movaps xmm2, xmm3
mulss xmm2, xmm4
addss xmm1, dword [ebp - 0x4c]
movaps xmm0, xmm1
movss dword [ebp - 0x68], xmm1
addss xmm0, xmm2
movss dword [ebp - 0x78], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [ebp - 0x74], xmm0
jmp 0x452024
movaps xmm1, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
addss xmm1, xmm7
movaps xmm0, xmm2
addss xmm1, dword [ebp - 0x4c]
movss dword [ebp - 0x68], xmm1
addss xmm0, xmm1
movss dword [ebp - 0x78], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [ebp - 0x74], xmm0
test edx, edx
je 0x45211d
comiss xmm4, xmm2
ja 0x45211d
test eax, eax
jg 0x452049
push ecx
push 0x30
subss xmm2, xmm4
mov ecx, edi
push 0
lea eax, [ebp - 0x78]
push eax
call fcn.004608c0
dec dword [esi]
jmp 0x45209e
cmp eax, 3
jge 0x452055
mov ecx, 3
jmp 0x452064
mov ecx, eax
cmp eax, 0x200
mov eax, 0x200
cmovg ecx, eax
movd xmm1, ecx
lea eax, [ecx - 1]
cvtdq2ps xmm1, xmm1
push eax
push ecx
lea eax, [ebp - 0x78]
mov ecx, edi
subss xmm2, xmm4
xorps xmm3, xmm3
movaps xmm0, xmm1
subss xmm0, dword [0x4b6ac4]
mulss xmm0, dword [0x4b6b9c]
divss xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.00460ca0
movss xmm0, dword [ebp - 0x44]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push dword [ebp - 0x2c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.0045f840
mov eax, dword [ebp - 0x64]
mov ecx, eax
mov dword [esi], 0
movss xmm6, dword [0x4be64c]
movaps xmm2, xmm6
movaps xmm1, xmm6
addss xmm2, dword [0x4b6bb0]
mulss xmm1, dword [0x4b6a7c]
mulss xmm6, dword [0x4b6a58]
addss xmm2, dword [ebp - 0x68]
movaps xmm0, xmm1
movss dword [ebp - 0x98], xmm1
movss dword [ebp - 0x68], xmm6
addss xmm0, xmm2
movss dword [ebp - 0x50], xmm2
movss dword [ebp - 0x80], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x7c], xmm0
jmp 0x45216e
movaps xmm2, xmm3
movaps xmm6, xmm3
mulss xmm6, dword [0x4b6a58]
addss xmm2, xmm7
mov ecx, eax
movss dword [ebp - 0x68], xmm6
addss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm4
movss dword [ebp - 0x50], xmm2
movaps xmm0, xmm1
movss dword [ebp - 0x98], xmm1
addss xmm0, xmm2
movss dword [ebp - 0x80], xmm0
movaps xmm0, xmm1
addss xmm0, xmm5
movss dword [ebp - 0x7c], xmm0
test edx, edx
je 0x45220d
test eax, eax
jg 0x45217f
maxss xmm1, xmm6
mov ecx, edi
call fcn.0045f570
mov ecx, eax
movd xmm1, ecx
lea eax, [ecx - 1]
cvtdq2ps xmm1, xmm1
mov ecx, edi
push eax
lea eax, [ebp - 0x80]
sub esp, 0xc
movss xmm3, dword [ebp - 0x68]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x98]
subss xmm0, dword [0x4b6ac4]
mulss xmm0, dword [0x4b6b9c]
divss xmm0, xmm1
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0xbe99999a
push eax
call fcn.004610b0
movss xmm0, dword [ebp - 0x44]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push dword [ebp - 0x2c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.0045f840
movss xmm5, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x50]
movss xmm7, dword [0x4b6bb0]
mov dword [esi], 0
movss xmm3, dword [0x4be64c]
movaps xmm1, xmm3
movss dword [ebp - 0xc8], xmm5
addss xmm1, xmm7
push ecx
lea eax, [ebp - 0xc4]
addss xmm1, xmm2
movaps xmm0, xmm1
movss dword [ebp - 0x50], xmm1
addss xmm0, xmm3
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0xc4], xmm0
movaps xmm0, xmm5
addss xmm0, xmm3
movss dword [ebp - 0xc0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00461fd0
movss xmm1, dword [0x4be64c]
lea eax, [ebp - 0xd4]
movss xmm3, dword [ebp - 0x28]
movaps xmm2, xmm1
addss xmm2, dword [0x4b6bb0]
push ecx
movss dword [ebp - 0xd8], xmm3
addss xmm2, dword [ebp - 0x50]
movaps xmm0, xmm2
movss dword [ebp - 0x50], xmm2
addss xmm0, xmm1
movss dword [ebp - 0xdc], xmm2
movss dword [ebp - 0xd4], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x9c]
push 0
push ecx
movss dword [esp], xmm0
mov ecx, edi
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.00461fd0
movss xmm1, dword [0x4be64c]
lea eax, [ebp - 0xe4]
movss xmm3, dword [ebp - 0x28]
movaps xmm2, xmm1
addss xmm2, dword [0x4b6bb0]
push ecx
movss dword [ebp - 0xe8], xmm3
addss xmm2, dword [ebp - 0x50]
movaps xmm0, xmm2
movss dword [ebp - 0x50], xmm2
addss xmm0, xmm1
movss dword [ebp - 0xec], xmm2
movss dword [ebp - 0xe4], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x9c]
push 0x90
push ecx
movss dword [esp], xmm0
mov ecx, edi
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.00461fd0
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0xb0]
movss xmm5, dword [ebp - 0x28]
movaps xmm3, xmm2
addss xmm3, dword [0x4b6bb0]
push ecx
movaps xmm1, xmm5
movss dword [ebp - 0xf8], xmm5
addss xmm1, xmm2
mov ecx, edi
addss xmm3, dword [ebp - 0x50]
subss xmm1, dword [0x4b6a7c]
movaps xmm0, xmm3
movss dword [ebp - 0xb0], xmm3
addss xmm0, xmm2
mulss xmm2, dword [0x4b6a7c]
movss dword [ebp - 0xac], xmm1
movss dword [ebp - 0xf0], xmm1
addss xmm2, xmm3
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push dword [ebp - 0x2c]
movss dword [ebp - 0xfc], xmm2
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.004624e0
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0x12c]
addss xmm2, dword [0x4b6bb0]
push ecx
mov ecx, edi
addss xmm2, dword [ebp - 0xb0]
movaps xmm0, xmm2
movss dword [ebp - 0x50], xmm2
addss xmm0, dword [0x4be64c]
movss dword [ebp - 0x104], xmm2
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x128], xmm0
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.00461eb0
movss xmm3, dword [ebp - 0x28]
lea eax, [ebp - 0x10c]
movss xmm2, dword [0x4be64c]
movaps xmm0, xmm3
addss xmm0, dword [0x4be64c]
addss xmm2, dword [0x4b6bb0]
push ecx
mov ecx, edi
movss dword [ebp - 0x110], xmm3
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm2, dword [ebp - 0x50]
movss dword [esp], xmm0
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x114]
movss dword [ebp - 0x68], xmm2
push eax
movss dword [ebp - 0x10c], xmm2
movss dword [ebp - 0x114], xmm2
call fcn.00461eb0
movss xmm2, dword [ebp - 0x68]
addss xmm2, dword [0x4b6bb0]
movss xmm3, dword [ebp - 0x28]
movaps xmm0, xmm2
movss dword [ebp - 0x68], xmm2
addss xmm0, dword [0x4be64c]
movss dword [ebp - 0x11c], xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x4be64c]
push ecx
movss dword [ebp - 0x118], xmm0
lea eax, [ebp - 0x11c]
movss xmm0, dword [ebp - 0x44]
mov ecx, edi
movss dword [esp], xmm0
push dword [ebp - 0x2c]
movss dword [ebp - 0x124], xmm2
push eax
lea eax, [ebp - 0x124]
movss dword [ebp - 0x120], xmm3
push eax
call fcn.00461eb0
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0x14c]
movss xmm3, dword [0x4b6b60]
movaps xmm1, xmm2
addss xmm1, dword [0x4b6bb0]
mulss xmm2, dword [0x4b6a7c]
push 0
push ecx
mov dword [esp], 0xbfc90fd8
mov ecx, edi
addss xmm1, dword [ebp - 0x68]
movaps xmm0, xmm2
push eax
addss xmm0, xmm1
movss dword [ebp - 0x50], xmm1
movss dword [ebp - 0x14c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x148], xmm0
call fcn.00460ca0
movss xmm0, dword [ebp - 0x44]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0
push dword [ebp - 0x2c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.0045f840
movss xmm0, dword [ebp - 0xb4]
movss xmm1, dword [ebp - 0x28]
mov dword [esi], 0
movss xmm2, dword [0x4be64c]
movaps xmm3, xmm2
mov ecx, dword [ebp - 0x70]
addss xmm3, dword [0x4b6bb0]
addss xmm3, dword [ebp - 0x50]
movss dword [ebp - 0x50], xmm3
addss xmm0, xmm3
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0xa8]
addss xmm0, xmm1
movss dword [ebp - 0x98], xmm0
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, xmm3
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, xmm1
movss dword [ebp - 0x138], xmm0
movaps xmm0, xmm3
xorps xmm3, xmm3
addss xmm0, xmm3
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0xa0]
addss xmm0, xmm1
movss dword [ebp - 0x5c], xmm0
test ecx, ecx
je 0x4526fa
cmp dword [esi + 4], 0
jne 0x452697
push 8
mov ecx, esi
call fcn.004296f0
mov eax, dword [edi + 0x54]
mov ecx, dword [edi + 0x5c]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push dword [ebp - 0x58]
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
lea eax, [ebp - 0x134]
inc dword [edi + 0x54]
lea esi, [edi + 0x54]
push eax
lea eax, [ebp - 0x13c]
mov ecx, edi
push eax
call fcn.00461700
movss xmm0, dword [ebp - 0x44]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0
push dword [ebp - 0x2c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.0045f840
movss xmm1, dword [ebp - 0x28]
xorps xmm3, xmm3
mov dword [esi], 0
movss xmm2, dword [0x4be64c]
addss xmm2, dword [0x4b6bb0]
movss xmm0, dword [ebp - 0x88]
lea eax, [ebp - 0x144]
push dword [ebp - 0x58]
push ecx
addss xmm2, dword [ebp - 0x50]
mov ecx, edi
addss xmm0, xmm2
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x94]
addss xmm0, xmm2
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, xmm1
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, xmm2
addss xmm2, xmm3
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0xa4]
addss xmm0, xmm1
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x14], xmm0
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004627b0
movss xmm3, dword [0x4be64c]
movss xmm7, dword [0x4b6bb0]
movaps xmm0, xmm3
movss xmm5, dword [ebp - 0x28]
addss xmm0, xmm7
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x64]
inc edx
mov dword [ebp - 0x90], edx
addss xmm5, xmm0
movss dword [ebp - 0x28], xmm5
cmp edx, 2
jl 0x451ed0
movss xmm0, dword [ebp - 0x4c]
movaps xmm2, xmm3
mulss xmm2, dword [0x4b6a7c]
mov esi, dword [ebp - 0x2c]
mov eax, esi
and eax, 0xff000000
mov dword [ebp - 0x84], eax
addss xmm0, xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, xmm5
movss dword [ebp - 0x34], xmm0
je 0x452892
mov eax, dword [0x4be584]
cmp eax, 2
jle 0x452892
movd xmm1, eax
xorps xmm3, xmm3
cvtdq2ps xmm1, xmm1
dec eax
push eax
push ecx
lea eax, [ebp - 0x38]
mov ecx, edi
movaps xmm0, xmm1
subss xmm0, dword [0x4b6ac4]
mulss xmm0, dword [0x4b6b9c]
divss xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.00460ca0
push esi
push dword [edi + 0x54]
mov ecx, edi
push dword [edi + 0x5c]
call fcn.00460500
movss xmm5, dword [ebp - 0x28]
movss xmm7, dword [0x4b6bb0]
mov dword [edi + 0x54], 0
movss xmm3, dword [0x4be64c]
mov esi, dword [ebp - 0x64]
lea eax, [ebp - 0x38]
movaps xmm1, xmm3
mov ecx, edi
mulss xmm3, dword [0x4b6a7c]
addss xmm1, xmm7
push esi
push dword [ebp - 0x2c]
movaps xmm0, xmm3
movaps xmm2, xmm3
addss xmm1, dword [ebp - 0x4c]
push eax
addss xmm0, xmm1
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm3
addss xmm0, xmm5
movss dword [ebp - 0x34], xmm0
call fcn.00462710
cmp dword [ebp - 0x84], 0
movss xmm3, dword [0x4be64c]
movaps xmm2, xmm3
movaps xmm1, xmm3
addss xmm2, dword [0x4b6bb0]
mulss xmm1, dword [0x4b6a7c]
movaps xmm4, xmm3
mulss xmm4, dword [0x4b6a58]
addss xmm2, dword [ebp - 0x48]
movaps xmm0, xmm1
movss dword [ebp - 0x94], xmm1
movss dword [ebp - 0x48], xmm4
addss xmm0, xmm2
movss dword [ebp - 0x88], xmm2
movss xmm2, dword [ebp - 0x28]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm1
addss xmm0, xmm2
movss dword [ebp - 0x34], xmm0
je 0x4529d2
test esi, esi
jg 0x45295b
maxss xmm1, xmm4
mov ecx, edi
call fcn.0045f570
movss xmm4, dword [ebp - 0x48]
mov esi, eax
movd xmm1, esi
lea eax, [esi - 1]
cvtdq2ps xmm1, xmm1
push eax
lea eax, [ebp - 0x38]
sub esp, 0xc
mov ecx, edi
movss xmm2, dword [ebp - 0x94]
movaps xmm3, xmm4
movaps xmm0, xmm1
subss xmm0, dword [0x4b6ac4]
mulss xmm0, dword [0x4b6b9c]
divss xmm0, xmm1
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0xbe99999a
push eax
call fcn.004610b0
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00460500
movss xmm2, dword [ebp - 0x28]
mov dword [edi + 0x54], 0
movss xmm3, dword [0x4be64c]
jmp 0x4529d5
mov esi, dword [ebp - 0x2c]
movaps xmm1, xmm3
movss dword [ebp - 0x14], xmm2
addss xmm1, dword [0x4b6bb0]
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x38]
push esi
addss xmm1, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
movaps xmm0, xmm1
movss dword [ebp - 0x48], xmm1
addss xmm0, xmm3
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm1, dword [0x4be64c]
lea eax, [ebp - 0x38]
movss xmm5, dword [ebp - 0x28]
movaps xmm2, xmm1
addss xmm2, dword [0x4b6bb0]
push 0
push ecx
mov dword [esp], 0x41200000
mov ecx, edi
push esi
addss xmm2, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x14], xmm5
push eax
movaps xmm0, xmm2
movss dword [ebp - 0x48], xmm2
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm5
addss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm1, dword [0x4be64c]
lea eax, [ebp - 0x38]
movss xmm3, dword [ebp - 0x28]
movaps xmm2, xmm1
addss xmm2, dword [0x4b6bb0]
push 0x90
push ecx
mov dword [esp], 0x41200000
mov ecx, edi
push esi
addss xmm2, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x14], xmm3
push eax
movaps xmm0, xmm2
movss dword [ebp - 0x48], xmm2
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm2, dword [0x4be64c]
movss xmm5, dword [ebp - 0x28]
movaps xmm3, xmm2
addss xmm3, dword [0x4b6bb0]
movaps xmm1, xmm5
addss xmm1, xmm2
addss xmm3, dword [ebp - 0x48]
subss xmm1, dword [0x4b6a7c]
movss dword [ebp - 0x60], xmm3
movaps xmm0, xmm3
movss dword [ebp - 0x5c], xmm1
addss xmm0, xmm2
movss dword [ebp - 0x34], xmm1
mulss xmm2, dword [0x4b6a7c]
lea eax, [ebp - 0x60]
push esi
push eax
lea eax, [ebp - 0x38]
movss dword [ebp - 0x14], xmm5
addss xmm2, xmm3
movss dword [ebp - 0x38], xmm0
push eax
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
movss dword [ebp - 0x18], xmm2
call fcn.00462600
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0x38]
addss xmm2, dword [0x4b6bb0]
movss xmm1, dword [ebp - 0x28]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
addss xmm2, dword [ebp - 0x60]
push esi
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x14], xmm1
push eax
movaps xmm0, xmm2
movss dword [ebp - 0x48], xmm2
addss xmm0, dword [0x4be64c]
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x4be1b0]
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0x38]
addss xmm2, dword [0x4b6bb0]
movss xmm3, dword [ebp - 0x28]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
addss xmm2, dword [ebp - 0x48]
push esi
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x14], xmm3
push eax
movaps xmm0, xmm2
movss dword [ebp - 0x4c], xmm2
addss xmm0, dword [0x4be1b0]
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x4be64c]
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm1, dword [ebp - 0x4c]
lea eax, [ebp - 0x38]
addss xmm1, dword [0x4b6bcc]
movss xmm2, dword [ebp - 0x28]
push 0
push ecx
mov dword [esp], 0
movaps xmm0, xmm1
movss dword [ebp - 0x4c], xmm1
addss xmm0, dword [0x4b6ac4]
push esi
push eax
movss dword [ebp - 0x18], xmm1
lea eax, [ebp - 0x18]
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6ac4]
movss dword [ebp - 0x34], xmm0
push eax
mov ecx, edi
call fcn.004620b0
movss xmm2, dword [0x4be64c]
lea eax, [ebp - 0x38]
movss xmm1, dword [ebp - 0x4c]
movss xmm3, dword [0x4b6cc4]
addss xmm1, xmm2
mulss xmm2, dword [0x4b6a7c]
push 0
push ecx
mov dword [esp], 0x40490fd8
mov ecx, edi
movaps xmm0, xmm2
movss dword [ebp - 0x4c], xmm1
addss xmm0, xmm1
push eax
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x34], xmm0
call fcn.00460ca0
push esi
push dword [edi + 0x54]
mov ecx, edi
push dword [edi + 0x5c]
call fcn.00460500
mov dword [edi + 0x54], 0
lea eax, [edi + 0x54]
cmp dword [eax + 4], 0
xorps xmm1, xmm1
movss xmm2, dword [0x4be64c]
addss xmm2, dword [0x4b6bb0]
addss xmm2, dword [ebp - 0x4c]
movaps xmm0, xmm2
movss dword [ebp - 0x90], xmm2
addss xmm0, xmm1
movss xmm1, dword [ebp - 0xa0]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm1, xmm0
movss dword [ebp - 0x5c], xmm1
jne 0x452d47
push 8
mov ecx, eax
call fcn.004296f0
movss xmm0, dword [ebp - 0x28]
lea eax, [edi + 0x54]
movss xmm2, dword [ebp - 0x90]
movss xmm1, dword [ebp - 0x6c]
mov ecx, dword [eax + 8]
addss xmm1, xmm2
mov eax, dword [eax]
mov edx, dword [ebp - 0x60]
push dword [ebp - 0x58]
mov esi, dword [ebp - 0x5c]
movss dword [ebp - 0x38], xmm1
movss xmm1, dword [ebp - 0x30]
addss xmm1, xmm0
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
lea eax, [ebp - 0x38]
inc dword [edi + 0x54]
mov ecx, edi
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x34], xmm1
movss xmm1, dword [ebp - 0x24]
addss xmm1, xmm2
push eax
movss dword [ebp - 0x18], xmm1
movss xmm1, dword [ebp - 8]
addss xmm1, xmm0
movss dword [ebp - 0x14], xmm1
call fcn.00461700
push dword [ebp - 0x2c]
mov ecx, edi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00460500
movss xmm3, dword [ebp - 0x28]
lea eax, [ebp - 0x38]
mov dword [edi + 0x54], 0
mov ecx, edi
movss xmm1, dword [0x4be64c]
movaps xmm2, xmm1
movss dword [ebp - 0x14], xmm3
addss xmm2, dword [0x4b6bb0]
push 0xff00ff00
push 0xff00ffff
push 0xff0000ff
push 0xff000000
addss xmm2, dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x18]
push eax
movaps xmm0, xmm2
movss dword [ebp - 0x18], xmm2
addss xmm0, xmm1
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
call fcn.00462210
mov ecx, dword [0x4bead0]
movss xmm4, dword [0x4be64c]
addss xmm4, dword [0x4b6bb0]
mov eax, dword [ecx + 0x3f8c]
movaps xmm0, xmm4
mulss xmm4, dword [0x4b6b5c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
mulss xmm0, dword [0x4b6bb8]
movss dword [ebp - 0x34], xmm4
cmp byte [eax + 0xb3], 0
movss dword [ebp - 0x38], xmm0
jne 0x452ec4
movss xmm2, dword [eax + 0xf8]
lea ecx, [ebp - 0x38]
movaps xmm3, xmm2
movss dword [ebp - 0x20], xmm2
addss xmm3, xmm0
movss xmm0, dword [eax + 0xfc]
movaps xmm1, xmm0
movss dword [ebp - 0x1c], xmm0
addss xmm1, xmm4
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [0x4b6cc0]
call fcn.00416490
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.004161a0
add esp, 8
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x3f8c]
mov byte [eax + 0xb0], 1
mov edx, dword [esi + 0x3f8c]
mov ecx, dword [edx + 0x1b4]
mov eax, dword [edx + 0x1bc]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1ac], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1b4], eax
mov edi, dword [esi + 0x3f8c]
cmp byte [edi + 0xb3], 0
jne 0x452f2c
mov edx, dword [esi + 0x4d30]
test edx, edx
je 0x452f2c
movsx eax, word [edx + 0x74]
imul ecx, eax, 0x2c
mov eax, dword [edx + 8]
test byte [ecx + eax + 4], 8
jne 0x452f2c
dec dword [edi + 0xec]
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x453b39
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x453b39
push 0
push 0
push 0
mov edx, str.Canvas
mov ecx, esi
call fcn.00491bc0
add esp, 0xc
test al, al
je 0x453b39
movsx eax, word [esi + 0x74]
mov ecx, dword [esi + 8]
imul eax, eax, 0x2c
mov ecx, dword [eax + ecx]
call fcn.00413a10
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4bfe08]
cmp eax, dword [ecx + 4]
jle 0x452fe5
push 0x4bfe08
call fcn.0049c84e
add esp, 4
cmp dword [0x4bfe08], 0xffffffff
jne 0x452fe5
push 0x49e6d0
mov dword [0x4bfdf8], 0
mov dword [0x4bfdf4], 0
mov dword [0x4bfdfc], 0
call fcn.0049caee
add esp, 4
push 0x4bfe08
call fcn.0049c7fd
add esp, 4
mov edx, 0x4be350
mov ecx, str.Enable_grid
call fcn.00478c00
mov edx, 0x4be4f0
mov ecx, str.Enable_context_menu
call fcn.00478c00
push str.Mouse_Left:_drag_to_add_lines__nMouse_Right:_drag_to_scroll__click_for_context_menu.
call fcn.004762d0
mov eax, dword [0x4bead0]
add esp, 4
mov dword [ebp - 0x64], eax
mov edx, dword [eax + 0x3f8c]
mov ecx, edx
cmp dword [ecx + 0x198], 0
movss xmm3, dword [edx + 0xf8]
movss xmm1, dword [edx + 0xfc]
movss dword [ebp - 0x44], xmm3
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x14], xmm1
jne 0x45305c
cmp dword [eax + 0x4ce0], 0
lea esi, [ecx + 0x234]
je 0x453062
lea esi, [ecx + 0x204]
movss xmm2, dword [esi]
movss xmm0, dword [esi + 4]
subss xmm2, xmm3
movss xmm4, dword [0x4b6bf4]
subss xmm0, xmm1
comiss xmm4, xmm2
movss dword [ebp - 0x58], xmm2
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x7c], xmm0
jbe 0x4530a1
movaps xmm2, xmm4
movss dword [ebp - 0x58], xmm2
movss dword [ebp - 0x80], xmm2
comiss xmm4, xmm0
jbe 0x4530b3
movaps xmm0, xmm4
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x7c], xmm0
mov byte [ecx + 0xb0], 1
addss xmm3, xmm2
mov eax, dword [eax + 0x3f8c]
addss xmm1, xmm0
push 0
push ecx
mov dword [esp], 0
mov edi, dword [eax + 0x270]
lea eax, [ebp - 0x38]
push 0xff323232
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x28], xmm3
push eax
mov ecx, edi
movss dword [ebp - 0x38], xmm3
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x34], xmm1
call fcn.004620b0
test byte [edi + 0x24], 1
lea eax, [ebp - 0x38]
movss xmm2, dword [ebp - 0x4c]
xorps xmm3, xmm3
push 0
push eax
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
je 0x45314d
movss xmm1, dword [0x4b6a7c]
movss xmm0, dword [ebp - 0x28]
subss xmm2, xmm1
subss xmm0, xmm1
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, xmm1
jmp 0x453186
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x4b6a7c]
movss xmm1, dword [ebp - 0x28]
subss xmm1, dword [0x4b6a78]
subss xmm2, dword [0x4b6a78]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x4b6a7c]
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x14], xmm0
call fcn.00461a00
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.0045f840
push 3
lea edx, [ebp - 0x80]
mov dword [edi + 0x54], 0
mov ecx, str.canvas
call fcn.004776c0
add esp, 4
xor ecx, ecx
call fcn.004094b0
mov esi, dword [0x4bead0]
mov ecx, dword [esi + 0x3fdc]
test ecx, ecx
je 0x4531ea
cmp ecx, dword [esi + 0x4908]
sete byte [ebp - 0x51]
jmp 0x4531ee
mov byte [ebp - 0x51], 0
movss xmm0, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
movss xmm1, dword [ebp - 0x2c]
addss xmm0, dword [0x4bf2c4]
addss xmm1, dword [0x4bf2c8]
movss xmm2, dword [ecx + 0xe00]
movss dword [ebp - 0x84], xmm0
subss xmm2, xmm0
movss xmm0, dword [ecx + 0xe04]
movss dword [ebp - 0x94], xmm1
subss xmm0, xmm1
movss dword [ebp - 0x8c], xmm2
movss dword [ebp - 0x88], xmm0
test al, al
je 0x4534d2
cmp byte [0x4bec6f], 0
jne 0x4534db
xor ecx, ecx
call fcn.004144f0
test al, al
je 0x453514
mov ecx, dword [0x4bfdf4]
mov eax, dword [0x4bfdf8]
mov dword [ebp - 8], 6
mov dword [ebp - 0x30], ecx
cmp ecx, eax
jne 0x453371
inc ecx
test eax, eax
je 0x453298
cdq
sub eax, edx
mov edx, dword [0x4bfdf8]
sar eax, 1
add eax, edx
jmp 0x4532a3
mov edx, dword [0x4bfdf8]
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov dword [ebp - 0x48], ecx
cmp ecx, edx
jle 0x45336e
shl ecx, 3
call fcn.004099a0
mov edx, eax
mov eax, dword [0x4bfdfc]
mov dword [ebp - 0x6c], edx
test eax, eax
je 0x453352
mov ecx, dword [0x4bfdf4]
shl ecx, 3
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [0x4bfdfc]
add esp, 0xc
test esi, esi
je 0x453345
mov ecx, dword [0x4bead0]
test ecx, ecx
je 0x453345
movsx eax, word [ecx + 0x5ee4]
mov edx, dword [ecx + 0x3f08]
add eax, 0xbdd
mov dword [ebp - 0x30], edx
cmp dword [ecx + eax*8], edx
lea eax, [ecx + eax*8]
je 0x45333b
movsx eax, word [ecx + 0x5ee4]
inc eax
cdq
idiv dword [ebp - 8]
movzx eax, dx
mov edx, dword [ebp - 0x30]
mov word [ecx + 0x5ee4], ax
cwde
add eax, 0xbdd
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
inc word [eax + 6]
inc dword [ecx + 0x5ee0]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, dword [ebp - 0x6c]
add esp, 4
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x4bfdf4]
mov esi, dword [0x4bead0]
mov dword [0x4bfdfc], edx
mov dword [0x4bfdf8], eax
jmp 0x453377
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x4bfdfc]
mov eax, dword [ebp - 0x8c]
mov dword [edx + ecx*8], eax
mov eax, dword [ebp - 0x88]
mov dword [edx + ecx*8 + 4], eax
mov ecx, dword [0x4bfdf4]
mov eax, dword [0x4bfdf8]
inc ecx
mov dword [0x4bfdf4], ecx
cmp ecx, eax
jne 0x453493
lea edx, [ecx + 1]
test eax, eax
je 0x4533bb
cdq
sub eax, edx
lea edx, [ecx + 1]
sar eax, 1
add eax, dword [0x4bfdf8]
jmp 0x4533c0
mov eax, 8
cmp eax, edx
cmovg edx, eax
mov dword [ebp - 0x48], edx
cmp edx, dword [0x4bfdf8]
jle 0x453493
lea ecx, [edx*8]
call fcn.004099a0
mov edx, eax
mov eax, dword [0x4bfdfc]
mov dword [ebp - 0x6c], edx
test eax, eax
je 0x453477
mov ecx, dword [0x4bfdf4]
shl ecx, 3
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [0x4bfdfc]
add esp, 0xc
test esi, esi
je 0x45346a
mov ecx, dword [0x4bead0]
test ecx, ecx
je 0x45346a
movsx eax, word [ecx + 0x5ee4]
mov edx, dword [ecx + 0x3f08]
add eax, 0xbdd
mov dword [ebp - 0x30], edx
cmp dword [ecx + eax*8], edx
lea eax, [ecx + eax*8]
je 0x453460
movsx eax, word [ecx + 0x5ee4]
inc eax
cdq
idiv dword [ebp - 8]
movzx eax, dx
mov edx, dword [ebp - 0x30]
mov word [ecx + 0x5ee4], ax
cwde
add eax, 0xbdd
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
inc word [eax + 6]
inc dword [ecx + 0x5ee0]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, dword [ebp - 0x6c]
add esp, 4
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x4bfdf4]
mov esi, dword [0x4bead0]
mov dword [0x4bfdfc], edx
mov dword [0x4bfdf8], eax
jmp 0x453499
mov edx, dword [0x4bfdfc]
mov eax, dword [ebp - 0x8c]
movss xmm2, dword [ebp - 0x8c]
movss xmm0, dword [ebp - 0x88]
mov dword [edx + ecx*8], eax
mov eax, dword [ebp - 0x88]
mov dword [edx + ecx*8 + 4], eax
mov ecx, dword [0x4bfdf4]
inc ecx
mov byte [0x4bec6f], 1
mov dword [0x4bfdf4], ecx
jmp 0x4534e1
cmp byte [0x4bec6f], 0
je 0x453517
mov ecx, dword [0x4bfdf4]
mov eax, dword [0x4bfdfc]
movss dword [eax + ecx*8 - 8], xmm2
movss dword [eax + ecx*8 - 4], xmm0
cmp byte [esi + 0xe08], 0
je 0x45350d
mov edx, 0x28f
mov ecx, esi
call fcn.004030a0
cmp byte [eax + 8], 0
je 0x453514
mov byte [0x4bec6f], 0
mov ecx, dword [ebp - 0x64]
mov dl, byte [0x4be4f0]
xorps xmm1, xmm1
test dl, dl
je 0x45352e
movss xmm2, dword [0x4b6cc0]
jmp 0x453531
xorps xmm2, xmm2
cmp byte [ebp - 0x51], 0
je 0x453590
cmp byte [esi + 0xe09], 0
je 0x453590
comiss xmm1, xmm2
jbe 0x45354a
movss xmm2, dword [esi + 0x58]
movss xmm0, dword [esi + 0x387c]
mulss xmm2, xmm2
comiss xmm0, xmm2
setae al
test al, al
je 0x453590
movss xmm0, dword [0x4bf2c4]
addss xmm0, dword [ecx + 0xb0]
movss dword [0x4bf2c4], xmm0
movss xmm0, dword [0x4bf2c8]
addss xmm0, dword [ecx + 0xb4]
movss dword [0x4bf2c8], xmm0
cmp byte [esi + 0xe09], 0
movss xmm2, dword [esi + 0x58]
jne 0x4535ab
cmp byte [esi + 0x383f], 0
je 0x453627
movss xmm0, dword [esi + 0x387c]
mulss xmm2, xmm2
comiss xmm0, xmm2
jb 0x453627
lea eax, [esi + 0xe00]
test eax, eax
jne 0x4535cc
lea eax, [esi + 0xe00]
movss xmm0, dword [eax]
movss xmm2, dword [0x4b6cf4]
comiss xmm0, xmm2
movss xmm3, dword [eax + 4]
jb 0x453627
comiss xmm3, xmm2
jb 0x453627
lea eax, [esi + 0x37d8]
mov ecx, eax
test eax, eax
jne 0x4535f9
lea ecx, [esi + 0xe00]
movss xmm0, dword [ecx]
comiss xmm0, xmm2
movss xmm3, dword [ecx + 4]
jb 0x453627
comiss xmm3, xmm2
jb 0x453627
movss xmm0, dword [esi + 0xe00]
movss xmm2, dword [esi + 0xe04]
subss xmm0, dword [eax]
subss xmm2, dword [eax + 4]
jmp 0x45362d
xorps xmm0, xmm0
xorps xmm2, xmm2
test dl, dl
je 0x4536cc
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4536cc
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x4536cc
mov ecx, dword [esi + 0x3f8c]
mov dword [ebp - 8], ecx
mov ecx, 1
call fcn.00414570
test al, al
je 0x4536cc
mov ecx, 0x20
call fcn.004094b0
test al, al
je 0x4536c6
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, dword [eax + 0xec]
mov eax, dword [eax + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.context
call fcn.00404090
mov ecx, dword [ebp - 8]
mov esi, eax
add esp, 4
mov ecx, dword [ecx]
cmp dword [ecx + 0x3fc4], esi
jne 0x4536ba
push ecx
push str.context
mov edx, 0xb
mov ecx, esi
call fcn.00427b90
add esp, 8
mov edx, 1
mov ecx, esi
call fcn.004178b0
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x4a08]
cmp eax, dword [esi + 0x4a14]
jg 0x4536e9
mov dword [esi + 0x4954], 0
jmp 0x453826
mov esi, dword [esi + 0x3f8c]
mov ecx, str.context
mov edx, dword [esi + 0xec]
mov eax, dword [esi + 0xf4]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.00404090
mov ecx, dword [esi]
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ecx + 0x3fc4], eax
jne 0x453733
push ecx
push str.context
mov edx, 0xb
mov ecx, eax
call fcn.00427b90
mov eax, dword [ebp - 0x30]
add esp, 8
mov edx, 0x141
mov ecx, eax
call fcn.00417d20
test al, al
je 0x453826
cmp byte [0x4bec6f], 0
mov esi, dword [0x4bfdf4]
je 0x453792
mov eax, dword [0x4bfdf8]
add esi, 0xfffffffe
cmp esi, eax
jle 0x45378c
test eax, eax
je 0x453775
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [0x4bfdf8]
jmp 0x45377a
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, 0x4bfdf4
push eax
call fcn.004296f0
mov dword [0x4bfdf4], esi
test esi, esi
mov byte [0x4bec6f], 0
mov ecx, str.Remove_one
setg byte [ebp - 0x30]
push dword [ebp - 0x30]
push 0
push 0
call fcn.0048fa70
mov esi, dword [0x4bfdf4]
add esp, 0xc
test al, al
je 0x4537f9
mov eax, dword [0x4bfdf8]
add esi, 0xfffffffe
cmp esi, eax
jle 0x4537f3
test eax, eax
je 0x4537dc
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [0x4bfdf8]
jmp 0x4537e1
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, 0x4bfdf4
push eax
call fcn.004296f0
mov dword [0x4bfdf4], esi
test esi, esi
mov ecx, str.Remove_all
setg byte [ebp - 0x30]
push dword [ebp - 0x30]
push 0
push 0
call fcn.0048fa70
add esp, 0xc
test al, al
je 0x453821
mov ecx, 0x4bfdf4
call fcn.004010a0
call fcn.00417fc0
movss xmm0, dword [ebp - 0x2c]
movss xmm4, dword [ebp - 0x44]
movaps xmm5, xmm0
movss xmm3, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x4c]
movaps xmm6, xmm3
movups xmmword [ebp - 0x160], xmm0
movups xmm0, xmmword [edi + 0x60]
movaps xmm7, xmm2
movss dword [ebp - 0x40], xmm4
movaps xmmword [ebp - 0x20], xmm0
comiss xmm0, xmm4
movups xmm0, xmmword [ebp - 0x160]
movss dword [ebp - 0x3c], xmm5
movss dword [ebp - 0x38], xmm6
movss dword [ebp - 0x34], xmm7
jbe 0x45387b
movups xmm4, xmmword [edi + 0x60]
movss dword [ebp - 0x40], xmm4
movss xmm1, dword [ebp - 0x1c]
comiss xmm1, xmm0
jbe 0x45388d
movaps xmm5, xmm1
movss dword [ebp - 0x3c], xmm5
movss xmm0, dword [ebp - 0x18]
comiss xmm3, xmm0
jbe 0x45389f
movaps xmm6, xmm0
movss dword [ebp - 0x38], xmm6
movss xmm0, dword [ebp - 0x14]
comiss xmm2, xmm0
jbe 0x4538b1
movaps xmm7, xmm0
movss dword [ebp - 0x34], xmm7
comiss xmm4, xmm6
jb 0x4538bb
movss dword [ebp - 0x38], xmm4
comiss xmm5, xmm7
jb 0x4538c5
movss dword [ebp - 0x34], xmm5
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x40]
cmp edx, ecx
jne 0x4538f8
inc edx
mov dword [ebp - 0x30], edx
test ecx, ecx
je 0x4538e5
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 1
add eax, ecx
jmp 0x4538ea
mov eax, 8
cmp eax, edx
lea ecx, [edi + 0x3c]
cmovg edx, eax
push edx
call fcn.00429b00
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x44]
add eax, eax
movaps xmm0, xmmword [ebp - 0x40]
movups xmmword [ecx + eax*8], xmm0
inc dword [edi + 0x3c]
mov ecx, edi
movups xmmword [edi + 0x60], xmm0
call fcn.0045f430
cmp byte [0x4be350], 0
je 0x453a47
movss xmm0, dword [0x4bf2c4]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x38], xmm0
fld qword [ebp - 0x38]
fld qword [0x4b6b68]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm1, dword [ebp - 0x58]
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
comiss xmm1, xmm0
movss dword [ebp - 8], xmm0
jbe 0x4539b7
movss xmm2, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x2c]
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x14], xmm1
nop dword [eax]
addss xmm0, dword [ebp - 0x44]
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x38]
push 0x28c8c8c8
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x38], xmm0
push eax
mov ecx, edi
movss dword [ebp - 0x18], xmm0
call fcn.00461eb0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x4b6bfc]
movss xmm1, dword [ebp - 0x58]
comiss xmm1, xmm0
movss dword [ebp - 8], xmm0
ja 0x453970
movss xmm0, dword [0x4bf2c8]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x38], xmm0
fld qword [ebp - 0x38]
fld qword [0x4b6b68]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm1, dword [ebp - 0x70]
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
comiss xmm1, xmm0
movss dword [ebp - 8], xmm0
jbe 0x453a47
movss xmm1, dword [ebp - 0x28]
movss dword [ebp - 0x38], xmm1
movss xmm1, dword [ebp - 0x44]
movss dword [ebp - 0x18], xmm1
addss xmm0, dword [ebp - 0x2c]
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x38]
push 0x28c8c8c8
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x34], xmm0
push eax
mov ecx, edi
movss dword [ebp - 0x14], xmm0
call fcn.00461eb0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x4b6bfc]
movss xmm1, dword [ebp - 0x70]
comiss xmm1, xmm0
movss dword [ebp - 8], xmm0
ja 0x453a00
xor esi, esi
cmp dword [0x4bfdf4], esi
jle 0x453ad7
nop word [eax + eax]
mov eax, dword [0x4bfdfc]
movss xmm0, dword [ebp - 0x84]
push ecx
mov dword [esp], 0x40000000
mov ecx, edi
addss xmm0, dword [eax + esi*8 + 8]
push 0xff00ffff
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x94]
addss xmm0, dword [eax + esi*8 + 0xc]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, dword [eax + esi*8]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x94]
addss xmm0, dword [eax + esi*8 + 4]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x18]
push eax
movss dword [ebp - 0x14], xmm0
call fcn.00461eb0
add esi, 2
cmp esi, dword [0x4bfdf4]
jl 0x453a60
mov ecx, dword [edi + 0x3c]
sub ecx, 1
mov dword [edi + 0x3c], ecx
jne 0x453aea
mov eax, dword [edi + 0x2c]
add eax, 0x18
jmp 0x453af5
mov eax, dword [edi + 0x44]
shl ecx, 4
add eax, 0xfffffff0
add eax, ecx
movups xmm0, xmmword [eax]
mov ecx, edi
movups xmmword [edi + 0x60], xmm0
call fcn.0045f430
mov edx, dword [0x4bead0]
mov esi, dword [edx + 0x3f8c]
cmp byte [esi + 0xb3], 0
jne 0x453b39
mov edx, dword [edx + 0x4d30]
test edx, edx
je 0x453b39
movsx eax, word [edx + 0x74]
imul ecx, eax, 0x2c
mov eax, dword [edx + 8]
test byte [ecx + eax + 4], 8
jne 0x453b39
dec dword [esi + 0xec]
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x453e0a
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x453e0a
push 0
push 0
push 0
mov edx, str.BG_FG_draw_lists
mov ecx, esi
call fcn.00491bc0
add esp, 0xc
test al, al
je 0x453e0a
movsx eax, word [esi + 0x74]
mov ecx, dword [esi + 8]
imul eax, eax, 0x2c
mov ecx, dword [eax + ecx]
call fcn.00413a10
mov edx, 0x4be620
mov ecx, str.Draw_in_Background_draw_list
call fcn.00478c00
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x453c05
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov ecx, str.The_Background_draw_list_will_be_rendered_below_every_Dear_ImGui_windows.
call fcn.0041fca0
mov edx, 0x4be43c
mov ecx, str.Draw_in_Foreground_draw_list
call fcn.00478c00
mov eax, dword [0x4bead0]
mov edx, dword [eax + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x453c85
movss xmm1, dword [eax + 0x38f4]
addss xmm1, dword [edx + 0x100]
movss xmm0, dword [edx + 0x104]
movss dword [edx + 0xf8], xmm1
movss dword [edx + 0xfc], xmm0
mov eax, dword [edx + 0x128]
mov ecx, dword [edx + 0x12c]
mov dword [edx + 0x120], eax
mov eax, dword [edx + 0x134]
mov dword [edx + 0x124], ecx
mov dword [edx + 0x130], eax
mov byte [edx + 0x138], 1
mov ecx, str.The_Foreground_draw_list_will_be_rendered_over_every_Dear_ImGui_windows.
call fcn.0041fca0
cmp byte [0x4be620], 0
mov ecx, dword [0x4bead0]
mov eax, dword [ecx + 0x3f8c]
movss xmm0, dword [eax + 0x20]
movss xmm2, dword [eax + 0x24]
movss dword [ebp - 0x30], xmm0
mulss xmm0, dword [0x4b6a7c]
movss dword [ebp - 0x6c], xmm2
addss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x60], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x4b6a7c]
addss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x5c], xmm0
je 0x453d51
mov eax, dword [ecx + 0x4a34]
xor edx, edx
push str.Background
mov ecx, dword [eax]
call fcn.00409a40
movss xmm0, dword [ebp - 0x30]
add esp, 4
mulss xmm0, dword [0x4b6a84]
mov esi, eax
movss xmm1, dword [0x4b6a7c]
comiss xmm1, xmm0
ja 0x453d51
push ecx
subss xmm0, xmm1
mov ecx, esi
push 0x30
push 0
lea eax, [ebp - 0x60]
push eax
movaps xmm2, xmm0
call fcn.004608c0
mov eax, dword [esi + 0x54]
push ecx
mov dword [esp], 0x41600000
dec eax
push 1
push 0xc80000ff
push eax
push dword [esi + 0x5c]
mov ecx, esi
mov dword [esi + 0x54], eax
call fcn.0045f840
mov dword [esi + 0x54], 0
cmp byte [0x4be43c], 0
je 0x453dd4
mov eax, dword [0x4bead0]
mov edx, 1
push str.Foreground
mov eax, dword [eax + 0x4a34]
mov ecx, dword [eax]
call fcn.00409a40
movss xmm1, dword [ebp - 0x6c]
add esp, 4
mulss xmm1, dword [0x4b6a84]
mov esi, eax
movss xmm0, dword [0x4b6a7c]
comiss xmm0, xmm1
ja 0x453dd4
push ecx
subss xmm1, xmm0
mov ecx, esi
push 0x30
push 0
lea eax, [ebp - 0x60]
push eax
movaps xmm2, xmm1
call fcn.004608c0
mov eax, dword [esi + 0x54]
push ecx
mov dword [esp], 0x41200000
dec eax
push 1
push 0xc800ff00
push eax
push dword [esi + 0x5c]
mov ecx, esi
mov dword [esi + 0x54], eax
call fcn.0045f840
mov dword [esi + 0x54], 0
mov esi, dword [0x4bead0]
mov edx, dword [esi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x453e0a
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x453e0a
movsx eax, word [esi + 0x74]
imul ecx, eax, 0x2c
mov eax, dword [esi + 8]
test byte [ecx + eax + 4], 8
jne 0x453e0a
dec dword [edx + 0xec]
mov esi, dword [0x4bead0]
mov eax, dword [esi + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x454221
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x454221
push 0
push 0
push 0
mov edx, str.Draw_Channels
mov ecx, esi
call fcn.00491bc0
add esp, 0xc
test al, al
je 0x454221
movsx eax, word [esi + 0x74]
mov ecx, dword [esi + 8]
imul eax, eax, 0x2c
mov ecx, dword [eax + ecx]
call fcn.00413a10
mov ecx, dword [0x4bead0]
push str.Blue_shape_is_drawn_first:_appears_in_back
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
mov edi, dword [eax + 0x270]
call fcn.004762d0
add esp, 4
push str.Red_shape_is_drawn_after:_appears_in_front
call fcn.004762d0
mov eax, dword [0x4bead0]
add esp, 4
mov eax, dword [eax + 0x3f8c]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
movss xmm1, dword [eax + 0xf8]
movss xmm2, dword [eax + 0xfc]
movaps xmm0, xmm1
addss xmm0, dword [0x4b6bf4]
push 0xffff0000
lea eax, [ebp - 0x38]
movss dword [ebp - 0x30], xmm1
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x6c], xmm2
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6bf4]
push eax
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
movss xmm1, dword [ebp - 0x30]
lea eax, [ebp - 0x38]
movss xmm2, dword [ebp - 0x6c]
movaps xmm0, xmm1
addss xmm0, dword [0x4b6c08]
addss xmm1, dword [0x4b6bd4]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6c08]
addss xmm2, dword [0x4b6bd4]
push 0xff0000ff
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x18], xmm1
push eax
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x14], xmm2
call fcn.004620b0
mov ecx, dword [0x4bead0]
mov dword [ebp - 0x38], 0x42960000
mov dword [ebp - 0x34], 0x42960000
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x453ff9
movss xmm0, dword [eax + 0xfc]
lea ecx, [ebp - 0x38]
movss xmm2, dword [eax + 0xf8]
movaps xmm1, xmm0
addss xmm1, dword [0x4b6c08]
movaps xmm3, xmm2
movss dword [ebp - 0x20], xmm2
addss xmm3, dword [0x4b6c08]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [0x4b6cc0]
movss dword [ebp - 0x18], xmm3
call fcn.00416490
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.004161a0
mov ecx, dword [0x4bead0]
add esp, 8
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x454036
mov edx, dword [eax + 0x1a0]
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 2
cmp dword [eax + 0x198], 0
je 0x454029
mov ecx, edx
neg ecx
sbb ecx, ecx
add ecx, 6
movss xmm1, dword [0x4b6ac4]
call fcn.00479d60
push str.Blue_shape_is_drawn_first__into_channel_1:_appears_in_front
call fcn.004762d0
add esp, 4
push str.Red_shape_is_drawn_after__into_channel_0:_appears_in_back
call fcn.004762d0
mov eax, dword [0x4bead0]
add esp, 4
mov eax, dword [eax + 0x3f8c]
push 2
push ecx
lea ecx, [edi + 0x78]
movss xmm0, dword [eax + 0xf8]
movss dword [ebp - 8], xmm0
movss xmm0, dword [eax + 0xfc]
movss dword [ebp - 0x24], xmm0
call fcn.00462b30
push 1
push edi
lea ecx, [edi + 0x78]
call fcn.00463140
movss xmm1, dword [ebp - 8]
lea eax, [ebp - 0x38]
movss xmm2, dword [ebp - 0x24]
movaps xmm0, xmm1
addss xmm0, dword [0x4b6bf4]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
push 0xffff0000
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6bf4]
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x18], xmm1
push eax
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x34], xmm0
call fcn.004620b0
push 0
push edi
lea ecx, [edi + 0x78]
call fcn.00463140
movss xmm1, dword [ebp - 8]
lea eax, [ebp - 0x38]
movss xmm2, dword [ebp - 0x24]
movaps xmm0, xmm1
addss xmm0, dword [0x4b6c08]
addss xmm1, dword [0x4b6bd4]
push 0
push ecx
mov dword [esp], 0
mov ecx, edi
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x4b6c08]
addss xmm2, dword [0x4b6bd4]
push 0xff0000ff
push eax
lea eax, [ebp - 0x18]
movss dword [ebp - 0x18], xmm1
push eax
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x14], xmm2
call fcn.004620b0
push edi
lea ecx, [edi + 0x78]
call fcn.00462c70
mov ecx, dword [0x4bead0]
mov dword [ebp - 0x38], 0x42960000
mov dword [ebp - 0x34], 0x42960000
mov eax, dword [ecx + 0x3f8c]
mov byte [eax + 0xb0], 1
mov eax, dword [ecx + 0x3f8c]
cmp byte [eax + 0xb3], 0
jne 0x4541de
movss xmm3, dword [eax + 0xf8]
lea ecx, [ebp - 0x38]
movss xmm0, dword [eax + 0xfc]
movaps xmm4, xmm3
addss xmm4, dword [0x4b6c08]
movss xmm1, dword [0x4b6cc0]
movaps xmm2, xmm0
addss xmm2, dword [0x4b6c08]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x14], xmm2
call fcn.00416490
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.004161a0
add esp, 8
push str.After_reordering__contents_of_channel_0_appears_below_channel_1.
call fcn.004762d0
mov esi, dword [0x4bead0]
add esp, 4
mov edx, dword [esi + 0x3f8c]
cmp byte [edx + 0xb3], 0
jne 0x454221
mov esi, dword [esi + 0x4d30]
test esi, esi
je 0x454221
movsx eax, word [esi + 0x74]
imul ecx, eax, 0x2c
mov eax, dword [esi + 8]
test byte [ecx + eax + 4], 8
jne 0x454221
dec dword [edx + 0xec]
call fcn.004905d0
call fcn.00412730
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0049c694
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret