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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x198
push esi
mov eax, dword [0x1094f1e8]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1094ed98]
cmp eax, dword [edx + 4]
jle 0x100a0936
push 0x1094ed98
call fcn.1016b1a5
add esp, 4
cmp dword [0x1094ed98], 0xffffffff
jne 0x100a0936
push 0x10175520
call fcn.1016b114
add esp, 4
push 0x1094ed98
call fcn.1016b154
add esp, 4
call fcn.100b7770
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x14], xmm0
call fcn.100b8520
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [eax + 8]
addss xmm0, dword [0x1017a91c]
push ecx
movss dword [esp], xmm0
call fcn.100c72c0
add esp, 4
push 0x20
push 0
push 1
push ecx
movss xmm0, dword [0x1018cb68]
movss dword [esp], xmm0
lea ecx, [ebp - 0x78]
push ecx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x80]
call fcn.10069600
push eax
push 0x101d4f94
call fcn.1009db80
add esp, 0x14
mov edx, dword [0x1094c484]
push edx
call fcn.100c39e0
add esp, 4
call fcn.100b77b0
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.100b8520
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
call fcn.100c7300
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
call fcn.100c3d00
add esp, 8
lea eax, [ebp - 0x88]
push eax
call fcn.100b7650
add esp, 4
mov esi, eax
call fcn.100b8520
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x90]
push ecx
call fcn.100b7650
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [0x10182c10]
divss xmm0, dword [0x10182be0]
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.10069600
cmp dword [0x1094ed94], 0
jne 0x100a0a70
mov byte [ebp - 1], 1
jmp 0x100a0a74
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.100f8260
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a0a9d
mov dword [0x1094ed94], 0
push ecx
movss xmm0, dword [0x10182c4c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100c64e0
add esp, 8
cmp dword [0x1094ed94], 1
jne 0x100a0acb
mov byte [ebp - 2], 1
jmp 0x100a0acf
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.100f8260
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a0af8
mov dword [0x1094ed94], 1
call fcn.100c3660
push ecx
movss xmm0, dword [0x10182c4c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100c64e0
add esp, 8
mov edx, dword [0x1094c478]
push edx
call fcn.100c39e0
add esp, 4
push 0x102484b0
push 0
call fcn.100c3be0
add esp, 8
push 1
push ecx
movss xmm0, dword [0x1017a91c]
movss dword [esp], xmm0
push 0x101d4fb4
call fcn.1009ec50
add esp, 0xc
push 1
call fcn.100c3790
add esp, 4
call fcn.100c3660
push 1
call fcn.100c3820
add esp, 4
call fcn.100b4ba0
call fcn.100b8520
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x28], xmm0
call fcn.100b8520
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.10069600
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [0x1018cb68]
movss dword [ebp - 0x30], xmm0
call fcn.100b8520
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.10069600
push eax
call fcn.100c7260
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.100b7650
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x10192ee4]
movss dword [ebp - 0x34], xmm0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.100b7650
add esp, 4
movss xmm0, dword [eax]
divss xmm0, dword [0x10182bc8]
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.10069600
push eax
push 0x101d4fb8
call fcn.100b1040
add esp, 0x10
cmp dword [0x1094ed94], 0
jne 0x100a106b
mov edx, dword [0x1094f1e8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x1094ed9c]
cmp edx, dword [ecx + 4]
jle 0x100a0ccf
push 0x1094ed9c
call fcn.1016b1a5
add esp, 4
cmp dword [0x1094ed9c], 0xffffffff
jne 0x100a0ccf
push 0x10175500
call fcn.1016b114
add esp, 4
push 0x1094ed9c
call fcn.1016b154
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100c3b50
add esp, 4
push 0xf
mov ecx, dword [0x1094bd20]
add ecx, 0x48
push ecx
push 0x10240aa8
push str.configs
call fcn.10105810
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a0d36
mov eax, dword [0x1094bd20]
add eax, 0x48
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10240aa8]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.1009faa0
push eax
mov ecx, 0x10240fe0
call fcn.1003d830
push 0
push 0
push 0
push 0xff
push 0x1094eda0
push str.Config_name
call fcn.100fff60
add esp, 0x18
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea edx, [ebp - 0xc0]
push edx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc8]
call fcn.10069600
push eax
push 0x101d4fdc
call fcn.100f8260
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a0da5
mov ecx, dword [0x1094bd20]
call fcn.10092a20
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd8]
call fcn.10069600
push eax
push str.Save
call fcn.100f8260
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a0dff
mov byte [0x1094c50c], 1
mov byte [0x1094c50d], 1
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea eax, [ebp - 0xe0]
push eax
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe8]
call fcn.10069600
push eax
push str.Load
call fcn.100f8260
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a0e59
mov byte [0x1094c50c], 1
mov byte [0x1094c50d], 0
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea edx, [ebp - 0xf0]
push edx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf8]
call fcn.10069600
push eax
push str.Create
call fcn.100f8260
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a0ecd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x1094eda0
call fcn.1000f880
mov ecx, dword [0x1094bd20]
call fcn.10093240
mov ecx, dword [0x1094bd20]
call fcn.10092a20
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x100]
push ecx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x108]
call fcn.10069600
push eax
push 0x101d5004
call fcn.100f8260
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a0f41
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x10240fe0
call fcn.1000f7d0
mov ecx, dword [0x1094bd20]
call fcn.10092000
mov ecx, dword [0x1094bd20]
call fcn.10092a20
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea eax, [ebp - 0x110]
push eax
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x118]
call fcn.10069600
push eax
push str.Reset
call fcn.100f8260
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a0fa5
mov edx, dword [0x1094bd20]
mov byte [edx + 0x91], 0
mov ecx, dword [0x1094bd20]
call fcn.10093870
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea eax, [ebp - 0x120]
push eax
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x128]
call fcn.10069600
push eax
push str.Open_config_location
call fcn.100f8260
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a1013
push 1
push 0
push 0
mov ecx, dword [0x1094bd20]
add ecx, 0x54
call fcn.100227b0
push eax
push 0x101d5034
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.10109eb0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea edx, [ebp - 0x130]
push edx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x138]
call fcn.10069600
push eax
push str.Unload
call fcn.100f8260
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a1066
mov byte [0x10241ed8], 1
call fcn.100c3750
call fcn.100b4ba0
push ecx
movss xmm0, dword [0x10182c4c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100c64e0
add esp, 8
call fcn.100b77b0
fstp dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x140]
push ecx
movss dword [ebp - 0x44], xmm0
call fcn.100b7650
add esp, 4
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x10186c78]
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
subss xmm1, dword [0x10192ee4]
movss dword [ebp - 0x48], xmm1
lea edx, [ebp - 0x148]
push edx
call fcn.100b7720
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.10069600
lea eax, [ebp - 0x158]
push eax
call fcn.100b7650
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x10192ee4]
movss dword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x160]
push ecx
call fcn.100b7650
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.10069600
push eax
push 0x101d5044
call fcn.100b1040
add esp, 0x10
lea edx, [ebp - 0x170]
push edx
call fcn.100b7650
add esp, 4
mov esi, eax
call fcn.100b79b0
fstp dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
call fcn.100b8520
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [eax + 0x50]
mulss xmm0, dword [0x10182be4]
movss xmm1, dword [esi + 4]
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
call fcn.100b8520
movss xmm0, dword [eax + 0x40]
mulss xmm0, dword [0x10182bc8]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
subss xmm1, dword [0x10182be4]
push ecx
movss dword [esp], xmm1
push ecx
movss xmm0, dword [0x10182c4c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x178]
call fcn.10069600
push eax
push str.scripts
call fcn.100f7ee0
add esp, 8
movzx eax, al
test eax, eax
je 0x100a1226
call fcn.100ff6b0
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x180]
push ecx
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x188]
call fcn.10069600
push eax
push str.Refresh
call fcn.100f8260
add esp, 0x10
push 1
push 1
push ecx
movss xmm0, dword [0x10182bf8]
movss dword [esp], xmm0
lea eax, [ebp - 0x190]
push eax
call fcn.100b7650
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x198]
call fcn.10069600
push eax
push str.Open_script_location
call fcn.100f8260
add esp, 0x10
call fcn.100b4ba0
pop esi
mov esp, ebp
pop ebp
ret