Function at 0x409429
Capabilities:
Create process on windows
Enumerate gui resources

Disassembly:
push 0x330
mov eax, 0x439305
call fcn.004380ee
mov ebx, ecx
mov dword [ebp - 0x314], ebx
xor edx, edx
cmp byte [ebx + 0x4c], dl
je 0x40945f
lea eax, [ebx + 0x150]
push str.We_are_in_bg_update__dont_need_to_start_game.
push eax
call fcn.004026dd
pop ecx
pop ecx
jmp 0x40a074
mov ecx, dword [ebx + 0x11c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
push str.www.projex.zip_startRobloxApp
push ecx
push ecx
lea ecx, [ebp - 0x310]
call fcn.00406bfa
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x310]
mov dword [ebp - 0x33c], eax
xor eax, eax
inc eax
push eax
mov byte [ebp - 4], al
push dword [ebp - 0x310]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor edx, edx
movzx ecx, dl
mov edx, 0x102
push 1
cmp eax, edx
pop esi
cmovne ecx, esi
lea esi, [ebx + 0x150]
mov dword [ebp - 0x320], ecx
mov byte [ebp - 0x338], cl
mov dword [ebp - 0x31c], esi
jne 0x4094df
push str.Another_process_is_starting_Project_X._Abandoning_startRobloxApp
push esi
call fcn.004026dd
pop ecx
pop ecx
jmp 0x40a04a
xor eax, eax
mov dword [ebx + 0x6c], 0xa
inc eax
lea ecx, [ebp - 0x260]
push str.Starting_Project_X...
mov byte [ebp - 0x309], al
call fcn.00402815
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call fcn.004223fc
xor eax, eax
lea ecx, [ebp - 0x260]
inc eax
mov byte [ebp - 4], al
call fcn.004027a6
push str.Creating_event
push esi
call fcn.004026dd
pop ecx
pop ecx
push str.www.projex.zip_robloxStartedEvent
xor eax, eax
mov byte [ebp - 4], 3
xor ecx, ecx
push eax
inc ecx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edi, eax
mov dword [ebp - 0x324], edi
test edi, edi
je 0x40a07c
push str.Resetting_event
push esi
mov byte [ebp - 4], 4
call fcn.004026dd
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor ecx, ecx
mov dword [ebp - 0x318], ecx
mov byte [ebp - 4], 5
mov eax, dword [ebx + 0x218]
test eax, eax
je 0x4095dc
cmp dword [eax + 0x70], ecx
je 0x4095dc
add eax, 0x60
cmp dword [eax + 0x14], 0xf
jbe 0x409594
mov eax, dword [eax]
push eax
push str.Play_game__syncGameEventName___s
push esi
call fcn.004026dd
mov edx, dword [ebx + 0x218]
lea ecx, [ebp - 0x248]
add esp, 0xc
add edx, 0x60
call fcn.0040eeb3
cmp dword [eax + 0x14], 7
jbe 0x4095bf
mov eax, dword [eax]
push eax
xor eax, eax
push eax
push 2
call dword [sym.imp.KERNEL32.dll_OpenEventW]
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x318], eax
call fcn.00402ab8
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
xor eax, eax
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 6
cmp dword [ebx + 0x218], eax
jne 0x409a48
push str._ide
lea ecx, [ebp - 0x248]
call fcn.0040bc27
lea ecx, [ebx + 0x130]
push ecx
push eax
mov dword [ebp - 0x21c], ecx
call fcn.0040bb0e
lea ecx, [ebp - 0x248]
mov esi, eax
call fcn.00402ab8
cmp esi, 0xffffffff
jne 0x40984f
xor eax, eax
lea edi, [ebp - 0x230]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2a8]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
mov eax, dword [eax]
call eax
cmp byte [ebp + 8], 0
je 0x40968c
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0xf
jbe 0x409685
mov eax, dword [eax]
push str._download_thankyou
jmp 0x40969d
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0xf
jbe 0x409698
mov eax, dword [eax]
push str._games
push eax
lea eax, [ebp - 0x248]
push str._S_s
push eax
call fcn.0040f226
add esp, 0x10
lea ecx, [ebp - 0x230]
push eax
call fcn.0040bbb5
lea ecx, [ebp - 0x248]
call fcn.00402ab8
lea ecx, [ebp - 0x2a8]
call fcn.004027a6
xor eax, eax
mov byte [ebp - 0x309], al
mov dword [ebp - 0x31c], eax
push str.Checking_for_launcher_started...
lea edi, [ebx + 0x150]
mov byte [ebp - 4], 0xa
push edi
call fcn.004026dd
pop ecx
pop ecx
push str.rbxLauncherStarted
xor eax, eax
push eax
push 2
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov esi, eax
mov dword [ebp - 0x31c], esi
test esi, esi
je 0x409727
push str.Launcher_started.
push edi
call fcn.004026dd
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x40972d
mov al, byte [ebp - 0x309]
cmp byte [ebx + 0x33c], 0
je 0x40975c
test al, al
jne 0x40975c
cmp byte [ebp + 8], al
je 0x40975c
push str.Showing_install_success_prompt.
push edi
call fcn.004026dd
pop ecx
pop ecx
mov ecx, dword [ebx + 0x11c]
mov eax, dword [ecx]
call dword [eax + 0x28]
jmp 0x409812
push ecx
push 0x445110
lea ecx, [ebp - 0x230]
call fcn.0040bad4
test eax, eax
je 0x4097c6
push ecx
push str.http:
lea ecx, [ebp - 0x230]
call fcn.0040bad4
test eax, eax
je 0x4097c6
cmp dword [ebp - 0x21c], 7
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
lea eax, [ebp - 0x248]
push str.http:___s
push eax
call fcn.0040f226
add esp, 0xc
lea ecx, [ebp - 0x230]
push eax
call fcn.0040bbb5
lea ecx, [ebp - 0x248]
call fcn.00402ab8
cmp dword [ebp - 0x21c], 7
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
push str.Redirectings_to_page_url_S
push edi
call fcn.004026dd
add esp, 0xc
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
cmova eax, dword [ebp - 0x230]
xor ecx, ecx
inc ecx
push ecx
xor ecx, ecx
push ecx
push ecx
push eax
push 0x445158
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
mov byte [ebp - 0x309], al
test esi, esi
je 0x409825
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x21c]
cmp edx, 7
jbe 0x409dd2
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
call fcn.00403293
jmp 0x409dd2
push str._ide
lea ecx, [ebp - 0x248]
call fcn.0040bc27
mov esi, dword [ebp - 0x21c]
mov edx, eax
mov ecx, esi
call fcn.0040c319
lea ecx, [ebp - 0x248]
mov bl, al
call fcn.00402ab8
test bl, bl
jne 0x409939
push str.Starting_windows_player__beta_
push dword [ebp - 0x31c]
call fcn.004026dd
pop ecx
pop ecx
push str.ProjectXPlayerBeta.exe
lea ecx, [ebp - 0x2a8]
call fcn.0040bc27
mov esi, eax
mov ebx, dword [ebp - 0x314]
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0xb
mov ecx, ebx
push eax
mov edx, dword [ebx]
call dword [edx + 0xa0]
push esi
push eax
push dword [ebp - 0x320]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0xc
call fcn.0040cbcb
lea ecx, [ebx + 0x130]
mov byte [ebp - 4], 0xd
cmp dword [ecx + 0x14], 7
jbe 0x4098eb
mov ecx, dword [ecx]
cmp dword [ebp - 0x264], 7
lea edx, [ebp - 0x334]
push edx
lea eax, [ebp - 0x278]
cmova eax, dword [ebp - 0x278]
push ecx
push eax
mov ecx, ebx
call fcn.0041eb39
lea ecx, [ebp - 0x278]
call fcn.00402ab8
lea ecx, [ebp - 0x248]
call fcn.00402ab8
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 6
call fcn.00402ab8
jmp 0x409dd8
push str.Starting_studio_bootstrapper_from_client_bootstrapper
push dword [ebp - 0x31c]
call fcn.004026dd
pop ecx
pop ecx
push 0x4451bc
lea ecx, [ebp - 0x260]
call fcn.00402815
mov ebx, dword [ebp - 0x314]
mov byte [ebp - 4], 0xe
movzx eax, byte [ebx + 0x4d]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0042412f
lea edx, [ebp - 0x260]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x248]
call fcn.0040eeb3
mov byte [ebp - 4], 0x10
mov ecx, eax
cmp dword [eax + 0x14], 7
jbe 0x409999
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x230]
call fcn.0040c0ef
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xf
call fcn.00402ab8
cmp dword [ebp - 0x21c], 7
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
lea eax, [ebx + 0x150]
push str.Checking_file_existance__S
push eax
call fcn.004026dd
add esp, 0xc
lea ecx, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
cmova ecx, dword [ebp - 0x230]
call fcn.0042fca7
test al, al
je 0x409a29
cmp dword [ebp - 0x21c], 7
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
cmp dword [esi + 0x14], 7
jbe 0x409a19
mov esi, dword [esi]
lea ecx, [ebp - 0x334]
push ecx
push esi
push eax
mov ecx, ebx
call fcn.0041eb39
lea ecx, [ebp - 0x230]
call fcn.00402ab8
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 6
call fcn.004027a6
jmp 0x409dd8
mov ecx, dword [ebx + 0x11c]
mov eax, dword [ecx]
call dword [eax + 0x2c]
push str.play
lea ecx, [ebp - 0x260]
call fcn.00402815
push 0x4444a8
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x11
call fcn.0040bc27
mov byte [ebp - 4], 0x12
mov ecx, dword [ebx + 0x218]
add ecx, 0x48
mov edx, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x409a8e
mov edx, dword [ecx]
add edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0xf
jbe 0x409a99
mov ecx, dword [ecx]
xor eax, eax
lea edi, [ebp - 0x230]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
cmp ecx, edx
jne 0x409ad2
mov edi, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], edi
mov word [ebp - 0x230], ax
jmp 0x409ae8
sub edx, ecx
push edx
push ecx
push ecx
lea ecx, [ebp - 0x230]
call fcn.0040d40b
mov edi, dword [ebp - 0x220]
lea eax, [ebx + 0x150]
mov byte [ebp - 4], 0x13
push str.Starting_in_play_configuration
push eax
call fcn.004026dd
pop ecx
pop ecx
push str.ProjectXPlayerBeta.exe
lea ecx, [ebp - 0x2c0]
call fcn.0040bc27
mov esi, eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x308]
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 0xa0]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x278]
cmp dword [ebp - 0x264], 7
push dword [ebp - 0x268]
cmova ecx, dword [ebp - 0x278]
push ecx
mov ecx, eax
call fcn.0040c0ef
push eax
lea ecx, [ebp - 0x248]
call fcn.0040bbec
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
lea ecx, [ebp - 0x248]
push edi
cmova eax, dword [ebp - 0x230]
push eax
call fcn.0040c0ef
push eax
lea ecx, [ebp - 0x2a8]
call fcn.0040bbec
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x278]
cmp dword [ebp - 0x264], 7
lea ecx, [ebp - 0x2a8]
push dword [ebp - 0x268]
cmova eax, dword [ebp - 0x278]
push eax
call fcn.0040c0ef
push eax
lea ecx, [ebp - 0x2f0]
call fcn.0040bbec
push esi
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 0x18
push eax
push dword [ebp - 0x320]
lea ecx, [ebp - 0x2d8]
call fcn.0040cbcb
lea ecx, [ebp - 0x2f0]
call fcn.00402ab8
lea ecx, [ebp - 0x2a8]
call fcn.00402ab8
lea ecx, [ebp - 0x248]
call fcn.00402ab8
lea ecx, [ebp - 0x308]
call fcn.00402ab8
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1e
call fcn.00402ab8
mov ecx, dword [ebx + 0x218]
lea esi, [ecx + 0x30]
cmp dword [esi + 0x14], 0xf
jbe 0x409c28
mov esi, dword [esi]
lea edx, [ecx + 0x18]
cmp dword [edx + 0x14], 0xf
jbe 0x409c33
mov edx, dword [edx]
cmp dword [ecx + 0x14], 0xf
jbe 0x409c3b
mov ecx, dword [ecx]
cmp dword [ebp - 0x24c], 0xf
lea eax, [ebp - 0x260]
push esi
cmova eax, dword [ebp - 0x260]
push edx
push ecx
push eax
lea eax, [ebp - 0x290]
push str.___S__a__S__t__S__j__S
push eax
call fcn.0040f226
add esp, 0x18
mov byte [ebp - 4], 0x1f
xor ecx, ecx
mov eax, dword [ebx + 0x218]
cmp dword [eax + 0x88], ecx
je 0x409cc9
add eax, 0x78
cmp dword [eax + 0x14], 0xf
jbe 0x409c86
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c0]
push str.__w__S
push eax
call fcn.0040f226
add esp, 0xc
mov byte [ebp - 4], 0x20
mov ecx, eax
cmp dword [eax + 0x14], 7
jbe 0x409ca9
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0040c0ef
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1f
call fcn.00402ab8
xor ecx, ecx
mov eax, dword [ebx + 0x218]
cmp dword [eax + 0xa4], ecx
je 0x409d25
add eax, 0x94
cmp dword [eax + 0x14], 0xf
jbe 0x409ce4
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c0]
push str.__b__S
push eax
call fcn.0040f226
add esp, 0xc
mov byte [ebp - 4], 0x21
mov ecx, eax
cmp dword [eax + 0x14], 7
jbe 0x409d07
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0040c0ef
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1f
call fcn.00402ab8
cmp dword [ebp - 0x27c], 7
lea eax, [ebp - 0x290]
cmova eax, dword [ebp - 0x290]
push eax
lea eax, [ebx + 0x150]
push str.playArgs___S
push eax
call fcn.004026dd
lea eax, [ebx + 0x150]
push str.Starting_windows_player__beta_
push eax
call fcn.004026dd
add esp, 0x14
lea ecx, [ebp - 0x290]
cmp dword [ebp - 0x27c], 7
lea edx, [ebp - 0x334]
lea eax, [ebp - 0x2d8]
cmova ecx, dword [ebp - 0x290]
cmp dword [ebp - 0x2c4], 7
push edx
cmova eax, dword [ebp - 0x2d8]
push ecx
push eax
mov ecx, ebx
call fcn.0041eb39
lea ecx, [ebp - 0x290]
call fcn.00402ab8
lea ecx, [ebp - 0x2d8]
call fcn.00402ab8
lea ecx, [ebp - 0x230]
call fcn.00402ab8
lea ecx, [ebp - 0x278]
call fcn.00402ab8
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 6
call fcn.004027a6
mov edi, dword [ebp - 0x324]
mov ecx, dword [ebx + 0x11c]
xor edx, edx
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
cmp byte [ebp - 0x309], 0
je 0x409f14
lea eax, [ebx + 0x150]
push str.startRobloxApp_waiting_for_robloxStartedEvent
push eax
call fcn.004026dd
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
pop ecx
pop ecx
call esi
sub eax, dword [ebx + 0x68]
mov dword [ebp - 0x21c], 0x4206
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x44ca70]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x44ca48]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x228], xmm0
push str.WaitingForAppStart
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x22
call fcn.00402815
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebx + 0x148]
call fcn.0042f2b0
lea ecx, [ebp - 0x248]
call fcn.004027a6
push 0x2710
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call esi
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x21c], 0x4206
sub eax, dword [ecx + 0x68]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x44ca70]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x44ca48]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x228], xmm0
push str.WaitingForAppEnd
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x24
call fcn.00402815
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebx + 0x148]
call fcn.0042f2b0
lea ecx, [ebp - 0x248]
call fcn.004027a6
mov ebx, dword [ebp - 0x314]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x220], eax
xor eax, eax
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x220]
push eax
push 0x429096
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [ebp - 0x21c]
mov dword [ebx + 0x118], eax
mov eax, dword [ebx + 0x218]
test eax, eax
je 0x409f79
xor ecx, ecx
cmp dword [eax + 0x70], ecx
je 0x409f79
lea eax, [ebx + 0x150]
push str.Setting_game_ready_event
push eax
call fcn.004026dd
mov esi, dword [ebp - 0x318]
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x409f7f
mov esi, dword [ebp - 0x318]
mov ecx, dword [ebx + 0x11c]
xor edx, edx
inc edx
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
test al, al
je 0x40a02d
push str._qbgnorun
lea ecx, [ebp - 0x260]
call fcn.0040bc27
xor ecx, ecx
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x228], ecx
push 0x104
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x27
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebx + 0x150]
push str.Starting_up_pre_deploy_bootstrapper__path___s
push eax
call fcn.004026dd
add esp, 0xc
lea ecx, [ebp - 0x228]
cmp dword [ebp - 0x24c], 7
lea eax, [ebp - 0x260]
cmova eax, dword [ebp - 0x260]
push ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.0041eb39
lea ecx, [ebp - 0x228]
call fcn.00407007
lea ecx, [ebp - 0x260]
call fcn.00402ab8
lea ecx, [ebp - 0x334]
call fcn.00407007
test esi, esi
je 0x40a043
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x320], 0
je 0x40a05f
push dword [ebp - 0x310]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x310], 0
je 0x40a074
push dword [ebp - 0x310]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0043809d
ret 4
call fcn.004012f0
int3