Function at 0x4024f0
Capabilities:
Terminate process
Write file on windows

Disassembly:
mov eax, 0x6248
call fcn.004170f0
mov eax, dword [0x4234e0]
xor eax, esp
mov dword [esp + 0x6244], eax
mov eax, dword [esp + 0x6250]
push ebx
mov ebx, dword [esp + 0x6260]
push ebp
mov ebp, dword [esp + 0x6254]
push esi
push edi
push ebp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6278]
push ebx
push str.Launching__s_from_master_folder__s_n
mov dword [esp + 0x48], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], eax
call fcn.00401480
mov eax, ebp
add esp, 0xc
mov byte [esp + 0x3b40], 0
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402553
lea edi, [esp + 0x3b40]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402568
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
lea eax, [esp + 0x3b40]
call fcn.00401860
mov eax, ebp
mov byte [esp + 0x27b8], 0
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4025a0
lea edi, [esp + 0x27b8]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4025b5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
lea eax, [esp + 0x27b8]
call fcn.00401860
mov ecx, str.JWrapperLaunch
call fcn.00401860
mov ecx, eax
push 0x41df0c
push ecx
call fcn.0040a1be
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x24], esi
jne 0x40261b
lea edx, [esp + 0x27b8]
push edx
push str.Unable_to_open_launch_file__s_n
call fcn.00401480
add esp, 8
push 1
call fcn.0040c0a3
push 0x7d0
call fcn.00409380
add esp, 4
push 0x7d0
mov ebx, eax
push 0
push ebx
mov dword [esp + 0x20], ebx
call fcn.004109c0
add esp, 0xc
push 0x28
push esi
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
push 0x400
push esi
mov dword [esp + 0x38], eax
call fcn.00409190
push 0x400
push esi
mov dword [esp + 0x48], eax
call fcn.00409190
push 0x400
push esi
call fcn.00409190
push 0x400
push esi
mov dword [esp + 0x30], eax
call fcn.00409190
push 0x28
push esi
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0x2c
push 0x28
push esi
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
push 0x28
push esi
mov dword [esp + 0x34], eax
call fcn.00409190
push eax
call fcn.0040b6b8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x627c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x1c], 0
jne 0x402914
mov eax, dword [esp + 0x18]
push eax
mov eax, ebp
call fcn.00402030
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x1c], ebx
je 0x402900
push ebx
push str.Using_private_JRE__s_n
call fcn.00401480
mov eax, ebp
add esp, 8
mov byte [esp + 0xa8], 0
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402710
lea edi, [esp + 0xa8]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402727
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
lea eax, [esp + 0xa8]
call fcn.00401860
mov ecx, 0x41e1dc
call fcn.00401860
mov byte [esp + 0x1430], 0
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402761
lea edi, [esp + 0x1430]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402778
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, str.javaw.exe
lea eax, [esp + 0x1430]
call fcn.00401860
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa8]
call fcn.00401860
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4027b4
mov ecx, dword [str..exe]
mov dl, byte [0x41e1f0]
mov dword [eax], ecx
mov byte [eax + 4], dl
lea eax, [esp + 0xa8]
push 0x41df0c
push eax
call fcn.0040a1be
add esp, 8
test eax, eax
je 0x402808
push eax
call fcn.0040bd6f
add esp, 4
lea ecx, [esp + 0xa8]
push ecx
push str.File_exists:__s_n
call fcn.00401480
add esp, 8
jmp 0x402858
lea edx, [esp + 0xa8]
push edx
push str.Copying_FILE__s_n
call fcn.00401480
lea eax, [esp + 0x1438]
push 0x41df0c
push eax
call fcn.0040a1be
add esp, 0x10
test eax, eax
jne 0x40284a
lea ecx, [esp + 0x1430]
push ecx
push str.Unable_to_open_source_file_for_copy__s_n
call fcn.00401480
add esp, 8
jmp 0x402858
mov ebx, eax
lea eax, [esp + 0xa8]
call fcn.00401c10
mov esi, dword [esp + 0x1c]
call fcn.004018e0
lea edx, [eax + esi + 1]
push 0x2710
mov dword [esp + 0x14], edx
call fcn.00409380
mov ebx, eax
mov eax, ebp
add esp, 4
mov dword [esp + 0x1c], ebx
mov byte [ebx], 0
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402883
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402893
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, str.JWApps
mov eax, ebx
call fcn.00401860
mov ecx, str.JRE_LastSuccessfulOptions_
call fcn.00401860
mov eax, dword [esp + 0x10]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4028c7
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4028d7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebx
push str.JRE_LSO_file_is__s_n
rep movsb byte es:[edi], byte [esi]
call fcn.00401480
mov ebx, dword [esp + 0x1c]
jmp 0x40296a
push str.No_private_JRE_available__n
call fcn.00401480
add esp, 4
push 1
call fcn.0040c0a3
cmp eax, 1
jne 0x40296d
mov eax, dword [esp + 0x18]
mov byte [esp + 0xa8], 0
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402927
lea edi, [esp + 0xa8]
sub eax, esi
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402940
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0xa8]
push eax
and ecx, 3
push str.Checking_for_existing_system_JRE__s_n
rep movsb byte es:[edi], byte [esi]
call fcn.00401480
add esp, 8
cmp dword [esp + 0x2c], 0
lea ecx, [esp + 0xa8]
mov ebp, 1
mov dword [ebx], ecx
mov dword [esp + 0x10], ebp
jle 0x402a33
push 0x64
call fcn.00409380
mov ebx, eax
add esp, 4
mov byte [ebx], 0
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4029a0
mov edx, dword [str._Xmx]
mov dword [eax], edx
mov edx, dword [esp + 0x2c]
mov cl, byte [0x41e274]
push edx
mov byte [eax + 4], cl
lea eax, [esp + 0x44]
push 0x41e278
push eax
mov byte [esp + 0x4c], 0
call fcn.004099ef
lea eax, [esp + 0x4c]
add esp, 0xc
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4029e0
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, ebp
test cl, cl
jne 0x4029f0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, ebp
test al, al
jne 0x402a10
mov cx, word [0x41e27c]
mov edx, dword [esp + 0x14]
mov ebp, 2
mov word [edi], cx
mov dword [edx + 4], ebx
mov dword [esp + 0x10], ebp
cmp dword [esp + 0x20], 0
jle 0x402ae2
push 0x64
call fcn.00409380
mov ebx, eax
add esp, 4
mov byte [ebx], 0
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x402a50
mov ecx, dword [str._Xms]
mov dword [eax], ecx
mov dl, byte [0x41e284]
mov byte [eax + 4], dl
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x44]
push 0x41e278
push ecx
mov byte [esp + 0x4c], 0
call fcn.004099ef
lea eax, [esp + 0x4c]
add esp, 0xc
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402a90
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402aa0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x402ac0
mov eax, dword [esp + 0x14]
mov dx, word [0x41e27c]
mov dword [eax + ebp*4], ebx
add ebp, 1
mov word [edi], dx
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*4], 0x41e288
add eax, 1
push str.Building_classpath_n
mov dword [esp + 0x14], eax
call fcn.00401480
add esp, 4
push 0xc350
call fcn.00409380
mov edx, dword [esp + 0x28]
add esp, 4
mov ebx, eax
push 0x28
push edx
mov byte [ebx], 0
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
xor ebp, ebp
test eax, eax
mov dword [esp + 0x20], eax
jle 0x402bac
test ebp, ebp
jle 0x402b53
mov edi, ebx
add edi, 0xffffffff
nop
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x402b40
mov ax, word [0x41e2a0]
mov word [edi], ax
lea eax, [esp + 0x3b40]
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402b60
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402b70
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
push 0x400
push ecx
call fcn.00409190
mov ecx, eax
add esp, 8
mov eax, ebx
call fcn.00401860
add ebp, 1
cmp ebp, dword [esp + 0x20]
jl 0x402b36
mov eax, ebx
mov edi, edi
movsx ecx, byte [eax]
cmp ecx, 0x2f
jne 0x402bbb
mov byte [eax], 0x5c
add eax, 1
test ecx, ecx
jne 0x402bb0
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edx + ebp*4], ebx
add ebp, 1
push str.Built_classpath_OK_n
mov dword [esp + 0x14], ebp
call fcn.00401480
add esp, 4
push str.Creating_launch_properties_n
call fcn.00401480
mov edi, dword [esp + 0x38]
add esp, 4
xor eax, eax
xor edx, edx
mov cl, byte [edi + eax]
add eax, 1
test cl, cl
jne 0x402bf4
add edx, 1
cmp edx, 2
jl 0x402bf6
add eax, 0x30d3e
push eax
call fcn.00409380
mov esi, eax
add esp, 4
mov byte [esi], 0
xor eax, eax
xor edx, edx
nop
mov cl, byte [edi + eax]
add eax, 1
test cl, cl
jne 0x402c1d
add edx, 1
cmp edx, 2
jl 0x402c20
push eax
push edi
push esi
call fcn.00411b60
add esp, 0xc
push str.jwstat_
mov ebx, esi
call fcn.004090b0
add esp, 4
push str.update_url
call fcn.00409130
mov eax, dword [esp + 0x40]
add esp, 4
push eax
call fcn.004090b0
add esp, 4
push str.jwstat_
call fcn.004090b0
add esp, 4
push str.app_dir
call fcn.00409130
lea ecx, [esp + 0x3b44]
add esp, 4
push ecx
call fcn.004090b0
add esp, 4
push str.jwstat_
call fcn.004090b0
add esp, 4
push str.jre_name
call fcn.00409130
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call fcn.004090b0
add esp, 4
push str.jwstat_
call fcn.004090b0
add esp, 4
push str.launched_from_dynprops
call fcn.00409130
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
call fcn.004090b0
add esp, 4
push str.Checking_LSO_file_n
call fcn.00401480
mov edi, dword [esp + 0x20]
add esp, 4
test edi, edi
je 0x402e94
push edi
push str.Reading__s_n
call fcn.00401480
push 0x41df0c
push edi
call fcn.0040a1be
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], eax
je 0x402e8d
push str.JRE_LSO_file_exists_n
call fcn.00401480
mov ecx, dword [esp + 0x1c]
add esp, 4
push 0x28
push ecx
call fcn.00409190
push eax
call fcn.0040b6b8
mov edi, eax
add esp, 0xc
push edi
push str.Found__ld_JVM_Options_n
mov dword [esp + 0x30], edi
call fcn.00401480
push edi
lea edx, [esp + 0x143c]
push 0x41e35c
push edx
mov byte [esp + 0x1444], 0
call fcn.004099ef
add esp, 0x14
push str.jwstat_
call fcn.004090b0
add esp, 4
push str.jvm_options_count
call fcn.00409130
lea eax, [esp + 0x1434]
add esp, 4
push eax
call fcn.004090b0
xor ebx, ebx
add esp, 4
xor ebp, ebp
cmp edi, ebx
jle 0x402e7d
jmp 0x402da7
xor ebx, ebx
mov ecx, dword [esp + 0x18]
push 0x400
push ecx
call fcn.00409190
mov edi, eax
push edi
push str.JVM_Option:__s_n
call fcn.00401480
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [edx + eax*4], edi
add eax, 1
push ebp
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1444]
push str.jvm_options__d
push eax
mov byte [esp + 0x144c], bl
call fcn.004099ef
mov eax, edi
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x402df7
sub eax, ecx
cmp eax, 0x64
jae 0x402e17
push edi
lea ecx, [esp + 0x1434]
push ecx
push str.Launch_Prop:__s___s_n
jmp 0x402e40
push 0x63
lea edx, [esp + 0x44]
push edi
push edx
call fcn.0040a230
add esp, 0xc
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x1434]
push ecx
mov byte [esp + 0xab], bl
push str.Launch_Prop:__s___s..._n
call fcn.00401480
add esp, 0xc
push str.jwstat_
mov ebx, esi
call fcn.004090b0
lea edx, [esp + 0x1434]
add esp, 4
push edx
call fcn.00409130
add esp, 4
push edi
call fcn.004090b0
add ebp, 1
add esp, 4
cmp ebp, dword [esp + 0x28]
jl 0x402da5
mov eax, dword [esp + 0x18]
push eax
call fcn.0040bd6f
mov ebp, dword [esp + 0x14]
jmp 0x402e9e
push str.JRE_LSO_file_does_not_exist_n
jmp 0x402e99
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.00401480
add esp, 4
mov dword [esp + 0x1c], ebp
push str.Writing_launch_properties_file_n
add ebp, 1
call fcn.00401480
add esp, 4
lea ecx, [esp + 0x3b40]
lea ebx, [esp + 0x4ec8]
mov byte [esp + 0x4ec8], 0
call fcn.004023e0
mov ecx, ebx
push ecx
push str.Writing_launch_properties_to__s_n
call fcn.00401480
add esp, 8
xor eax, eax
xor edx, edx
mov cl, byte [eax + esi]
add eax, 1
test cl, cl
jne 0x402ee2
add edx, 1
cmp edx, 2
jl 0x402ee4
add eax, 0xfffffffe
push eax
push str.Launch_properties_length_is__d_n
call fcn.00401480
lea edx, [esp + 0x4ed0]
push 0x41e028
push edx
call fcn.0040a1be
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x402f33
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.00401480
add esp, 4
push 0x63
call fcn.0040c0a3
push str.Writing_to_file_n
call fcn.00401480
add esp, 4
xor eax, eax
xor edx, edx
mov cl, byte [eax + esi]
add eax, 1
test cl, cl
jne 0x402f42
add edx, 1
cmp edx, 2
jl 0x402f44
push edi
add eax, 0xfffffffe
push eax
push 1
push esi
call fcn.0040b30c
push str.Flushing_n
call fcn.00401480
add esp, 0x14
push edi
call fcn.00409f3d
add esp, 4
push str.Closing_n
call fcn.00401480
add esp, 4
push edi
call fcn.0040bd6f
add esp, 4
push str.Wrote_launch_properties_file_OK_n
call fcn.00401480
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
add esp, 4
lea eax, [esp + 0x4ec8]
push 0x28
mov dword [ecx + ebp*4], eax
push ebx
add ebp, 1
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
mov esi, eax
push esi
push str.Reading__ld_extra_args_n
call fcn.00401480
add esp, 8
test esi, esi
jle 0x402ff9
mov edi, dword [esp + 0x14]
lea ebx, [ebx]
push 0x400
push ebx
call fcn.00409190
mov dword [edi + ebp*4], eax
add esp, 8
add ebp, 1
sub esi, 1
jne 0x402fe0
mov esi, dword [esp + 0x30]
xor edi, edi
cmp esi, 3
jl 0x40301f
push 0x400
push ebx
call fcn.00409190
mov edi, eax
push edi
push str.Read_JRE_compatibility_class__s_n
call fcn.00401480
add esp, 0x10
cmp esi, 4
jl 0x40303d
push 0x400
push ebx
call fcn.00409190
push 0x400
push ebx
call fcn.00409190
add esp, 0x10
cmp esi, 5
jl 0x403077
push 0x28
push ebx
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
test eax, eax
jle 0x403077
mov esi, eax
lea esp, [esp]
push 0x400
push ebx
call fcn.00409190
add esp, 8
sub esi, 1
jne 0x403060
mov esi, dword [esp + 0x30]
cmp esi, 6
jl 0x40308d
push 0x28
push ebx
call fcn.00409190
push eax
call fcn.0040b6b8
add esp, 0xc
mov eax, dword [esp + 0x6270]
test eax, eax
jne 0x4030a9
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*4], edx
jmp 0x4030b9
cmp eax, 1
jne 0x4030b9
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [eax + edx*4], edi
mov esi, dword [esp + 0x6264]
push esi
push str.Appending__d_command_line_args_n
call fcn.00401480
add esp, 8
test esi, esi
jle 0x4030e8
mov ecx, dword [esp + 0x14]
mov eax, esi
mov esi, dword [esp + 0x6268]
lea edi, [ecx + ebp*4]
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
add ebp, eax
mov edi, dword [esp + 0x14]
push ebx
mov dword [edi + ebp*4], 0
call fcn.0040bd6f
add esp, 4
push str.LAUNCHING:_n
call fcn.00401480
add esp, 4
lea edx, [esp + 0xa8]
push edx
push str.EXE:__s_n
call fcn.00401480
add esp, 8
xor esi, esi
test ebp, ebp
jle 0x40313d
mov eax, dword [edi + esi*4]
push eax
push esi
push str.ARG__d:__s_n
call fcn.00401480
add esi, 1
add esp, 0xc
cmp esi, ebp
jl 0x403124
mov eax, dword [esp + 0x6270]
test eax, eax
mov dword [edi + ebp*4], 0
jne 0x403230
push str._Spawner__Creating_spawner_n
call fcn.00401480
add esp, 4
push 0x7d0
call fcn.00409380
add esp, 4
push 0x7d0
mov ebx, eax
push 0
push ebx
call fcn.004109c0
mov esi, dword [edi]
add esp, 0xc
push esi
push str._Spawner__Setting_spawner_exe_to__s_n
call fcn.00401480
call fcn.00409ba9
add eax, 0x20
push eax
call fcn.00409f3d
add esp, 0xc
xor eax, eax
nop
cmp dword [ebx + eax*4], 0
je 0x40321a
add eax, 1
cmp eax, 0x1f4
jl 0x4031a0
push esi
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.00401480
mov ecx, dword [edi + 4]
add esp, 8
test ecx, ecx
mov esi, 1
je 0x4031fb
mov edi, edi
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x403225
add eax, 1
cmp eax, 0x1f4
jl 0x4031d2
push ecx
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.00401480
mov ecx, dword [edi + esi*4 + 4]
add esi, 1
add esp, 8
test ecx, ecx
jne 0x4031d0
call fcn.00407e40
mov esi, eax
test esi, esi
je 0x403214
push esi
push str.Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
call fcn.00401480
add esp, 8
push esi
call fcn.0040c0a3
push esi
mov dword [ebx + eax*4], esi
push str._Spawner__Appended_argument__s_n
jmp 0x4031ba
push ecx
mov dword [ebx + eax*4], ecx
push str._Spawner__Appended_argument__s_n
jmp 0x4031e8
cmp eax, 1
jne 0x403316
push str._Spawner__Creating_spawner_n
call fcn.00401480
add esp, 4
push 0x7d0
call fcn.00409380
add esp, 4
push 0x7d0
mov ebx, eax
push 0
push ebx
call fcn.004109c0
mov esi, dword [edi]
add esp, 0xc
push esi
push str._Spawner__Setting_spawner_exe_to__s_n
call fcn.00401480
call fcn.00409ba9
add eax, 0x20
push eax
call fcn.00409f3d
add esp, 0xc
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x403300
add eax, 1
cmp eax, 0x1f4
jl 0x403285
push esi
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.00401480
mov ecx, dword [edi + 4]
add esp, 8
test ecx, ecx
mov esi, 1
je 0x4032de
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x40330b
add eax, 1
cmp eax, 0x1f4
jl 0x4032b5
push ecx
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.00401480
mov ecx, dword [edi + esi*4 + 4]
add esi, 1
add esp, 8
test ecx, ecx
jne 0x4032b3
call fcn.00407c70
push ebx
mov esi, eax
call fcn.004092a3
add esp, 4
push esi
push str.Return_code__ld_n
call fcn.00401480
add esp, 8
mov eax, esi
jmp 0x403319
push esi
mov dword [ebx + eax*4], esi
push str._Spawner__Appended_argument__s_n
jmp 0x40329f
push ecx
mov dword [ebx + eax*4], ecx
push str._Spawner__Appended_argument__s_n
jmp 0x4032cb
or eax, 0xffffffff
mov ecx, dword [esp + 0x6254]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00409294
add esp, 0x6248
ret