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

Disassembly:
mov eax, 0x6254
call fcn.004180a0
mov eax, dword [0x421420]
xor eax, esp
mov dword [esp + 0x624c], eax
mov eax, dword [esp + 0x625c]
push ebx
mov ebx, dword [esp + 0x626c]
push ebp
mov ebp, dword [esp + 0x6260]
push esi
push edi
push ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6284]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x6288]
push ebx
push str.Launching__s_from_master_folder__s_n
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ecx
call fcn.0040a3e4
add esp, 0xc
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov eax, ebp
add esp, 4
mov byte [esp + 0x3b48], 0
mov esi, eax
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4026c0
lea edi, [esp + 0x3b48]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4026d5
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 + 0x3b48]
call fcn.004013e0
mov eax, ebp
mov byte [esp + 0x27c0], 0
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402707
lea edi, [esp + 0x27c0]
sub eax, esi
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402720
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 + 0x27c0]
call fcn.004013e0
mov ecx, str.JWrapperLaunch
call fcn.004013e0
mov edx, eax
push 0x41cc98
push edx
call fcn.0040a56d
add esp, 8
test eax, eax
mov dword [esp + 0x24], eax
jne 0x402792
lea eax, [esp + 0x27c0]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
push 1
call fcn.0040b19d
push 0x7d0
call fcn.00409680
add esp, 4
push 0x7d0
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.0040fa70
mov esi, dword [esp + 0x30]
add esp, 0xc
push 0x28
push esi
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
push 0x400
push esi
mov dword [esp + 0x3c], eax
call fcn.00409490
push 0x400
push esi
mov dword [esp + 0x50], eax
call fcn.00409490
push 0x400
push esi
call fcn.00409490
push 0x400
push esi
mov dword [esp + 0x38], eax
call fcn.00409490
push 0x28
push esi
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0x2c
push 0x28
push esi
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
mov ebx, eax
push 0x28
push esi
mov dword [esp + 0x44], ebx
call fcn.00409490
push eax
call fcn.0040abd0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6288]
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], 0
jne 0x402a82
mov ecx, dword [esp + 0x1c]
push ecx
mov eax, ebp
call fcn.00401c40
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x402a5d
push ebx
push str.Using_private_JRE__s_n
call fcn.0040a3e4
mov eax, ebp
add esp, 8
mov byte [esp + 0xb0], 0
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402887
lea edi, [esp + 0xb0]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov edi, edi
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4028a0
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 + 0xb0]
call fcn.004013e0
mov ecx, 0x41cfd0
call fcn.004013e0
mov byte [esp + 0x1438], 0
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4028e0
lea edi, [esp + 0x1438]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4028f7
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 + 0x1438]
call fcn.004013e0
mov esi, dword [esp + 0x18]
mov ecx, esi
lea eax, [esp + 0xb0]
call fcn.004013e0
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x402935
mov edx, dword [str..exe]
mov cl, byte [0x41cfe4]
mov dword [eax], edx
lea edx, [esp + 0xb0]
push 0x41cc98
push edx
mov byte [eax + 4], cl
call fcn.0040a56d
add esp, 8
test eax, eax
je 0x402989
push eax
call fcn.0040ae69
add esp, 4
lea eax, [esp + 0xb0]
push eax
push str.File_exists:__s_n
call fcn.0040a3e4
add esp, 8
jmp 0x4029b4
lea eax, [esp + 0xb0]
lea ecx, [esp + 0x1438]
call fcn.004017c0
mov edi, dword [esp + 0x28]
test edi, edi
je 0x4029b4
push esi
lea eax, [esp + 0xb4]
call fcn.00402100
add esp, 4
mov esi, ebx
call fcn.00401460
lea ecx, [eax + ebx + 1]
push 0x2710
mov dword [esp + 0x2c], ecx
call fcn.00409680
mov ebx, eax
mov eax, ebp
add esp, 4
mov dword [esp + 0x20], ebx
mov byte [ebx], 0
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, 1
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 ecx, str.JWApps
mov eax, ebx
call fcn.004013e0
mov ecx, str.JRE_LastSuccessfulOptions_
call fcn.004013e0
mov eax, dword [esp + 0x28]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402a24
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402a34
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.0040a3e4
mov ebx, dword [esp + 0x44]
jmp 0x402ada
push str.No_private_JRE_available__n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push 1
call fcn.0040b19d
cmp eax, 1
jne 0x402add
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xb0], 0
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402a95
lea edi, [esp + 0xb0]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402ab0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xb0]
mov ecx, eax
push edx
and ecx, 3
push str.Checking_for_existing_system_JRE__s_n
rep movsb byte es:[edi], byte [esi]
call fcn.0040a3e4
add esp, 8
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov ecx, dword [esp + 0x18]
add esp, 4
test ebx, ebx
lea eax, [esp + 0xb0]
mov dword [ecx], eax
mov dword [esp + 0x18], 1
jle 0x402bb2
push 0x64
call fcn.00409680
mov ebp, eax
add esp, 4
mov byte [ebp], 0
add eax, 0xffffffff
mov edi, edi
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x402b20
mov edx, dword [str._Xmx]
mov dword [eax], edx
mov cl, byte [0x41d068]
push ebx
lea edx, [esp + 0x4c]
push 0x41d06c
mov byte [eax + 4], cl
push edx
mov byte [esp + 0x54], 0
call fcn.00409cef
lea eax, [esp + 0x54]
add esp, 0xc
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402b60
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402b72
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, ebp
add edi, 0xffffffff
nop
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x402b90
mov ax, word [0x41d070]
mov ecx, dword [esp + 0x14]
mov word [edi], ax
mov dword [ecx + 4], ebp
mov dword [esp + 0x18], 2
mov esi, dword [esp + 0x2c]
test esi, esi
jle 0x402c65
push 0x64
call fcn.00409680
mov ebp, eax
add esp, 4
mov byte [ebp], 0
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x402bd1
mov edx, dword [str._Xms]
mov dword [eax], edx
mov cl, byte [0x41d078]
push esi
lea edx, [esp + 0x4c]
push 0x41d06c
mov byte [eax + 4], cl
push edx
mov byte [esp + 0x54], 0
call fcn.00409cef
lea eax, [esp + 0x54]
add esp, 0xc
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x402c10
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402c22
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, ebp
add edi, 0xffffffff
nop
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x402c40
mov ax, word [0x41d070]
mov ecx, dword [esp + 0x14]
mov word [edi], ax
mov eax, dword [esp + 0x18]
mov dword [ecx + eax*4], ebp
add eax, 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [edx + eax*4], 0x41d07c
add eax, 1
push str.Building_classpath_n
mov dword [esp + 0x1c], eax
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push 0xc350
call fcn.00409680
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x24]
push 0x28
push eax
mov byte [ebx], 0
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
xor ebp, ebp
test eax, eax
mov dword [esp + 0x2c], eax
jle 0x402d3c
test ebp, ebp
jle 0x402ce7
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x402cd3
mov cx, word [0x41d094]
mov word [edi], cx
lea eax, [esp + 0x3b48]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x402cf0
mov edi, ebx
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x402d00
mov edx, dword [esp + 0x24]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x400
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.00409490
mov ecx, eax
add esp, 8
mov eax, ebx
call fcn.004013e0
add ebp, 1
cmp ebp, dword [esp + 0x2c]
jl 0x402cca
mov eax, ebx
mov edi, edi
movsx ecx, byte [eax]
cmp ecx, 0x2f
jne 0x402d4b
mov byte [eax], 0x5c
add eax, 1
test ecx, ecx
jne 0x402d40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*4], ebx
add eax, 1
push str.Built_classpath_OK_n
mov dword [esp + 0x1c], eax
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push str.Creating_launch_properties_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov edi, dword [esp + 0x3c]
add esp, 4
xor eax, eax
xor edx, edx
mov cl, byte [edi + eax]
add eax, 1
test cl, cl
jne 0x402da6
add edx, 1
cmp edx, 2
jl 0x402da8
add eax, 0x30d3e
push eax
call fcn.00409680
mov esi, eax
add esp, 4
mov byte [esi], 0
xor eax, eax
xor edx, edx
mov cl, byte [edi + eax]
add eax, 1
test cl, cl
jne 0x402dcf
add edx, 1
cmp edx, 2
jl 0x402dd1
push eax
push edi
push esi
call fcn.004101f0
add esp, 0xc
push str.jwstat_
mov ebx, esi
call fcn.004093b0
add esp, 4
push str.update_url
call fcn.00409430
mov edx, dword [esp + 0x48]
add esp, 4
push edx
call fcn.004093b0
add esp, 4
push str.jwstat_
call fcn.004093b0
add esp, 4
push str.app_dir
call fcn.00409430
lea eax, [esp + 0x3b4c]
add esp, 4
push eax
call fcn.004093b0
add esp, 4
push str.jwstat_
call fcn.004093b0
add esp, 4
push str.jre_name
call fcn.00409430
mov ecx, dword [esp + 0x20]
add esp, 4
push ecx
call fcn.004093b0
add esp, 4
push str.jwstat_
call fcn.004093b0
add esp, 4
push str.launched_from_dynprops
call fcn.00409430
mov edx, dword [esp + 0x34]
add esp, 4
push edx
call fcn.004093b0
add esp, 4
push str.Checking_LSO_file_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov edi, dword [esp + 0x24]
add esp, 4
test edi, edi
je 0x4030ad
push edi
push str.Reading__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
push 0x41cc98
push edi
call fcn.0040a56d
add esp, 8
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4030a6
push str.JRE_LSO_file_exists_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov eax, dword [esp + 0x20]
add esp, 4
push 0x28
push eax
call fcn.00409490
push eax
call fcn.0040abd0
mov edi, eax
add esp, 0xc
push edi
push str.Found__ld_JVM_Options_n
mov dword [esp + 0x38], edi
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
push edi
lea ecx, [esp + 0x143c]
push 0x41d150
push ecx
mov byte [esp + 0x1444], 0
call fcn.00409cef
add esp, 0xc
push str.jwstat_
call fcn.004093b0
add esp, 4
push str.jvm_options_count
call fcn.00409430
lea edx, [esp + 0x143c]
add esp, 4
push edx
call fcn.004093b0
xor ebx, ebx
add esp, 4
xor ebp, ebp
cmp edi, ebx
jle 0x40309a
jmp 0x402fa2
xor ebx, ebx
mov eax, dword [esp + 0x1c]
push 0x400
push eax
call fcn.00409490
mov edi, eax
push edi
push str.JVM_Option:__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add esp, 0x14
push ebp
mov dword [ecx + eax*4], edi
lea edx, [esp + 0x143c]
add eax, 1
push str.jvm_options__d
push edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x1444], bl
call fcn.00409cef
mov eax, edi
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x403003
sub eax, ecx
cmp eax, 0x64
jae 0x403023
push edi
lea eax, [esp + 0x143c]
push eax
push str.Launch_Prop:__s___s_n
jmp 0x40304c
push 0x63
lea ecx, [esp + 0x4c]
push edi
push ecx
call fcn.0040a2c0
add esp, 0xc
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x143c]
push eax
mov byte [esp + 0xb3], bl
push str.Launch_Prop:__s___s..._n
call fcn.0040a3e4
add esp, 0xc
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push str.jwstat_
mov ebx, esi
call fcn.004093b0
lea ecx, [esp + 0x143c]
add esp, 4
push ecx
call fcn.00409430
add esp, 4
push edi
call fcn.004093b0
add ebp, 1
add esp, 4
cmp ebp, dword [esp + 0x30]
jl 0x402fa0
mov edx, dword [esp + 0x1c]
push edx
call fcn.0040ae69
jmp 0x4030c8
push str.JRE_LSO_file_does_not_exist_n
jmp 0x4030b2
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov ebp, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x20], ebp
push str.Writing_launch_properties_file_n
add ebp, 1
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
lea ecx, [esp + 0x3b48]
lea ebx, [esp + 0x4ed0]
mov byte [esp + 0x4ed0], 0
call fcn.00401ff0
mov eax, ebx
push eax
push str.Writing_launch_properties_to__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
xor eax, eax
xor edx, edx
mov cl, byte [eax + esi]
add eax, 1
test cl, cl
jne 0x40312f
add edx, 1
cmp edx, 2
jl 0x403131
add eax, 0xfffffffe
push eax
push str.Launch_properties_length_is__d_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
lea ecx, [esp + 0x4ed0]
push 0x41cdb4
push ecx
call fcn.0040a56d
mov edi, eax
add esp, 8
test edi, edi
jne 0x4031a2
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push 0x63
call fcn.0040b19d
push str.Writing_to_file_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
xor eax, eax
xor edx, edx
mov cl, byte [eax + esi]
add eax, 1
test cl, cl
jne 0x4031c2
add edx, 1
cmp edx, 2
jl 0x4031c4
push edi
add eax, 0xfffffffe
push eax
push 1
push esi
call fcn.0040a98e
push str.Flushing_n
call fcn.0040a3e4
add esp, 0x14
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push edi
call fcn.0040a0fa
add esp, 4
push str.Closing_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
push edi
call fcn.0040ae69
add esp, 4
push str.Wrote_launch_properties_file_OK_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
add esp, 4
lea edx, [esp + 0x4ed0]
push 0x28
mov dword [eax + ebp*4], edx
push ebx
add ebp, 1
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
mov esi, eax
push esi
push str.Reading__ld_extra_args_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
test esi, esi
jle 0x4032b9
mov edi, dword [esp + 0x14]
jmp 0x4032a0
push 0x400
push ebx
call fcn.00409490
mov dword [edi + ebp*4], eax
add esp, 8
add ebp, 1
sub esi, 1
jne 0x4032a0
mov edi, dword [esp + 0x34]
xor esi, esi
cmp edi, 3
jl 0x4032df
push 0x400
push ebx
call fcn.00409490
mov esi, eax
push esi
push str.Read_JRE_compatibility_class__s_n
call fcn.0040a3e4
add esp, 0x10
cmp edi, 4
jl 0x4032fd
push 0x400
push ebx
call fcn.00409490
push 0x400
push ebx
call fcn.00409490
add esp, 0x10
cmp edi, 5
jl 0x403337
push 0x28
push ebx
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
test eax, eax
jle 0x403337
mov edi, eax
lea esp, [esp]
push 0x400
push ebx
call fcn.00409490
add esp, 8
sub edi, 1
jne 0x403320
mov edi, dword [esp + 0x34]
cmp edi, 6
jl 0x40334d
push 0x28
push ebx
call fcn.00409490
push eax
call fcn.0040abd0
add esp, 0xc
mov eax, dword [esp + 0x627c]
test eax, eax
mov edi, dword [esp + 0x14]
jne 0x403369
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov dword [edi + edx*4], ecx
jmp 0x403375
cmp eax, 1
jne 0x403375
mov eax, dword [esp + 0x20]
mov dword [edi + eax*4], esi
mov esi, dword [esp + 0x6270]
push esi
push str.Appending__d_command_line_args_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
test esi, esi
jle 0x4033b6
mov ecx, dword [esp + 0x14]
mov eax, esi
mov esi, dword [esp + 0x6274]
lea edi, [ecx + ebp*4]
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x14]
add ebp, eax
push ebx
mov dword [edi + ebp*4], 0
call fcn.0040ae69
add esp, 4
push str.LAUNCHING:_n
call fcn.0040a3e4
add esp, 4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 4
lea edx, [esp + 0xb0]
push edx
push str.EXE:__s_n
call fcn.0040a3e4
add esp, 8
xor esi, esi
test ebp, ebp
jle 0x403419
nop
mov eax, dword [edi + esi*4]
push eax
push esi
push str.ARG__d:__s_n
call fcn.0040a3e4
add esi, 1
add esp, 0xc
cmp esi, ebp
jl 0x403400
mov dword [edi + ebp*4], 0
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
mov eax, dword [esp + 0x6280]
add esp, 4
test eax, eax
jne 0x40352e
push str._Spawner__Creating_spawner_n
call fcn.0040a3e4
add esp, 4
push 0x7d0
call fcn.00409680
add esp, 4
push 0x7d0
mov ebx, eax
push 0
push ebx
call fcn.0040fa70
mov edi, dword [esp + 0x20]
mov esi, dword [edi]
add esp, 0xc
push esi
push str._Spawner__Setting_spawner_exe_to__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x403518
add eax, 1
cmp eax, 0x1f4
jl 0x403490
push esi
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.0040a3e4
mov ecx, dword [edi + 4]
add esp, 8
test ecx, ecx
mov esi, 1
je 0x4034eb
mov edi, edi
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x403523
add eax, 1
cmp eax, 0x1f4
jl 0x4034c2
push ecx
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.0040a3e4
mov ecx, dword [edi + esi*4 + 4]
add esi, 1
add esp, 8
test ecx, ecx
jne 0x4034c0
call fcn.004081f0
mov esi, eax
test esi, esi
je 0x403512
push esi
push str.Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
push esi
call fcn.0040b19d
push esi
mov dword [ebx + eax*4], esi
push str._Spawner__Appended_argument__s_n
jmp 0x4034aa
push ecx
mov dword [ebx + eax*4], ecx
push str._Spawner__Appended_argument__s_n
jmp 0x4034d8
cmp eax, 1
jne 0x403631
push str._Spawner__Creating_spawner_n
call fcn.0040a3e4
add esp, 4
push 0x7d0
call fcn.00409680
add esp, 4
push 0x7d0
mov ebx, eax
push 0
push ebx
call fcn.0040fa70
mov edi, dword [esp + 0x20]
mov esi, dword [edi]
add esp, 0xc
push esi
push str._Spawner__Setting_spawner_exe_to__s_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
xor eax, eax
jmp 0x403590
cmp dword [ebx + eax*4], 0
je 0x40361b
add eax, 1
cmp eax, 0x1f4
jl 0x403590
push esi
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.0040a3e4
mov ecx, dword [edi + 4]
add esp, 8
test ecx, ecx
mov esi, 1
je 0x4035eb
mov edi, edi
xor eax, eax
cmp dword [ebx + eax*4], 0
je 0x403626
add eax, 1
cmp eax, 0x1f4
jl 0x4035c2
push ecx
push str._Spawner__WARNING:_couldnt_append_argument__s_n
call fcn.0040a3e4
mov ecx, dword [edi + esi*4 + 4]
add esi, 1
add esp, 8
test ecx, ecx
jne 0x4035c0
call fcn.00408020
push ebx
mov esi, eax
call fcn.004095a3
add esp, 4
push esi
push str.Return_code__ld_n
call fcn.0040a3e4
call fcn.00409e01
add eax, 0x20
push eax
call fcn.0040a0fa
add esp, 0xc
mov eax, esi
jmp 0x403634
push esi
mov dword [ebx + eax*4], esi
push str._Spawner__Appended_argument__s_n
jmp 0x4035aa
push ecx
mov dword [ebx + eax*4], ecx
push str._Spawner__Appended_argument__s_n
jmp 0x4035d8
or eax, 0xffffffff
mov ecx, dword [esp + 0x625c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00409594
add esp, 0x6254
ret