Function at 0x100a5150
Capabilities:
Create process on windows
Self delete

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x198
push esi
mov eax, dword [0x109562d8]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x10955e90]
cmp eax, dword [edx + 4]
jle 0x100a51a6
push 0x10955e90
call fcn.1016fc6b
add esp, 4
cmp dword [0x10955e90], 0xffffffff
jne 0x100a51a6
push 0x1017a5c0
call fcn.1016fbda
add esp, 4
push 0x10955e90
call fcn.1016fc1a
add esp, 4
call fcn.100bc090
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x14], xmm0
call fcn.100bce40
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [eax + 8]
addss xmm0, dword [0x1017f99c]
push ecx
movss dword [esp], xmm0
call fcn.100cbc50
add esp, 4
push 0x20
push 0
push 1
push ecx
movss xmm0, dword [0x101922b8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x78]
push ecx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x80]
call fcn.10069240
push eax
push 0x101dbe1c
call fcn.100a2320
add esp, 0x14
mov edx, dword [0x1095357c]
push edx
call fcn.100c8330
add esp, 4
call fcn.100bc0d0
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.100bce40
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
call fcn.100cbc90
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
call fcn.100c8660
add esp, 8
lea eax, [ebp - 0x88]
push eax
call fcn.100bbf70
add esp, 4
mov esi, eax
call fcn.100bce40
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x90]
push ecx
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [0x1018807c]
divss xmm0, dword [0x10188060]
movss dword [ebp - 0x24], xmm0
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x24]
movss dword [esp], xmm0
lea ecx, [ebp - 0x68]
call fcn.10069240
nop
cmp dword [0x10955e8c], 0
jne 0x100a52e1
mov byte [ebp - 1], 1
jmp 0x100a52e5
mov byte [ebp - 1], 0
push 1
movzx edx, byte [ebp - 1]
push edx
lea eax, [ebp - 0x68]
push eax
push str.General
call fcn.100fc990
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a530e
mov dword [0x10955e8c], 0
push ecx
movss xmm0, dword [0x101880bc]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cae70
add esp, 8
cmp dword [0x10955e8c], 1
jne 0x100a533c
mov byte [ebp - 2], 1
jmp 0x100a5340
mov byte [ebp - 2], 0
push 1
movzx edx, byte [ebp - 2]
push edx
lea eax, [ebp - 0x68]
push eax
push str.Elements
call fcn.100fc990
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5369
mov dword [0x10955e8c], 1
call fcn.100c7fb0
push ecx
movss xmm0, dword [0x101880bc]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cae70
add esp, 8
mov edx, dword [0x10953570]
push edx
call fcn.100c8330
add esp, 4
push 0x1024f540
push 0
call fcn.100c8540
add esp, 8
push 1
push ecx
movss xmm0, dword [0x1017f99c]
movss dword [esp], xmm0
push 0x101dbe3c
call fcn.100a33f0
add esp, 0xc
push 1
call fcn.100c80e0
add esp, 4
call fcn.100c7fb0
push 1
call fcn.100c8170
add esp, 4
call fcn.100b94c0
call fcn.100bce40
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x28], xmm0
call fcn.100bce40
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x2c], xmm0
push ecx
movss xmm0, dword [ebp - 0x28]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc]
call fcn.10069240
nop
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [0x101922b8]
movss dword [ebp - 0x30], xmm0
call fcn.100bce40
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x98]
call fcn.10069240
push eax
call fcn.100cbbf0
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101985bc]
movss dword [ebp - 0x34], xmm0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax]
divss xmm0, dword [0x10188048]
subss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0x38], xmm0
push 0
push 1
push ecx
movss xmm0, dword [ebp - 0x34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
lea ecx, [ebp - 0xb0]
call fcn.10069240
push eax
push 0x101dbe40
call fcn.100b5960
add esp, 0x10
cmp dword [0x10955e8c], 0
jne 0x100a58ed
mov edx, dword [0x109562d8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10955e94]
cmp edx, dword [ecx + 4]
jle 0x100a5541
push 0x10955e94
call fcn.1016fc6b
add esp, 4
cmp dword [0x10955e94], 0xffffffff
jne 0x100a5541
push 0x1017a5a0
call fcn.1016fbda
add esp, 4
push 0x10955e94
call fcn.1016fc1a
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100c84b0
add esp, 4
push 0xf
mov ecx, dword [0x10952e18]
add ecx, 0x48
push ecx
push 0x10247ae8
push str.configs
call fcn.10109fb0
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a55a9
mov eax, dword [0x10952e18]
add eax, 0x48
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10247ae8]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.100a4310
push eax
mov ecx, 0x10248020
call fcn.1003d320
nop
push 0
push 0
push 0
push 0xff
push 0x10955e98
push str.Config_name
call fcn.101046c0
add esp, 0x18
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea edx, [ebp - 0xc0]
push edx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc8]
call fcn.10069240
push eax
push 0x101dbe64
call fcn.100fc990
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5619
mov ecx, dword [0x10952e18]
call fcn.10096b60
nop
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd8]
call fcn.10069240
push eax
push str.Save
call fcn.100fc990
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5674
mov byte [0x10953604], 1
mov byte [0x10953605], 1
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea eax, [ebp - 0xe0]
push eax
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe8]
call fcn.10069240
push eax
push str.Load
call fcn.100fc990
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a56cf
mov byte [0x10953604], 1
mov byte [0x10953605], 0
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea edx, [ebp - 0xf0]
push edx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf8]
call fcn.10069240
push eax
push str.Create
call fcn.100fc990
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5746
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x10955e98
call fcn.1000fa20
mov ecx, dword [0x10952e18]
call fcn.10097380
nop
mov ecx, dword [0x10952e18]
call fcn.10096b60
nop
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea ecx, [ebp - 0x100]
push ecx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x108]
call fcn.10069240
push eax
push 0x101dbe84
call fcn.100fc990
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a57bd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x10248020
call fcn.1000f970
mov ecx, dword [0x10952e18]
call fcn.10096130
nop
mov ecx, dword [0x10952e18]
call fcn.10096b60
nop
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea eax, [ebp - 0x110]
push eax
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x118]
call fcn.10069240
push eax
push str.Reset
call fcn.100fc990
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5823
mov edx, dword [0x10952e18]
mov byte [edx + 0x91], 0
mov ecx, dword [0x10952e18]
call fcn.100979c0
nop
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea eax, [ebp - 0x120]
push eax
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x128]
call fcn.10069240
push eax
push str.Open_config_location
call fcn.100fc990
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5893
push 1
push 0
push 0
mov ecx, dword [0x10952e18]
add ecx, 0x54
call fcn.10022d10
push eax
push 0x101dbeac
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
nop
call fcn.1010e5e0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea edx, [ebp - 0x130]
push edx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x138]
call fcn.10069240
push eax
push str.Unload
call fcn.100fc990
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a58e7
mov byte [0x10248f68], 1
call fcn.100c80a0
nop
call fcn.100b94c0
push ecx
movss xmm0, dword [0x101880bc]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cae70
add esp, 8
call fcn.100bc0d0
fstp dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x140]
push ecx
movss dword [ebp - 0x44], xmm0
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x1018c280]
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
subss xmm1, dword [0x101985bc]
movss dword [ebp - 0x48], xmm1
lea edx, [ebp - 0x148]
push edx
call fcn.100bc040
add esp, 4
movss xmm0, dword [eax]
movss dword [ebp - 0x4c], xmm0
push ecx
movss xmm0, dword [ebp - 0x48]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x4c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x150]
call fcn.10069240
nop
lea eax, [ebp - 0x158]
push eax
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101985bc]
movss dword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x160]
push ecx
call fcn.100bbf70
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [ebp - 0xc]
movss dword [ebp - 0x54], xmm0
push 0
push 1
push ecx
movss xmm0, dword [ebp - 0x50]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x54]
movss dword [esp], xmm0
lea ecx, [ebp - 0x168]
call fcn.10069240
push eax
push 0x101dbebc
call fcn.100b5960
add esp, 0x10
lea edx, [ebp - 0x170]
push edx
call fcn.100bbf70
add esp, 4
mov esi, eax
call fcn.100bc2d0
fstp dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
call fcn.100bce40
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [eax + 0x50]
mulss xmm0, dword [0x10188064]
movss xmm1, dword [esi + 4]
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
call fcn.100bce40
movss xmm0, dword [eax + 0x40]
mulss xmm0, dword [0x10188048]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
subss xmm1, dword [0x10188064]
push ecx
movss dword [esp], xmm1
push ecx
movss xmm0, dword [0x101880bc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x178]
call fcn.10069240
push eax
push str.scripts
call fcn.100fc610
add esp, 8
movzx eax, al
test eax, eax
je 0x100a5aaa
call fcn.10103e10
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea ecx, [ebp - 0x180]
push ecx
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x188]
call fcn.10069240
push eax
push str.Refresh
call fcn.100fc990
add esp, 0x10
push 1
push 1
push ecx
movss xmm0, dword [0x10188070]
movss dword [esp], xmm0
lea eax, [ebp - 0x190]
push eax
call fcn.100bbf70
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x198]
call fcn.10069240
push eax
push str.Open_script_location
call fcn.100fc990
add esp, 0x10
call fcn.100b94c0
nop
pop esi
mov esp, ebp
pop ebp
ret