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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x198
push esi
mov eax, dword [0x109550b8]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x10954c70]
cmp eax, dword [edx + 4]
jle 0x100a44d6
push 0x10954c70
call fcn.1016f233
add esp, 4
cmp dword [0x10954c70], 0xffffffff
jne 0x100a44d6
push 0x10179840
call fcn.1016f1a2
add esp, 4
push 0x10954c70
call fcn.1016f1e2
add esp, 4
call fcn.100bb380
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x14], xmm0
call fcn.100bc130
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [eax + 8]
addss xmm0, dword [0x1017e98c]
push ecx
movss dword [esp], xmm0
call fcn.100caf40
add esp, 4
push 0x20
push 0
push 1
push ecx
movss xmm0, dword [0x101910b8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x78]
push ecx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x80]
call fcn.100689a0
push eax
push 0x101db400
call fcn.100a1640
add esp, 0x14
mov edx, dword [0x1095235c]
push edx
call fcn.100c7620
add esp, 4
call fcn.100bb3c0
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.100bc130
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
call fcn.100caf80
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
call fcn.100c7950
add esp, 8
lea eax, [ebp - 0x88]
push eax
call fcn.100bb260
add esp, 4
mov esi, eax
call fcn.100bc130
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x90]
push ecx
call fcn.100bb260
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [0x10187054]
divss xmm0, dword [0x10187038]
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.100689a0
nop
cmp dword [0x10954c6c], 0
jne 0x100a4611
mov byte [ebp - 1], 1
jmp 0x100a4615
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.100fc020
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a463e
mov dword [0x10954c6c], 0
push ecx
movss xmm0, dword [0x10187094]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100ca160
add esp, 8
cmp dword [0x10954c6c], 1
jne 0x100a466c
mov byte [ebp - 2], 1
jmp 0x100a4670
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.100fc020
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a4699
mov dword [0x10954c6c], 1
call fcn.100c72a0
push ecx
movss xmm0, dword [0x10187094]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100ca160
add esp, 8
mov edx, dword [0x10952350]
push edx
call fcn.100c7620
add esp, 4
push 0x1024e540
push 0
call fcn.100c7830
add esp, 8
push 1
push ecx
movss xmm0, dword [0x1017e98c]
movss dword [esp], xmm0
push 0x101db420
call fcn.100a2720
add esp, 0xc
push 1
call fcn.100c73d0
add esp, 4
call fcn.100c72a0
push 1
call fcn.100c7460
add esp, 4
call fcn.100b87b0
call fcn.100bc130
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x28], xmm0
call fcn.100bc130
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.100689a0
nop
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [0x101910b8]
movss dword [ebp - 0x30], xmm0
call fcn.100bc130
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.100689a0
push eax
call fcn.100caee0
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.100bb260
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101973dc]
movss dword [ebp - 0x34], xmm0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.100bb260
add esp, 4
movss xmm0, dword [eax]
divss xmm0, dword [0x10187020]
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.100689a0
push eax
push 0x101db424
call fcn.100b4c50
add esp, 0x10
cmp dword [0x10954c6c], 0
jne 0x100a4c1d
mov edx, dword [0x109550b8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x10954c74]
cmp edx, dword [ecx + 4]
jle 0x100a4871
push 0x10954c74
call fcn.1016f233
add esp, 4
cmp dword [0x10954c74], 0xffffffff
jne 0x100a4871
push 0x10179820
call fcn.1016f1a2
add esp, 4
push 0x10954c74
call fcn.1016f1e2
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100c77a0
add esp, 4
push 0xf
mov ecx, dword [0x10951bf8]
add ecx, 0x48
push ecx
push 0x10246ae8
push str.configs
call fcn.10109640
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a48d9
mov eax, dword [0x10951bf8]
add eax, 0x48
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10246ae8]
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.100a3640
push eax
mov ecx, 0x10247020
call fcn.1003d3c0
nop
push 0
push 0
push 0
push 0xff
push 0x10954c78
push str.Config_name
call fcn.10103d50
add esp, 0x18
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea edx, [ebp - 0xc0]
push edx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc8]
call fcn.100689a0
push eax
push 0x101db448
call fcn.100fc020
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a4949
mov ecx, dword [0x10951bf8]
call fcn.10095fd0
nop
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd8]
call fcn.100689a0
push eax
push str.Save
call fcn.100fc020
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a49a4
mov byte [0x109523e4], 1
mov byte [0x109523e5], 1
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea eax, [ebp - 0xe0]
push eax
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe8]
call fcn.100689a0
push eax
push str.Load
call fcn.100fc020
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a49ff
mov byte [0x109523e4], 1
mov byte [0x109523e5], 0
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea edx, [ebp - 0xf0]
push edx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf8]
call fcn.100689a0
push eax
push str.Create
call fcn.100fc020
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a4a76
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x10954c78
call fcn.1000fa40
mov ecx, dword [0x10951bf8]
call fcn.100967f0
nop
mov ecx, dword [0x10951bf8]
call fcn.10095fd0
nop
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea ecx, [ebp - 0x100]
push ecx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x108]
call fcn.100689a0
push eax
push 0x101db468
call fcn.100fc020
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a4aed
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x10247020
call fcn.1000f990
mov ecx, dword [0x10951bf8]
call fcn.100955a0
nop
mov ecx, dword [0x10951bf8]
call fcn.10095fd0
nop
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea eax, [ebp - 0x110]
push eax
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x118]
call fcn.100689a0
push eax
push str.Reset
call fcn.100fc020
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a4b53
mov edx, dword [0x10951bf8]
mov byte [edx + 0x91], 0
mov ecx, dword [0x10951bf8]
call fcn.10096e40
nop
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea eax, [ebp - 0x120]
push eax
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x128]
call fcn.100689a0
push eax
push str.Open_config_location
call fcn.100fc020
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a4bc3
push 1
push 0
push 0
mov ecx, dword [0x10951bf8]
add ecx, 0x54
call fcn.10022dc0
push eax
push 0x101db490
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
nop
call fcn.1010dc80
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea edx, [ebp - 0x130]
push edx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x138]
call fcn.100689a0
push eax
push str.Unload
call fcn.100fc020
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a4c17
mov byte [0x10247f68], 1
call fcn.100c7390
nop
call fcn.100b87b0
push ecx
movss xmm0, dword [0x10187094]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100ca160
add esp, 8
call fcn.100bb3c0
fstp dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x140]
push ecx
movss dword [ebp - 0x44], xmm0
call fcn.100bb260
add esp, 4
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x1018b258]
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
subss xmm1, dword [0x101973dc]
movss dword [ebp - 0x48], xmm1
lea edx, [ebp - 0x148]
push edx
call fcn.100bb330
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.100689a0
nop
lea eax, [ebp - 0x158]
push eax
call fcn.100bb260
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x101973dc]
movss dword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x160]
push ecx
call fcn.100bb260
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.100689a0
push eax
push 0x101db4a0
call fcn.100b4c50
add esp, 0x10
lea edx, [ebp - 0x170]
push edx
call fcn.100bb260
add esp, 4
mov esi, eax
call fcn.100bb5c0
fstp dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
call fcn.100bc130
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [eax + 0x50]
mulss xmm0, dword [0x1018703c]
movss xmm1, dword [esi + 4]
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
call fcn.100bc130
movss xmm0, dword [eax + 0x40]
mulss xmm0, dword [0x10187020]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
subss xmm1, dword [0x1018703c]
push ecx
movss dword [esp], xmm1
push ecx
movss xmm0, dword [0x10187094]
movss dword [esp], xmm0
lea ecx, [ebp - 0x178]
call fcn.100689a0
push eax
push str.scripts
call fcn.100fbca0
add esp, 8
movzx eax, al
test eax, eax
je 0x100a4dda
call fcn.101034a0
nop
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea ecx, [ebp - 0x180]
push ecx
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x188]
call fcn.100689a0
push eax
push str.Refresh
call fcn.100fc020
add esp, 0x10
push 1
push 1
push ecx
movss xmm0, dword [0x10187048]
movss dword [esp], xmm0
lea eax, [ebp - 0x190]
push eax
call fcn.100bb260
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x198]
call fcn.100689a0
push eax
push str.Open_script_location
call fcn.100fc020
add esp, 0x10
call fcn.100b87b0
nop
pop esi
mov esp, ebp
pop ebp
ret