Function at 0x100a5600
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 0x100a5656
push 0x10956e90
call fcn.1016fea9
add esp, 4
cmp dword [0x10956e90], 0xffffffff
jne 0x100a5656
push 0x1017a450
call fcn.1016fe18
add esp, 4
push 0x10956e90
call fcn.1016fe58
add esp, 4
call fcn.100bc460
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x14], xmm0
call fcn.100bd210
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [eax + 8]
addss xmm0, dword [0x1017fa64]
push ecx
movss dword [esp], xmm0
call fcn.100cbfb0
add esp, 4
push 0x20
push 0
push 1
push ecx
movss xmm0, dword [0x10192410]
movss dword [esp], xmm0
lea ecx, [ebp - 0x78]
push ecx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x80]
call fcn.10069d50
push eax
push 0x101dc3ac
call fcn.100a27a0
add esp, 0x14
mov edx, dword [0x1095457c]
push edx
call fcn.100c86d0
add esp, 4
call fcn.100bc4a0
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
call fcn.100bd210
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [eax + 0xc]
push ecx
movss dword [esp], xmm0
call fcn.100cbff0
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
call fcn.100c89f0
add esp, 8
lea eax, [ebp - 0x88]
push eax
call fcn.100bc340
add esp, 4
mov esi, eax
call fcn.100bd210
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x20], xmm0
lea ecx, [ebp - 0x90]
push ecx
call fcn.100bc340
add esp, 4
movss xmm0, dword [eax]
subss xmm0, dword [0x1018810c]
divss xmm0, dword [0x101880f0]
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.10069d50
cmp dword [0x10956e8c], 0
jne 0x100a5790
mov byte [ebp - 1], 1
jmp 0x100a5794
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.100fcf70
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a57bd
mov dword [0x10956e8c], 0
push ecx
movss xmm0, dword [0x1018814c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb1d0
add esp, 8
cmp dword [0x10956e8c], 1
jne 0x100a57eb
mov byte [ebp - 2], 1
jmp 0x100a57ef
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.100fcf70
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5818
mov dword [0x10956e8c], 1
call fcn.100c8350
push ecx
movss xmm0, dword [0x1018814c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb1d0
add esp, 8
mov edx, dword [0x10954570]
push edx
call fcn.100c86d0
add esp, 4
push 0x10250540
push 0
call fcn.100c88d0
add esp, 8
push 1
push ecx
movss xmm0, dword [0x1017fa64]
movss dword [esp], xmm0
push 0x101dc3cc
call fcn.100a38b0
add esp, 0xc
push 1
call fcn.100c8480
add esp, 4
call fcn.100c8350
push 1
call fcn.100c8510
add esp, 4
call fcn.100b9890
call fcn.100bd210
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x28], xmm0
call fcn.100bd210
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.10069d50
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [0x10192410]
movss dword [ebp - 0x30], xmm0
call fcn.100bd210
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.10069d50
push eax
call fcn.100cbf50
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.100bc340
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x10198988]
movss dword [ebp - 0x34], xmm0
lea ecx, [ebp - 0xa8]
push ecx
call fcn.100bc340
add esp, 4
movss xmm0, dword [eax]
divss xmm0, dword [0x101880d8]
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.10069d50
push eax
push 0x101dc3d0
call fcn.100b5d20
add esp, 0x10
cmp dword [0x10956e8c], 0
jne 0x100a5d8b
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 0x100a59ef
push 0x10956e94
call fcn.1016fea9
add esp, 4
cmp dword [0x10956e94], 0xffffffff
jne 0x100a59ef
push 0x1017a430
call fcn.1016fe18
add esp, 4
push 0x10956e94
call fcn.1016fe58
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100c8840
add esp, 4
push 0xf
mov ecx, dword [0x10953e18]
add ecx, 0x48
push ecx
push 0x10248ae8
push str.configs
call fcn.1010a510
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5a56
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.100a47d0
push eax
mov ecx, 0x10249020
call fcn.1003d760
push 0
push 0
push 0
push 0xff
push 0x10956e98
push str.Config_name
call fcn.10104c60
add esp, 0x18
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea edx, [ebp - 0xc0]
push edx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc8]
call fcn.10069d50
push eax
push 0x101dc3f4
call fcn.100fcf70
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5ac5
mov ecx, dword [0x10953e18]
call fcn.10097590
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd8]
call fcn.10069d50
push eax
push str.Save
call fcn.100fcf70
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5b1f
mov byte [0x10954604], 1
mov byte [0x10954605], 1
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea eax, [ebp - 0xe0]
push eax
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xe8]
call fcn.10069d50
push eax
push str.Load
call fcn.100fcf70
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5b79
mov byte [0x10954604], 1
mov byte [0x10954605], 0
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea edx, [ebp - 0xf0]
push edx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0xf8]
call fcn.10069d50
push eax
push str.Create
call fcn.100fcf70
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5bed
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], esp
push 0x10956e98
call fcn.1000f970
mov ecx, dword [0x10953e18]
call fcn.10097db0
mov ecx, dword [0x10953e18]
call fcn.10097590
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea ecx, [ebp - 0x100]
push ecx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x108]
call fcn.10069d50
push eax
push 0x101dc414
call fcn.100fcf70
add esp, 0x10
movzx edx, al
test edx, edx
je 0x100a5c61
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x10249020
call fcn.1000f8c0
mov ecx, dword [0x10953e18]
call fcn.10096b70
mov ecx, dword [0x10953e18]
call fcn.10097590
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea eax, [ebp - 0x110]
push eax
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x118]
call fcn.10069d50
push eax
push str.Reset
call fcn.100fcf70
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5cc5
mov edx, dword [0x10953e18]
mov byte [edx + 0x91], 0
mov ecx, dword [0x10953e18]
call fcn.10098400
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea eax, [ebp - 0x120]
push eax
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x128]
call fcn.10069d50
push eax
push str.Open_config_location
call fcn.100fcf70
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100a5d33
push 1
push 0
push 0
mov ecx, dword [0x10953e18]
add ecx, 0x54
call fcn.10022bc0
push eax
push 0x101dc43c
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.1010ebb0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea edx, [ebp - 0x130]
push edx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x138]
call fcn.10069d50
push eax
push str.Unload
call fcn.100fcf70
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a5d86
mov byte [0x10249f68], 1
call fcn.100c8440
call fcn.100b9890
push ecx
movss xmm0, dword [0x1018814c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100cb1d0
add esp, 8
call fcn.100bc4a0
fstp dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x140]
push ecx
movss dword [ebp - 0x44], xmm0
call fcn.100bc340
add esp, 4
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x1018c318]
movss xmm1, dword [ebp - 0x44]
addss xmm1, xmm0
subss xmm1, dword [0x10198988]
movss dword [ebp - 0x48], xmm1
lea edx, [ebp - 0x148]
push edx
call fcn.100bc410
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.10069d50
lea eax, [ebp - 0x158]
push eax
call fcn.100bc340
add esp, 4
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 8]
subss xmm0, dword [0x10198988]
movss dword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x160]
push ecx
call fcn.100bc340
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.10069d50
push eax
push 0x101dc44c
call fcn.100b5d20
add esp, 0x10
lea edx, [ebp - 0x170]
push edx
call fcn.100bc340
add esp, 4
mov esi, eax
call fcn.100bc6a0
fstp dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
call fcn.100bd210
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [eax + 0x50]
mulss xmm0, dword [0x101880f4]
movss xmm1, dword [esi + 4]
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
call fcn.100bd210
movss xmm0, dword [eax + 0x40]
mulss xmm0, dword [0x101880d8]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
subss xmm1, dword [0x101880f4]
push ecx
movss dword [esp], xmm1
push ecx
movss xmm0, dword [0x1018814c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x178]
call fcn.10069d50
push eax
push str.scripts
call fcn.100fcbf0
add esp, 8
movzx eax, al
test eax, eax
je 0x100a5f46
call fcn.101043b0
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea ecx, [ebp - 0x180]
push ecx
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x188]
call fcn.10069d50
push eax
push str.Refresh
call fcn.100fcf70
add esp, 0x10
push 1
push 1
push ecx
movss xmm0, dword [0x10188100]
movss dword [esp], xmm0
lea eax, [ebp - 0x190]
push eax
call fcn.100bc340
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x198]
call fcn.10069d50
push eax
push str.Open_script_location
call fcn.100fcf70
add esp, 0x10
call fcn.100b9890
pop esi
mov esp, ebp
pop ebp
ret