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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0x1008c00c]
xor eax, esp
mov dword [esp + 0x10c], eax
push esi
push edi
xor edi, edi
mov edx, 0x1009125a
push edi
mov ecx, str.Example:_Custom_rendering
call fcn.1000b19f
pop ecx
test al, al
je 0x100325ce
mov eax, dword [0x10090d4c]
test eax, eax
je 0x10030ec0
push dword [0x10090d50]
push str.Examples_Custom_Rendering
push 0x1d3b
push str.c:users_admindesktopprojecticoreguuniversalhookx_srcdependenciesimguiimgui_demo.cpp
call eax
add esp, 0x10
xor edx, edx
mov ecx, str.TabBar
call fcn.10060b0c
test al, al
je 0x100325ce
push edi
xor edx, edx
mov ecx, str.Primitives
call fcn.10061f33
pop ecx
test al, al
je 0x10031e64
mov eax, dword [0x10090d48]
movss xmm0, dword [eax + 0x3bb4]
mulss xmm0, dword [0x10088748]
call fcn.100101d0
call fcn.1000db11
mov edi, eax
push str.Gradients
mov dword [esp + 0x10], edi
call fcn.1004e10e
mov esi, dword [0x10090d48]
pop ecx
call fcn.10010350
movss xmm1, dword [esi + 0x37d8]
mov ecx, dword [esi + 0x3e28]
addss xmm1, xmm1
movss dword [esp + 0x108], xmm0
movss dword [esp + 0x58], xmm0
mov eax, dword [ecx + 0xec]
addss xmm1, dword [esi + 0x3bb4]
mov dword [esp + 0x50], eax
addss xmm0, dword [esp + 0x50]
mov eax, dword [ecx + 0xf0]
mov ecx, 0xff000000
mov dword [esp + 0x54], eax
movss dword [esp + 0x10c], xmm1
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x54]
movss dword [esp + 0x2c], xmm0
call fcn.100047d8
or ecx, 0xffffffff
mov esi, eax
call fcn.100047d8
push esi
push eax
push eax
push esi
lea eax, [esp + 0x38]
mov ecx, edi
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1003c221
push 0
lea edx, [esp + 0x5c]
mov ecx, str.gradient1
call fcn.1004ef63
mov eax, dword [0x10090d48]
movss xmm0, dword [esp + 0x10c]
pop ecx
mov ecx, dword [eax + 0x3e28]
mov eax, dword [ecx + 0xec]
mov dword [esp + 0x50], eax
addss xmm0, dword [esp + 0x50]
mov eax, dword [ecx + 0xf0]
mov ecx, 0xff00ff00
mov dword [esp + 0x54], eax
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x10c]
addss xmm0, dword [esp + 0x54]
movss dword [esp + 0x2c], xmm0
call fcn.100047d8
mov ecx, 0xff0000ff
mov esi, eax
call fcn.100047d8
push esi
push eax
push eax
push esi
lea eax, [esp + 0x38]
mov ecx, edi
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1003c221
xor esi, esi
lea edx, [esp + 0x58]
push esi
mov ecx, str.gradient2
call fcn.1004ef63
mov dword [esp], str.All_primitives
call fcn.1004e10e
mov eax, dword fs:[0x2c]
pop ecx
mov ecx, dword [0x10090cb0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10092330]
cmp eax, dword [ecx + 4]
jle 0x1003109e
mov edi, 0x10092330
push edi
call fcn.1006df30
cmp dword [0x10092330], 0xffffffff
pop ecx
jne 0x1003109e
movaps xmm0, xmmword [0x10088d90]
push edi
movups xmmword [0x10091494], xmm0
call fcn.1006dee6
pop ecx
movss xmm3, dword [0x10088488]
lea eax, [esp + 0x108]
push esi
push str._.0f
push eax
lea eax, [esp + 0x118]
mov dword [esp + 0x118], 0x40000000
push eax
push 0x1009055c
push 8
pop edx
mov ecx, str.Size
mov dword [esp + 0x11c], 0x42c80000
call fcn.10052be3
movss xmm3, dword [0x10088468]
lea eax, [esp + 0x11c]
add esp, 0x14
mov dword [esp + 0x10c], 0x3f800000
mov ecx, str.Thickness
mov dword [esp + 0x108], 0x41000000
push esi
push str._.02f
push eax
lea eax, [esp + 0x118]
push eax
push 0x1008c13c
push 8
pop edx
call fcn.10052be3
add esp, 0x14
mov dword [esp + 0x108], 0xc
mov edi, 0x1007255c
mov dword [esp + 0x10c], 3
lea eax, [esp + 0x108]
mov ecx, str.N_gon_sides
push esi
push edi
push eax
lea eax, [esp + 0x118]
push eax
push 0x1009048c
push 4
pop edx
call fcn.100539a2
add esp, 0x14
mov edx, 0x10091205
mov ecx, str.circlesegmentoverride
call fcn.1005033d
mov eax, dword [0x10090d48]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x37ec]
call fcn.1000ff81
push 0x28
pop esi
push 0
push edi
lea eax, [esp + 0x110]
mov dword [esp + 0x110], esi
push eax
lea eax, [esp + 0x118]
mov dword [esp + 0x118], 3
push eax
push 0x1008c048
push 4
pop edx
mov ecx, str.Circle_segments_override
call fcn.100539a2
or byte [0x10091205], al
add esp, 0x14
mov edx, 0x10091138
mov ecx, str.curvessegmentoverride
call fcn.1005033d
mov eax, dword [0x10090d48]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x37ec]
call fcn.1000ff81
push 0
mov dword [esp + 0x10c], esi
lea eax, [esp + 0x10c]
mov dword [esp + 0x110], 3
push edi
push eax
lea eax, [esp + 0x118]
mov ecx, str.Curves_segments_override
push eax
push 0x10090460
push 4
pop edx
call fcn.100539a2
or byte [0x10091138], al
add esp, 0x14
mov esi, 0x10091494
mov ecx, str.Color
mov edx, esi
push 0
call fcn.100597c6
mov eax, dword [0x10090d48]
lea edi, [esp + 0x1c]
movsd dword es:[edi], dword [esi]
pop ecx
mov ecx, dword [eax + 0x3e28]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx + 0xec]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x10c], eax
mov eax, dword [ecx + 0xf0]
lea ecx, [esp + 0x18]
mov dword [esp + 0x110], eax
movsd dword es:[edi], dword [esi]
call fcn.10003612
movss xmm5, dword [0x1009055c]
mov esi, eax
movss xmm1, dword [esp + 0x10c]
movaps xmm0, xmm5
divss xmm0, dword [0x100885d4]
xor eax, eax
mov edi, dword [esp + 0xc]
mov ecx, esi
cmp byte [0x10091205], al
mov dword [esp + 0x44], esi
cmovne eax, dword [0x1008c048]
mov dword [esp + 0x108], eax
xor eax, eax
cmp byte [0x10091138], al
cmovne eax, dword [0x10090460]
mov dword [esp + 0x50], eax
xor eax, eax
and ecx, 0xff000000
mov dword [esp + 0x10c], eax
mov dword [esp + 0x30], ecx
movss xmm6, dword [esp + 0x110]
addss xmm1, dword [0x100885d0]
addss xmm6, dword [0x100885d0]
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x3c], xmm1
movss dword [esp + 8], xmm6
jmp 0x10031322
movss xmm1, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
movss xmm4, dword [0x10088500]
test eax, eax
jne 0x10031336
movss dword [esp + 0x34], xmm4
jmp 0x10031344
movss xmm0, dword [0x1008c13c]
movss dword [esp + 0x34], xmm0
movss xmm3, dword [0x100884b0]
movaps xmm2, xmm5
mulss xmm2, xmm3
movaps xmm0, xmm1
addss xmm0, xmm2
movss dword [esp + 0x78], xmm0
movaps xmm0, xmm2
addss xmm0, xmm6
movss dword [esp + 0x7c], xmm0
test ecx, ecx
je 0x100313e6
mov eax, dword [0x1009048c]
cmp eax, 2
jle 0x100313e6
movd xmm1, eax
subss xmm2, xmm3
cvtdq2ps xmm1, xmm1
dec eax
push eax
lea eax, [esp + 0x7c]
push ecx
xorps xmm3, xmm3
mov ecx, edi
movaps xmm0, xmm1
subss xmm0, xmm4
mulss xmm0, dword [0x100885e4]
divss xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.1003b336
movss xmm0, dword [esp + 0x34]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 1
push esi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.10039f51
and dword [edi + 0x54], 0
movss xmm5, dword [0x1009055c]
movss xmm6, dword [esp + 8]
movss xmm3, dword [0x100884b0]
movaps xmm1, xmm5
lea eax, [esp + 0x80]
addss xmm1, dword [0x100885f8]
mulss xmm5, xmm3
push ecx
mov ecx, edi
addss xmm1, dword [esp + 0x40]
movaps xmm0, xmm5
movaps xmm2, xmm5
addss xmm0, xmm1
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x84], xmm0
movaps xmm0, xmm5
addss xmm0, xmm6
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push dword [esp + 0x10c]
push esi
push eax
call fcn.1003c3cf
movss xmm1, dword [0x1009055c]
lea eax, [esp + 0x88]
movss xmm4, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
movaps xmm0, xmm1
movss dword [esp + 0x94], xmm4
push ecx
addss xmm2, dword [esp + 0x10]
addss xmm0, xmm2
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x94], xmm2
movss dword [esp + 0x8c], xmm0
movaps xmm0, xmm4
addss xmm0, xmm1
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push 0
push ecx
and dword [esp], 0
mov ecx, edi
push esi
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1003c0e6
movss xmm1, dword [0x1009055c]
lea eax, [esp + 0x98]
movss xmm3, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
movaps xmm0, xmm1
movss dword [esp + 0xa4], xmm3
push ecx
addss xmm2, dword [esp + 0x10]
addss xmm0, xmm2
movss dword [esp + 0x10], xmm2
movss dword [esp + 0xa4], xmm2
movss dword [esp + 0x9c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x5c]
push 0
push ecx
movss dword [esp], xmm0
mov ecx, edi
push esi
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.1003c0e6
movss xmm1, dword [0x1009055c]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
addss xmm2, dword [esp + 0xc]
movss dword [esp + 0xc], xmm2
movss xmm3, dword [esp + 8]
lea eax, [esp + 0xa8]
movaps xmm0, xmm1
movss dword [esp + 0xb0], xmm2
addss xmm0, xmm2
movss dword [esp + 0xb4], xmm3
push ecx
movss dword [esp + 0xac], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x5c]
push 0x90
push ecx
movss dword [esp], xmm0
mov ecx, edi
push esi
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.1003c0e6
movss xmm2, dword [0x1009055c]
lea eax, [esp + 0x28]
movss xmm4, dword [esp + 8]
movaps xmm3, xmm2
addss xmm3, dword [0x100885f8]
movaps xmm0, xmm2
movss dword [esp + 0xc4], xmm4
push ecx
movaps xmm1, xmm4
mov ecx, edi
addss xmm1, xmm2
mulss xmm2, dword [0x100884b0]
addss xmm3, dword [esp + 0x10]
subss xmm1, dword [0x100884b0]
addss xmm0, xmm3
movss dword [esp + 0x2c], xmm3
addss xmm2, xmm3
movss dword [esp + 0x30], xmm1
movss dword [esp + 0xc0], xmm1
movss dword [esp + 0xbc], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0xc4]
movss dword [esp + 0xcc], xmm2
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.1003c32e
movss xmm0, dword [0x1009055c]
lea eax, [esp + 0xc8]
movaps xmm1, xmm0
addss xmm1, dword [0x100885f8]
push ecx
mov ecx, edi
addss xmm1, dword [esp + 0x2c]
addss xmm0, xmm1
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xd4], xmm1
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0xd0], xmm0
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.1003c046
movss xmm2, dword [0x1009055c]
addss xmm2, dword [0x100885f8]
movss xmm3, dword [esp + 8]
movaps xmm0, xmm3
addss xmm2, dword [esp + 0xc]
movss dword [esp + 0xc], xmm2
movss dword [esp + 0xd8], xmm2
addss xmm0, dword [0x1009055c]
push ecx
lea eax, [esp + 0xdc]
movss dword [esp + 0xe4], xmm2
mov ecx, edi
movss dword [esp + 0xe8], xmm3
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1003c046
movss xmm2, dword [esp + 0xc]
lea eax, [esp + 0x10]
addss xmm2, dword [0x100885f8]
movss xmm0, dword [0x1009055c]
movss xmm3, dword [esp + 8]
push ecx
mov ecx, edi
movss dword [esp + 0x20], xmm3
addss xmm0, xmm2
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x1009055c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push esi
push eax
lea eax, [esp + 0x24]
push eax
call fcn.1003c046
movss xmm5, dword [0x1009055c]
movss xmm6, dword [esp + 8]
movaps xmm0, xmm5
mulss xmm0, dword [0x100884bc]
movaps xmm2, xmm5
mov ecx, dword [esp + 0x30]
movaps xmm1, xmm5
mulss xmm1, dword [0x100884a4]
addss xmm0, xmm6
addss xmm2, dword [0x100885f8]
movss dword [esp + 0x64], xmm0
movaps xmm0, xmm5
mulss xmm0, dword [0x100884b0]
addss xmm2, dword [esp + 0xc]
movss dword [esp + 0x60], xmm2
addss xmm0, xmm2
movss dword [esp + 0x68], xmm0
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm5
addss xmm0, xmm2
movss dword [esp + 0x70], xmm0
movaps xmm0, xmm6
addss xmm0, xmm5
movss dword [esp + 0x74], xmm0
test ecx, ecx
je 0x100318ab
lea eax, [esp + 0x60]
lea esi, [edi + 0x54]
push eax
mov ecx, esi
call fcn.1001c058
push dword [esp + 0x50]
lea eax, [esp + 0x74]
mov ecx, edi
push eax
lea eax, [esp + 0x70]
push eax
call fcn.1003bc55
movss xmm0, dword [esp + 0x34]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0
push dword [esp + 0x4c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.10039f51
and dword [esi], 0
movss xmm5, dword [0x1009055c]
movss xmm6, dword [esp + 8]
movss xmm2, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
movss dword [esp + 0xec], xmm6
movaps xmm4, xmm5
movaps xmm1, xmm5
movaps xmm3, xmm5
mulss xmm1, dword [0x10088524]
mulss xmm3, dword [0x10088494]
movaps xmm0, xmm1
addss xmm4, dword [0x100885f8]
addss xmm4, xmm2
movaps xmm2, xmm5
movss dword [esp + 0xe8], xmm4
addss xmm0, xmm4
addss xmm2, xmm4
movss dword [esp + 0xf0], xmm0
movaps xmm0, xmm3
movss dword [esp + 0x100], xmm2
addss xmm0, xmm6
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm2
subss xmm0, xmm1
movaps xmm1, xmm6
addss xmm1, xmm5
movss dword [esp + 0xf8], xmm0
movss dword [esp + 0x104], xmm1
movaps xmm0, xmm1
subss xmm0, xmm3
movss dword [esp + 0xfc], xmm0
test ecx, ecx
je 0x100319ae
lea eax, [esp + 0xe8]
lea esi, [edi + 0x54]
push eax
mov ecx, esi
call fcn.1001c058
push dword [esp + 0x50]
lea eax, [esp + 0x104]
mov ecx, edi
push eax
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.1003bab5
movss xmm0, dword [esp + 0x34]
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0
push dword [esp + 0x4c]
push dword [esi]
push dword [edi + 0x5c]
call fcn.10039f51
and dword [esi], 0
movss xmm5, dword [0x1009055c]
movss xmm6, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10c]
movaps xmm0, xmm5
addss xmm0, dword [0x100885f8]
inc eax
mov dword [esp + 0x10c], eax
addss xmm6, xmm0
movss dword [esp + 8], xmm6
cmp eax, 2
jl 0x10031318
movaps xmm2, xmm5
mulss xmm2, dword [0x100884b0]
movaps xmm0, xmm2
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm2
addss xmm0, xmm6
movss dword [esp + 0x1c], xmm0
test ecx, ecx
je 0x10031a6b
mov eax, dword [0x1009048c]
cmp eax, 2
jle 0x10031a6b
movd xmm1, eax
xorps xmm3, xmm3
cvtdq2ps xmm1, xmm1
dec eax
push eax
push ecx
lea eax, [esp + 0x20]
mov ecx, edi
movaps xmm0, xmm1
subss xmm0, dword [0x10088500]
mulss xmm0, dword [0x100885e4]
divss xmm0, xmm1
movss dword [esp], xmm0
push eax
call fcn.1003b336
mov esi, dword [esp + 0x44]
mov ecx, edi
push esi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.1003ac58
and dword [edi + 0x54], 0
movss xmm5, dword [0x1009055c]
movss xmm6, dword [esp + 8]
jmp 0x10031a6f
mov esi, dword [esp + 0x44]
push dword [esp + 0x108]
movaps xmm1, xmm5
lea eax, [esp + 0x1c]
addss xmm1, dword [0x100885f8]
mulss xmm5, dword [0x100884b0]
mov ecx, edi
push esi
push eax
addss xmm1, dword [esp + 0x48]
movaps xmm0, xmm5
movaps xmm2, xmm5
addss xmm0, xmm1
movss dword [esp + 0x118], xmm1
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm5
addss xmm0, xmm6
movss dword [esp + 0x28], xmm0
call fcn.1003c482
movss xmm1, dword [0x1009055c]
lea eax, [esp + 0x18]
movss xmm3, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm3
push 0
push ecx
and dword [esp], 0
mov ecx, edi
addss xmm2, dword [esp + 0x114]
push esi
push eax
lea eax, [esp + 0x20]
push eax
addss xmm0, xmm2
movss dword [esp + 0x11c], xmm2
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0x30], xmm0
call fcn.1003c1ae
movss xmm1, dword [0x1009055c]
lea eax, [esp + 0x18]
movss xmm3, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm3
push 0
push ecx
mov dword [esp], 0x41200000
mov ecx, edi
addss xmm2, dword [esp + 0x110]
push esi
push eax
lea eax, [esp + 0x20]
push eax
addss xmm0, xmm2
movss dword [esp + 0x11c], xmm2
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0x30], xmm0
call fcn.1003c1ae
movss xmm1, dword [0x1009055c]
movss xmm3, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [0x100885f8]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm3
push 0x90
addss xmm2, dword [esp + 0x10c]
addss xmm0, xmm2
movss dword [esp + 0x10c], xmm2
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0x20], xmm0
push ecx
mov dword [esp], 0x41200000
lea eax, [esp + 0x20]
push esi
push eax
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.1003c1ae
movss xmm2, dword [0x1009055c]
lea eax, [esp + 0x28]
movss xmm4, dword [esp + 8]
movaps xmm3, xmm2
addss xmm3, dword [0x100885f8]
movaps xmm1, xmm4
movss dword [esp + 0x14], xmm4
addss xmm1, xmm2
movaps xmm0, xmm2
mulss xmm2, dword [0x100884b0]
mov ecx, edi
push esi
addss xmm3, dword [esp + 0x10c]
push eax
subss xmm1, dword [0x100884b0]
lea eax, [esp + 0x20]
push eax
addss xmm0, xmm3
movss dword [esp + 0x34], xmm3
addss xmm2, xmm3
lea eax, [esp + 0x1c]
movss dword [esp + 0x38], xmm1
push eax
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x20], xmm2
call fcn.1003c386
movss xmm0, dword [0x1009055c]
lea eax, [esp + 0x18]
movss xmm2, dword [esp + 8]
movaps xmm1, xmm0
addss xmm1, dword [0x100885f8]
push 0
push ecx
and dword [esp], 0
mov ecx, edi
push esi
addss xmm1, dword [esp + 0x34]
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x24], xmm2
push eax
addss xmm0, xmm1
movss dword [esp + 0x11c], xmm1
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x1008c13c]
movss dword [esp + 0x30], xmm0
call fcn.1003c1ae
movss xmm2, dword [0x1009055c]
lea eax, [esp + 0x18]
addss xmm2, dword [0x100885f8]
movss xmm0, dword [0x1008c13c]
movss xmm3, dword [esp + 8]
push 0
push ecx
addss xmm2, dword [esp + 0x110]
and dword [esp], 0
mov ecx, edi
push esi
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x24], xmm3
addss xmm0, xmm2
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x20], xmm2
push eax
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x1009055c]
movss dword [esp + 0x30], xmm0
call fcn.1003c1ae
movss xmm1, dword [esp + 0x30]
lea eax, [esp + 0x18]
addss xmm1, dword [0x10088618]
movss xmm2, dword [esp + 8]
push 0
push ecx
and dword [esp], 0
mov ecx, edi
movaps xmm0, xmm1
movss dword [esp + 0x38], xmm1
addss xmm0, dword [0x10088500]
push esi
push eax
lea eax, [esp + 0x20]
movss dword [esp + 0x20], xmm1
push eax
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x10088500]
movss dword [esp + 0x28], xmm2
movss dword [esp + 0x30], xmm0
call fcn.1003c1ae
movss xmm1, dword [0x1009055c]
lea eax, [esp + 0x18]
movss xmm3, dword [esp + 8]
movaps xmm2, xmm1
addss xmm2, dword [esp + 0x30]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm3
push 0xff00ff00
push 0xff00ffff
push 0xff0000ff
addss xmm0, xmm2
movss dword [esp + 0x1c], xmm2
push 0xff000000
push eax
lea eax, [esp + 0x24]
mov ecx, edi
push eax
movss dword [esp + 0x30], xmm0
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0x34], xmm0
call fcn.1003c221
movss xmm1, dword [0x1009055c]
lea ecx, [esp + 0x18]
addss xmm1, dword [0x100885f8]
movaps xmm0, xmm1
mulss xmm1, dword [0x100885a4]
mulss xmm0, dword [0x100885fc]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x18], xmm0
call fcn.10050fe7
call fcn.1001031a
call fcn.10061f8e
xor edi, edi
push edi
xor edx, edx
mov ecx, str.Canvas
call fcn.10061f33
pop ecx
test al, al
je 0x1003248b
mov eax, dword [0x10090cb0]
mov esi, dword fs:[0x2c]
mov esi, dword [esi + eax*4]
mov eax, dword [0x10092328]
cmp eax, dword [esi + 4]
jle 0x10031ed3
push 0x10092328
call fcn.1006df30
cmp dword [0x10092328], 0xffffffff
pop ecx
jne 0x10031ed3
push 0x10070056
mov dword [0x1009211c], edi
mov dword [0x10092118], edi
mov dword [0x10092120], edi
call fcn.1006e357
mov dword [esp], 0x10092328
call fcn.1006dee6
pop ecx
mov eax, dword [0x10091f78]
cmp eax, dword [esi + 4]
jle 0x10031f0a
mov esi, 0x10091f78
push esi
call fcn.1006df30
cmp dword [0x10091f78], 0xffffffff
pop ecx
jne 0x10031f0a
and dword [0x100914a4], 0
and dword [0x100914a8], 0
push esi
call fcn.1006dee6
pop ecx
mov edx, 0x1009032c
mov ecx, str.Enable_grid
call fcn.1005033d
mov edx, 0x100903f4
mov ecx, str.Enable_context_menu
call fcn.1005033d
push str.Mouse_Left:_drag_to_add_lines__nMouse_Right:_drag_to_scroll__click_for_context_menu.
call fcn.1004e10e
mov esi, dword [0x10090d48]
pop ecx
mov ecx, dword [esi + 0x3e28]
mov eax, dword [ecx + 0xec]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0xf0]
lea ecx, [esp + 0x44]
mov dword [esp + 0x40], eax
call fcn.100104d1
movss xmm2, dword [0x10088644]
movss xmm1, dword [esp + 0x44]
comiss xmm2, xmm1
jbe 0x10031f78
movaps xmm1, xmm2
movss dword [esp + 0x44], xmm1
movss xmm0, dword [esp + 0x48]
comiss xmm2, xmm0
jbe 0x10031f8c
movaps xmm0, xmm2
movss dword [esp + 0x48], xmm0
movss xmm2, dword [esp + 0x3c]
addss xmm2, xmm1
movss xmm1, dword [esp + 0x40]
addss xmm1, xmm0
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x38], xmm1
call fcn.1000db11
push 0
push ecx
and dword [esp], 0
mov edi, eax
push 0xff323232
lea eax, [esp + 0x40]
mov ecx, edi
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1003c1ae
push ecx
mov dword [esp], 0x3f800000
lea eax, [esp + 0x38]
push 0
push ecx
and dword [esp], 0
mov ecx, edi
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1003c0e6
push 3
lea edx, [esp + 0x48]
mov ecx, str.canvas
call fcn.1004ef63
pop ecx
xor ecx, ecx
call fcn.10006a1d
mov dl, al
call fcn.1000890d
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x40]
movss xmm2, dword [esi + 0xdb8]
mov byte [esp + 0x4f], al
addss xmm0, dword [0x100914a4]
addss xmm1, dword [0x100914a8]
movss dword [esp + 0x30], xmm0
subss xmm2, xmm0
movss xmm0, dword [esi + 0xdbc]
movss dword [esp + 0xc], xmm1
subss xmm0, xmm1
movss dword [esp + 0x108], xmm2
movss dword [esp + 0x28], xmm2
movss dword [esp + 0x10c], xmm0
movss dword [esp + 0x2c], xmm0
test dl, dl
je 0x100320d5
cmp byte [0x100911db], 0
jne 0x100320de
push 0
xor edx, edx
xor ecx, ecx
call fcn.1000e4a3
pop ecx
test al, al
je 0x10032111
lea eax, [esp + 0x28]
mov ecx, 0x10092118
push eax
call fcn.1001c058
lea eax, [esp + 0x28]
mov ecx, 0x10092118
push eax
call fcn.1001c058
movss xmm2, dword [esp + 0x108]
mov al, 1
movss xmm0, dword [esp + 0x10c]
mov byte [0x100911db], al
jmp 0x100320da
mov al, byte [0x100911db]
test al, al
je 0x10032111
mov ecx, dword [0x10092120]
mov eax, dword [0x10092118]
movss dword [ecx + eax*8 - 8], xmm2
mov ecx, dword [0x10092120]
mov eax, dword [0x10092118]
movss dword [ecx + eax*8 - 4], xmm0
xor ecx, ecx
call fcn.1000e47d
neg al
sbb al, al
and byte [0x100911db], al
cmp byte [0x100903f4], 0
je 0x10032124
movss xmm1, dword [0x10088720]
jmp 0x10032127
xorps xmm1, xmm1
cmp byte [esp + 0x4f], 0
je 0x1003216a
xor ecx, ecx
inc ecx
call fcn.1000e630
test al, al
je 0x1003216a
movss xmm0, dword [esi + 0xb4]
addss xmm0, dword [0x100914a4]
movss dword [0x100914a4], xmm0
movss xmm0, dword [esi + 0xb8]
addss xmm0, dword [0x100914a8]
movss dword [0x100914a8], xmm0
movss xmm2, dword [0x10088720]
lea ecx, [esp + 0x18]
xor edx, edx
inc edx
call fcn.1000e68c
cmp byte [0x100903f4], 0
mov esi, str.context
je 0x100321b9
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, dword [0x10088424]
lahf
test ah, 0x44
jp 0x100321b9
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, dword [0x10088424]
lahf
test ah, 0x44
jp 0x100321b9
mov ecx, esi
call fcn.10011772
xor edx, edx
mov ecx, esi
call fcn.10011607
test al, al
je 0x1003227b
cmp byte [0x100911db], 0
je 0x100321e6
mov eax, dword [0x10092118]
mov ecx, 0x10092118
add eax, 0xfffffffe
push eax
call fcn.10033149
xor eax, eax
mov ecx, str.Remove_one
cmp dword [0x10092118], eax
mov byte [0x100911db], al
setg byte [esp + 0x108]
push dword [esp + 0x108]
push eax
push eax
call fcn.10060629
add esp, 0xc
test al, al
je 0x10032228
mov eax, dword [0x10092118]
mov ecx, 0x10092118
add eax, 0xfffffffe
push eax
call fcn.10033149
cmp dword [0x10092118], 0
mov ecx, str.Remove_all
setg byte [esp + 0x108]
xor esi, esi
push dword [esp + 0x108]
push esi
push esi
call fcn.10060629
add esp, 0xc
test al, al
je 0x10032274
mov ecx, dword [0x10092120]
test ecx, ecx
je 0x10032274
mov dword [0x1009211c], esi
mov dword [0x10092118], esi
call fcn.10006cee
mov dword [0x10092120], esi
call fcn.10011726
jmp 0x1003227d
xor esi, esi
push 1
lea eax, [esp + 0x38]
mov ecx, edi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.10039a64
cmp byte [0x1009032c], 0
je 0x100323ff
movss xmm0, dword [0x100914a4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fld qword [0x100885b0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm1, dword [esp + 0x44]
fstp dword [esp + 0x108]
movss xmm0, dword [esp + 0x108]
comiss xmm1, xmm0
movss dword [esp + 0x108], xmm0
jbe 0x1003234e
movss xmm1, dword [esp + 0x50]
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0x40]
movss dword [esp + 0x14], xmm1
addss xmm0, dword [esp + 0x3c]
push ecx
mov dword [esp], 0x3f800000
lea eax, [esp + 0x1c]
push 0x28c8c8c8
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x24], xmm0
push eax
mov ecx, edi
movss dword [esp + 0x20], xmm0
call fcn.1003c046
movss xmm0, dword [esp + 0x108]
addss xmm0, dword [0x1008864c]
movss xmm1, dword [esp + 0x44]
comiss xmm1, xmm0
movss dword [esp + 0x108], xmm0
ja 0x100322f9
movss xmm0, dword [0x100914a8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fld qword [0x100885b0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm1, dword [esp + 0x48]
fstp dword [esp + 0x108]
movss xmm0, dword [esp + 0x108]
comiss xmm1, xmm0
movss dword [esp + 0x108], xmm0
jbe 0x100323ff
movss xmm1, dword [esp + 0x58]
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x3c]
movss dword [esp + 0x10], xmm1
addss xmm0, dword [esp + 0x40]
push ecx
mov dword [esp], 0x3f800000
lea eax, [esp + 0x1c]
push 0x28c8c8c8
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x28], xmm0
push eax
mov ecx, edi
movss dword [esp + 0x24], xmm0
call fcn.1003c046
movss xmm0, dword [esp + 0x108]
addss xmm0, dword [0x1008864c]
movss xmm1, dword [esp + 0x48]
comiss xmm1, xmm0
movss dword [esp + 0x108], xmm0
ja 0x100323aa
cmp dword [0x10092118], 0
jle 0x1003247d
mov eax, dword [0x10092120]
push ecx
mov dword [esp], 0x40000000
mov ecx, edi
push 0xff00ffff
movss xmm0, dword [eax + esi*8 + 8]
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [eax + esi*8 + 0xc]
addss xmm0, dword [esp + 0x14]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [eax + esi*8]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + esi*8 + 4]
lea eax, [esp + 0x20]
addss xmm0, dword [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
movss dword [esp + 0x24], xmm0
call fcn.1003c046
add esi, 2
cmp esi, dword [0x10092118]
jl 0x10032408
mov ecx, edi
call fcn.10039b73
call fcn.10061f8e
xor edi, edi
push edi
xor edx, edx
mov ecx, str.BG_FG_draw_lists
call fcn.10061f33
pop ecx
test al, al
je 0x100325c9
mov edx, 0x10090532
mov ecx, str.Draw_in_Background_draw_list
call fcn.1005033d
movss xmm1, dword [0x10088720]
xorps xmm0, xmm0
call fcn.1000ff81
mov ecx, str.The_Background_draw_list_will_be_rendered_below_every_Dear_ImGui_windows.
call fcn.10017007
mov edx, 0x100903a5
mov ecx, str.Draw_in_Foreground_draw_list
call fcn.1005033d
movss xmm1, dword [0x10088720]
xorps xmm0, xmm0
call fcn.1000ff81
mov ecx, str.The_Foreground_draw_list_will_be_rendered_over_every_Dear_ImGui_windows.
call fcn.10017007
cmp byte [0x10090532], 0
mov ecx, dword [0x10090d48]
mov eax, dword [ecx + 0x3e28]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0x1c]
movss dword [esp + 0x108], xmm0
mulss xmm0, dword [0x100884b0]
movss dword [esp + 0x10c], xmm1
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100884b0]
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0x2c], xmm0
je 0x1003258b
mov eax, dword [ecx + 0x47a4]
xor edx, edx
push str.Background
mov ecx, dword [eax]
call fcn.10006d7b
movss xmm2, dword [esp + 0x10c]
lea ecx, [esp + 0x2c]
mulss xmm2, dword [0x100884bc]
mov dword [esp], 0x41600000
push edi
push 0xc80000ff
push ecx
mov ecx, eax
call fcn.1003c3cf
cmp byte [0x100903a5], 0
je 0x100325c4
call fcn.10006e2d
movss xmm2, dword [esp + 0x10c]
mulss xmm2, dword [0x100884bc]
push ecx
mov dword [esp], 0x41200000
lea ecx, [esp + 0x2c]
push edi
push 0xc800ff00
push ecx
mov ecx, eax
call fcn.1003c3cf
call fcn.10061f8e
call fcn.10060e39
call fcn.1000cfc1
mov ecx, dword [esp + 0x114]
pop edi
pop esi
xor ecx, esp
call fcn.1006dac1
mov esp, ebp
pop ebp
ret