Function at 0x401aca
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x415404]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
call fcn.00402178
push esi
push dword [ebp + 8]
mov dword [0x416abc], eax
call fcn.0040175e
push str.______Starting_Launcher_______n
call fcn.00402538
xor ebx, ebx
add esp, 0xc
xor edi, edi
cmp dword [ebp + 8], ebx
jle 0x401b2a
push dword [esi + edi*4]
push edi
push str._Launcher__t_Arg__d__s_n
call fcn.00402538
add esp, 0xc
inc edi
cmp edi, dword [ebp + 8]
jl 0x401b13
mov edi, dword [esi]
call fcn.004023ce
mov ecx, dword [esi]
mov dword [0x416ac8], ebx
call fcn.0040185b
mov edi, dword [esi]
call fcn.004023ce
mov edi, eax
push edi
push str._Launcher__ExePath_is__s_n
call fcn.00402538
push edi
call fcn.00402383
add esp, 0xc
push eax
call fcn.00402383
mov dword [esp], 0x413a90
push edi
mov esi, eax
call fcn.00403300
test eax, eax
pop ecx
pop ecx
jne 0x401b87
push str._bin_
push edi
call fcn.00403300
test eax, eax
pop ecx
pop ecx
je 0x401bb1
push esi
mov dword [0x416ad0], esi
call fcn.00402383
mov esi, eax
mov dword [esp], str.Bundle_
push esi
call fcn.00403300
test eax, eax
pop ecx
pop ecx
je 0x401bb1
push esi
call fcn.00402383
pop ecx
mov esi, eax
push esi
push str._Launcher__Master_dir_from_exe_path_is__s_n
call fcn.00402538
lea eax, [esp + 0x20]
push esi
push eax
mov byte [esp + 0x28], bl
call fcn.00402bb0
lea eax, [esp + 0x28]
push eax
push str._Launcher__Master_folder_is__s_n
call fcn.00402538
mov eax, dword [0x416ad0]
add esp, 0x18
cmp eax, ebx
jne 0x401d18
lea eax, [esp + 0x18]
push eax
call fcn.004019c7
pop ecx
push eax
push str._Launcher__JRE_name_is__s_n
mov dword [esp + 0x14], eax
call fcn.00402538
pop ecx
xor esi, esi
cmp dword [0x416ad4], ebx
pop ecx
jle 0x401c36
mov eax, dword [0x416af8]
mov edi, dword [eax + esi*4]
push edi
push str._Djwbundleversion
call fcn.0040274d
test al, al
pop ecx
pop ecx
jne 0x401cd4
inc esi
cmp esi, dword [0x416ad4]
jl 0x401c10
xor edi, edi
cmp edi, ebx
mov esi, 0x104
je 0x401cde
push edi
push str._Launcher__Received_bundle_version_request:__s_n
call fcn.00402538
mov eax, dword [0x416ab8]
push edi
mov dword [esp + 0x1c], eax
call fcn.00402b10
add esp, 0xc
test eax, eax
je 0x401c9e
push esi
call fcn.00402a4d
pop ecx
push edi
push dword [esp + 0x14]
mov ebx, eax
push 0x5c
lea eax, [esp + 0x24]
push eax
push str._s_cJWrapper__s_Bundle__s
push esi
push ebx
call fcn.00404563
add esp, 0x1c
push ebx
call fcn.0040243a
test eax, eax
pop ecx
jne 0x401c9e
push ebx
call fcn.00402970
pop ecx
xor ebx, ebx
push dword [esp + 0xc]
mov eax, ebx
call fcn.00402666
pop ecx
mov edi, eax
push edi
push str._Launcher__Located_bundle_JRE_runtime:__s_n
call fcn.00402538
test edi, edi
pop ecx
pop ecx
je 0x401cdc
push esi
call fcn.00402a4d
pop ecx
push edi
push ebx
mov dword [0x416ad0], eax
call fcn.004024fb
xor ebx, ebx
jmp 0x401d23
add edi, 0x12
jmp 0x401c38
xor ebx, ebx
push dword [esp + 0xc]
lea eax, [esp + 0x1c]
call fcn.00402666
pop ecx
mov edi, eax
push edi
push str._Launcher__Located_existing_JRE_runtime:__s_n
call fcn.00402538
cmp edi, ebx
pop ecx
pop ecx
je 0x401d25
push esi
call fcn.00402a4d
pop ecx
lea ecx, [esp + 0x18]
push edi
push ecx
mov dword [0x416ad0], eax
call fcn.004024fb
jmp 0x401d23
push eax
push str._Launcher__Located_existing_bin_JRE_runtime___s_n
call fcn.00402538
pop ecx
pop ecx
push dword [0x416ad0]
push str._Launcher__JRE_path_is__s_n
call fcn.00402538
pop ecx
pop ecx
lea eax, [esp + 0x14]
push eax
push ebx
push ebx
push 0x401730
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
jne 0x401d68
push 0x413bec
push str.WinLauncher
call fcn.00401e05
pop ecx
pop ecx
push 3
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00402961
mov esp, ebp
pop ebp
ret