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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4884
call fcn.004a76f0
mov eax, dword [0x4f3008]
xor eax, esp
mov dword [esp + 0x4880], eax
mov eax, dword [0x4fb0dc]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
cmp eax, 1
je 0x469cd0
cmp eax, 2
je 0x469cd0
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 0x4697f4
test eax, eax
je 0x4697da
mov eax, dword [eax + 4]
xor ecx, ecx
mov edi, dword [eax + 4]
mov eax, edi
test eax, eax
je 0x4697da
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x4697c6
test ecx, ecx
jle 0x4697da
push dword [edi + 0xc]
jmp 0x469973
xor edi, edi
lea eax, [esp + 0x458]
push edi
push str.index__d
push eax
call ebx
add esp, 0xc
jmp 0x46997d
test eax, eax
je 0x469834
mov eax, dword [eax + 4]
xor ecx, ecx
mov edi, dword [eax + 4]
mov eax, edi
test eax, eax
je 0x46980e
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x469806
cmp edx, ecx
jge 0x469834
test edx, edx
js 0x469834
jle 0x469828
mov eax, edx
nop word [eax + eax]
mov edi, dword [edi + 4]
sub eax, 1
jne 0x469820
test edi, edi
je 0x469836
push dword [edi + 0xc]
jmp 0x469973
xor edi, edi
cmp edx, 0xffff
je 0x4698d3
cmp edx, 0xfffe
je 0x4698d3
cmp edx, 0xfffd
jne 0x469897
mov ecx, dword [0x4fb118]
push 0x487
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4fb118]
mov esi, eax
push 0x459
mov edx, dword [ecx]
call dword [edx + 4]
push dword [0x5083f8]
push eax
push esi
lea eax, [esp + 0x464]
push str._s__s_n_s_n
push eax
call ebx
add esp, 0x14
jmp 0x46997d
cmp edx, 0xfffc
jne 0x4698c9
mov ecx, dword [0x4fb118]
push 0x4c3
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4fb118]
mov esi, eax
push 0x52d
mov edx, dword [ecx]
call dword [edx + 4]
push dword [0x5083f4]
jmp 0x46987e
push str.unknown
jmp 0x469973
mov ecx, dword [0x4faf00]
test ecx, ecx
je 0x469962
lea edx, [esp + 0x18]
mov dword [esp + 0x14], 1
call fcn.0048a250
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 [0x4d9240]
lea ecx, [esp + 0x60]
mov ax, word [0x4d9248]
movq qword [esp + 0x50], xmm0
mov word [esp + 0x58], ax
call fcn.00469560
lea ecx, [esp + 0x268]
call fcn.00489fd0
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 0x4699d3
mov ecx, dword [0x4fb118]
push 0xb22
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [esp + 0x45c]
push eax
call esi
mov ax, word [0x4d9248]
lea ecx, [esp + 0x50]
movq xmm0, qword [0x4d9240]
lea esi, [esp + 0x258]
mov word [esp + 0x48], ax
movq qword [esp + 0x40], xmm0
call fcn.00469560
mov ecx, esi
call fcn.00489fd0
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.0048a120
cmp dword [esp + 0x14], 0
lea eax, [esp + 0x458]
push dword [esp + 0xc]
push dword [esp + 0x2c]
je 0x469a36
push eax
lea eax, [esp + 0x1894]
push str.Error:__s_n_s_n_s
push eax
call ebx
add esp, 0x14
jmp 0x469a4d
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 [0x50839c]
cmp dword [eax + 8], 0
jne 0x469b30
mov eax, dword [0x4faeb4]
cmp dword [eax + 0x2cc], 0
je 0x469b30
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 0x1888]
push 0x4d92d8
push eax
call esi
mov ecx, dword [0x4fb118]
push 0xb21
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [esp + 0x188c]
push eax
call esi
push 0x34
push str.SRPG_Studio
lea eax, [esp + 0x1890]
push eax
push dword [0x4fafbc]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x469b53
mov edi, dword [0x4faeb4]
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 [0x4faeec], 0x4c4424
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [eax + 0x210], 0
mov dword [eax + 0x214], 0
call fcn.00417080
jmp 0x469cda
mov ecx, dword [0x4fb118]
push 0x30
push 0xb2c
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [esp + 0x1890]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x4fb0d8]
lea ecx, [esp + 0x14]
push ecx
push 0x400
push 1
mov eax, dword [eax + 4]
lea ecx, [esp + 0x24]
push ecx
push 0x4bf530
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 0x469bc6
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push 0
push 0
push 0
push ecx
push 1
push 0x800
push 0x4bf530
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 [0x4faeb4]
cmp dword [esi + 0x57154], 0
je 0x469bfb
mov eax, dword [0x4fb114]
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.0041a670
test edi, edi
jne 0x469c06
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.0048e630
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.0048e630
mov eax, dword [eax + 0x78]
push eax
lea eax, [esp + 0x106c]
push eax
call esi
lea ecx, [esp + 0xc58]
call fcn.0048e640
push dword [edi + 0xc]
cmp dword [edi + 0x14], 0
mov ecx, str.Plugin
mov eax, 0x4d92dc
cmove eax, ecx
push eax
lea eax, [esp + 0xc60]
push eax
lea eax, [esp + 0xe6c]
push 0x4d5148
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.00469d00
lea eax, [esp + 0x18]
push eax
push 1
lea edx, [esp + 0x1488]
lea ecx, [esp + 0x1280]
call fcn.00469d00
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 [0x4fb0dc], 0
mov ecx, dword [esp + 0x488c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004954a2
mov esp, ebp
pop ebp
ret 8