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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x198
push esi
mov eax, dword [0x109572e0]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x10956e90]
cmp eax, dword [edx + 4]
jle 0x100a5526
push 0x10956e90
call fcn.1016fd73
add esp, 4
cmp dword [0x10956e90], 0xffffffff
jne 0x100a5526
push 0x1017a2f0
call fcn.1016fce2
add esp, 4
push 0x10956e90
call fcn.1016fd22
add esp, 4
call fcn.100bc330
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x14], xmm0
call fcn.100bd0e0
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [eax + 8]
addss xmm0, dword [0x1017f97c]
push ecx
movss dword [esp], xmm0
call fcn.100cbe80
add esp, 4
push 0x20
push 0
push 1
push ecx
movss xmm0, dword [0x10192330]
movss dword [esp], xmm0
lea ecx, [ebp - 0x78]
push ecx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x80]
call fcn.10069c80
push eax
push 0x101dc2c4
call fcn.100a26b0
add esp, 0x14
mov edx, dword [0x1095457c]
push edx
call fcn.100c85a0
add esp, 4
call fcn.100bc370
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.100bd0e0
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
call fcn.100cbec0
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
call fcn.100c88c0
add esp, 8
lea eax, [ebp - 0x88]
push eax
call fcn.100bc210
add esp, 4
mov esi, eax
call fcn.100bd0e0
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x90]
push ecx
call fcn.100bc210
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [0x10188024]
divss xmm0, dword [0x10188008]
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.10069c80
cmp dword [0x10956e8c], 0
jne 0x100a5660
mov byte [ebp - 1], 1
jmp 0x100a5664
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.100fce40
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a568d
mov dword [0x10956e8c], 0
push ecx
movss xmm0, dword [0x10188064]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb0a0
add esp, 8
cmp dword [0x10956e8c], 1
jne 0x100a56bb
mov byte [ebp - 2], 1
jmp 0x100a56bf
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.100fce40
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a56e8
mov dword [0x10956e8c], 1
call fcn.100c8220
push ecx
movss xmm0, dword [0x10188064]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb0a0
add esp, 8
mov edx, dword [0x10954570]
push edx
call fcn.100c85a0
add esp, 4
push 0x10250540
push 0
call fcn.100c87a0
add esp, 8
push 1
push ecx
movss xmm0, dword [0x1017f97c]
movss dword [esp], xmm0
push 0x101dc2e4
call fcn.100a3780
add esp, 0xc
push 1
call fcn.100c8350
add esp, 4
call fcn.100c8220
push 1
call fcn.100c83e0
add esp, 4
call fcn.100b9760
call fcn.100bd0e0
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x28], xmm0
call fcn.100bd0e0
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.10069c80
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [0x10192330]
movss dword [ebp - 0x30], xmm0
call fcn.100bd0e0
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.10069c80
push eax
call fcn.100cbe20
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.100bc210
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101988a8]
movss dword [ebp - 0x34], xmm0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.100bc210
add esp, 4
movss xmm0, dword [eax]
divss xmm0, dword [0x10187ff0]
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.10069c80
push eax
push 0x101dc2e8
call fcn.100b5c00
add esp, 0x10
cmp dword [0x10956e8c], 0
jne 0x100a5c5b
mov edx, dword [0x109572e0]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10956e94]
cmp edx, dword [ecx + 4]
jle 0x100a58bf
push 0x10956e94
call fcn.1016fd73
add esp, 4
cmp dword [0x10956e94], 0xffffffff
jne 0x100a58bf
push 0x1017a2d0
call fcn.1016fce2
add esp, 4
push 0x10956e94
call fcn.1016fd22
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100c8710
add esp, 4
push 0xf
mov ecx, dword [0x10953e18]
add ecx, 0x48
push ecx
push 0x10248ae8
push str.configs
call fcn.1010a3e0
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5926
mov eax, dword [0x10953e18]
add eax, 0x48
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10248ae8]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.100a46a0
push eax
mov ecx, 0x10249020
call fcn.1003d6d0
push 0
push 0
push 0
push 0xff
push 0x10956e98
push str.Config_name
call fcn.10104b30
add esp, 0x18
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea edx, [ebp - 0xc0]
push edx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc8]
call fcn.10069c80
push eax
push 0x101dc30c
call fcn.100fce40
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5995
mov ecx, dword [0x10953e18]
call fcn.100974c0
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd8]
call fcn.10069c80
push eax
push str.Save
call fcn.100fce40
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a59ef
mov byte [0x10954604], 1
mov byte [0x10954605], 1
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea eax, [ebp - 0xe0]
push eax
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe8]
call fcn.10069c80
push eax
push str.Load
call fcn.100fce40
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5a49
mov byte [0x10954604], 1
mov byte [0x10954605], 0
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea edx, [ebp - 0xf0]
push edx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf8]
call fcn.10069c80
push eax
push str.Create
call fcn.100fce40
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5abd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x10956e98
call fcn.1000f970
mov ecx, dword [0x10953e18]
call fcn.10097ce0
mov ecx, dword [0x10953e18]
call fcn.100974c0
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea ecx, [ebp - 0x100]
push ecx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x108]
call fcn.10069c80
push eax
push 0x101dc32c
call fcn.100fce40
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5b31
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x10249020
call fcn.1000f8c0
mov ecx, dword [0x10953e18]
call fcn.10096aa0
mov ecx, dword [0x10953e18]
call fcn.100974c0
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea eax, [ebp - 0x110]
push eax
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x118]
call fcn.10069c80
push eax
push str.Reset
call fcn.100fce40
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5b95
mov edx, dword [0x10953e18]
mov byte [edx + 0x91], 0
mov ecx, dword [0x10953e18]
call fcn.10098310
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea eax, [ebp - 0x120]
push eax
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x128]
call fcn.10069c80
push eax
push str.Open_config_location
call fcn.100fce40
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5c03
push 1
push 0
push 0
mov ecx, dword [0x10953e18]
add ecx, 0x54
call fcn.10022b30
push eax
push 0x101dc354
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.1010ea80
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea edx, [ebp - 0x130]
push edx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x138]
call fcn.10069c80
push eax
push str.Unload
call fcn.100fce40
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5c56
mov byte [0x10249f68], 1
call fcn.100c8310
call fcn.100b9760
push ecx
movss xmm0, dword [0x10188064]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb0a0
add esp, 8
call fcn.100bc370
fstp dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x140]
push ecx
movss dword [ebp - 0x44], xmm0
call fcn.100bc210
add esp, 4
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x1018c238]
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
subss xmm1, dword [0x101988a8]
movss dword [ebp - 0x48], xmm1
lea edx, [ebp - 0x148]
push edx
call fcn.100bc2e0
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.10069c80
lea eax, [ebp - 0x158]
push eax
call fcn.100bc210
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101988a8]
movss dword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x160]
push ecx
call fcn.100bc210
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.10069c80
push eax
push 0x101dc364
call fcn.100b5c00
add esp, 0x10
lea edx, [ebp - 0x170]
push edx
call fcn.100bc210
add esp, 4
mov esi, eax
call fcn.100bc570
fstp dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
call fcn.100bd0e0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [eax + 0x50]
mulss xmm0, dword [0x1018800c]
movss xmm1, dword [esi + 4]
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
call fcn.100bd0e0
movss xmm0, dword [eax + 0x40]
mulss xmm0, dword [0x10187ff0]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
subss xmm1, dword [0x1018800c]
push ecx
movss dword [esp], xmm1
push ecx
movss xmm0, dword [0x10188064]
movss dword [esp], xmm0
lea ecx, [ebp - 0x178]
call fcn.10069c80
push eax
push str.scripts
call fcn.100fcac0
add esp, 8
movzx eax, al
test eax, eax
je 0x100a5e16
call fcn.10104280
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea ecx, [ebp - 0x180]
push ecx
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x188]
call fcn.10069c80
push eax
push str.Refresh
call fcn.100fce40
add esp, 0x10
push 1
push 1
push ecx
movss xmm0, dword [0x10188018]
movss dword [esp], xmm0
lea eax, [ebp - 0x190]
push eax
call fcn.100bc210
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x198]
call fcn.10069c80
push eax
push str.Open_script_location
call fcn.100fce40
add esp, 0x10
call fcn.100b9760
pop esi
mov esp, ebp
pop ebp
ret