Function at 0x469ec0
Capabilities:
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4884
call fcn.004a8420
mov eax, dword [0x4f4008]
xor eax, esp
mov dword [esp + 0x4880], eax
mov eax, dword [0x4fc0c4]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
cmp eax, 1
je 0x46a420
cmp eax, 2
je 0x46a420
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push 0
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], 0
push ecx
push esi
mov dword [esp + 0x24], 0
call dword [eax + 0x10]
mov eax, dword [esi]
lea ecx, [esp + 0xc]
push ecx
push esi
call dword [eax + 0x14]
mov eax, dword [esi]
lea ecx, [esp + 0x20]
push ecx
push esi
call dword [eax + 0xc]
inc dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 0xa0]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
test edx, edx
jne 0x469f94
test eax, eax
je 0x469f7a
mov eax, dword [eax + 4]
xor ecx, ecx
mov edi, dword [eax + 4]
mov eax, edi
test eax, eax
je 0x469f7a
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x469f66
test ecx, ecx
jle 0x469f7a
push dword [edi + 0xc]
jmp 0x46a0db
xor edi, edi
lea eax, [esp + 0x458]
push edi
push str.index__d
push eax
call ebx
add esp, 0xc
jmp 0x46a0e5
test eax, eax
je 0x469fd4
mov eax, dword [eax + 4]
xor ecx, ecx
mov edi, dword [eax + 4]
mov eax, edi
test eax, eax
je 0x469fae
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x469fa6
cmp edx, ecx
jge 0x469fd4
test edx, edx
js 0x469fd4
jle 0x469fc8
mov eax, edx
nop word [eax + eax]
mov edi, dword [edi + 4]
sub eax, 1
jne 0x469fc0
test edi, edi
je 0x469fd6
push dword [edi + 0xc]
jmp 0x46a0db
xor edi, edi
cmp edx, 0xffff
je 0x46a047
cmp edx, 0xfffe
je 0x46a047
lea eax, [esp + 0x458]
cmp edx, 0xfffd
jne 0x46a015
push dword [0x5093d8]
push 0x4d99f0
push 0x4d99fc
push str._s__s_n_s_n
push eax
call ebx
add esp, 0x14
jmp 0x46a0e5
cmp edx, 0xfffc
jne 0x46a03d
push dword [0x5093d4]
push 0x4d9a24
push 0x4d9a30
push str._s__s_n_s_n
push eax
call ebx
add esp, 0x14
jmp 0x46a0e5
push str.unknown
jmp 0x46a0e2
mov ecx, dword [0x4fbea0]
test ecx, ecx
je 0x46a0d6
lea edx, [esp + 0x18]
mov dword [esp + 0x14], 1
call fcn.0048ae20
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x458]
push str.has_an_incorrect_json_format.
push dword [esp + 0x1c]
push str._s__s
push eax
call ebx
movq xmm0, qword [0x4d9a54]
lea ecx, [esp + 0x60]
mov ax, word [0x4d9a5c]
movq qword [esp + 0x50], xmm0
mov word [esp + 0x58], ax
call fcn.00469d00
lea ecx, [esp + 0x268]
call fcn.0048abd0
push dword [esp + 0x1c]
lea eax, [esp + 0x46c]
push dword [esp + 0x3c]
push eax
lea eax, [esp + 0x28a4]
push str._s__s__s
push eax
call ebx
add esp, 0x24
jmp 0x46a13b
push 0x4d99d4
lea eax, [esp + 0x45c]
push eax
call esi
mov ax, word [0x4d9a5c]
lea ecx, [esp + 0x50]
movq xmm0, qword [0x4d9a54]
lea esi, [esp + 0x258]
mov word [esp + 0x48], ax
movq qword [esp + 0x40], xmm0
call fcn.00469d00
mov ecx, esi
call fcn.0048abd0
push dword [esp + 0xc]
lea eax, [esp + 0x45c]
push dword [esp + 0x2c]
push dword [esp + 0x18]
push eax
lea eax, [esp + 0x2898]
push str._s_Line__u:__s__s
push eax
call ebx
add esp, 0x18
lea eax, [esp + 0x2888]
push eax
lea eax, [esp + 0x25c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x3898]
push str._s___s____s___s
push eax
call ebx
add esp, 0x18
lea ecx, [esp + 0x3888]
call fcn.0048ac70
cmp dword [esp + 0x14], 0
lea eax, [esp + 0x458]
push dword [esp + 0xc]
push dword [esp + 0x2c]
je 0x46a19e
push eax
lea eax, [esp + 0x1894]
push str.Error:__s_n_s_n_s
push eax
call ebx
add esp, 0x14
jmp 0x46a1b5
push dword [esp + 0x18]
push eax
lea eax, [esp + 0x1898]
push str.Error:__s_nLine__u:__s_n_s
push eax
call ebx
add esp, 0x18
push dword [esp + 0x24]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [esp + 0x28]
call esi
push dword [esp + 0x2c]
call esi
push dword [esp + 0xc]
call esi
mov eax, dword [0x50937c]
cmp dword [eax + 8], 0
jne 0x46a28c
mov eax, dword [0x4fbe54]
cmp dword [eax + 0x2cc], 0
je 0x46a28c
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 0x1888]
push 0x4d9aec
push eax
call esi
push 0x4d9af0
lea eax, [esp + 0x188c]
push eax
call esi
push 0x34
push str.SRPG_Studio
lea eax, [esp + 0x1890]
push eax
push dword [0x4fbff4]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x46a2a3
mov edi, dword [0x4fbe54]
push 0x218
push 8
mov esi, dword [edi + 0x2cc]
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
mov ecx, edi
mov dword [0x4fbe8c], 0x4c44d4
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [eax + 0x210], 0
mov dword [eax + 0x214], 0
call fcn.004170d0
jmp 0x46a42a
push 0x30
push 0x4d5c9c
lea eax, [esp + 0x1890]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x4fc0c0]
lea ecx, [esp + 0x14]
push ecx
push 0x400
push 1
mov eax, dword [eax + 4]
lea ecx, [esp + 0x24]
push ecx
push 0x4bf520
mov dword [esp + 0x2c], str.ScriptCall_Backup
mov esi, dword [eax]
push esi
mov eax, dword [esi]
call dword [eax + 0x14]
test eax, eax
js 0x46a316
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push 0
push 0
push 0
push ecx
push 1
push 0x800
push 0x4bf520
push dword [esp + 0x30]
mov dword [esp + 0x68], 0
push esi
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
call dword [eax + 0x18]
mov esi, dword [0x4fbe54]
cmp dword [esi + 0x57154], 0
je 0x46a34b
mov eax, dword [0x4fc0fc]
add eax, 0x9a0
push eax
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x50]
push eax
lea ecx, [esi + 0x571c0]
call fcn.0041a720
test edi, edi
jne 0x46a356
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.0048f0f0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [eax + 0x74]
push eax
lea eax, [esp + 0x1684]
push eax
call esi
call fcn.0048f0f0
mov eax, dword [eax + 0x78]
push eax
lea eax, [esp + 0x106c]
push eax
call esi
lea ecx, [esp + 0xc58]
call fcn.0048f100
push dword [edi + 0xc]
cmp dword [edi + 0x14], 0
mov ecx, str.Plugin
mov eax, 0x4d9b18
cmove eax, ecx
push eax
lea eax, [esp + 0xc60]
push eax
lea eax, [esp + 0xe6c]
push 0x4d5500
push eax
call ebx
add esp, 0x14
lea eax, [esp + 0xe60]
lea edx, [esp + 0x1270]
lea ecx, [esp + 0x1068]
push eax
push 0
call fcn.0046a450
lea eax, [esp + 0x18]
push eax
push 1
lea edx, [esp + 0x1488]
lea ecx, [esp + 0x1280]
call fcn.0046a450
add esp, 0x10
lea eax, [esp + 0x1478]
push 5
push 0
push eax
lea eax, [esp + 0x168c]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [0x4fc0c4], 0
mov ecx, dword [esp + 0x488c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00495852
mov esp, ebp
pop ebp
ret 8