Function at 0x404876
Capabilities:
Accept command line arguments

Disassembly:
push 0x2f0
mov eax, 0x4555c6
call fcn.00436833
xor ebx, ebx
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 4], ebx
call fcn.004025b8
xor eax, eax
mov byte [ebp - 0x2c1], bl
inc eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], al
push 9
push str.undefined
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x238], 0xf
mov byte [ebp - 0x24c], bl
call fcn.00407eb0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x2e0], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [ebp - 0x2d8], esi
mov dword [ebp - 0x2e8], esi
mov byte [ebp - 4], 4
cmp dword [ebp - 0x2e0], 2
jne 0x404ad4
push str.__shutdown
push dword [esi + 4]
call fcn.0043ac08
pop ecx
pop ecx
test eax, eax
jne 0x404965
lea ecx, [ebp - 0x2c0]
call fcn.0040298c
mov edi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x404949
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x40495e
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x404ce5
push str.__recover
push dword [esi + 4]
call fcn.0043ac08
pop ecx
pop ecx
test eax, eax
jne 0x4049d1
mov byte [ebp - 0x2c1], 1
cmp dword [ebp - 0x2b8], 0
je 0x40499a
push str.Startup_requested.
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lea ecx, [ebp - 0x2c0]
call fcn.00404844
test al, al
je 0x404b3f
cmp dword [ebp - 0x2b8], 0
je 0x4051c3
push str.GFE_is_in_Standby_Mode__not_launching.
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
jmp 0x4051c3
push dword [esi + 4]
lea ecx, [ebp - 0x264]
call fcn.004059d5
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4049e9
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
push 0xb
push str.__launcher
push ecx
call fcn.004096d6
add esp, 0xc
lea ecx, [ebp - 0x264]
mov edi, eax
call fcn.00407c2e
test edi, edi
jne 0x404ab7
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x234]
add eax, 0x16
push eax
call fcn.004059d5
mov byte [ebp - 4], 5
cmp dword [ebp - 0x224], edi
je 0x404aa3
lea ecx, [ebp - 0x2b4]
call fcn.00405428
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x234]
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x224]
cmovae ecx, dword [ebp - 0x234]
lea eax, [ecx + eax*2]
push eax
push ecx
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x2b4]
call fcn.004072a8
mov byte [ebp - 0x2d4], bl
lea eax, [ebp - 0x264]
push dword [ebp - 0x2d4]
lea ecx, [ebp - 0x24c]
push eax
call fcn.0040801c
lea ecx, [ebp - 0x264]
call fcn.00407db4
lea ecx, [ebp - 0x2b4]
call fcn.00405406
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
call fcn.00407c2e
jmp 0x40497f
cmp dword [ebp - 0x2b8], 0
je 0x404af9
push str.Unknown_command_line_argument
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
jmp 0x404af9
jle 0x40497f
cmp dword [ebp - 0x2b8], 0
je 0x404af5
push str.Too_many_command_line_arguments
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test esi, esi
je 0x404b00
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x404b20
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x404b35
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80070057
jmp 0x404ce5
lea eax, [ebp - 0x2f0]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call fcn.00402917
mov edi, eax
mov dword [ebp - 0x2cc], edi
test edi, edi
jne 0x404bbf
cmp dword [ebp - 0x2b8], eax
je 0x404b77
push str.Node_is_already_running
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test esi, esi
je 0x404b82
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x404ba2
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x404bb7
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
inc eax
jmp 0x404ce5
jns 0x404be4
cmp dword [ebp - 0x2b8], 0
je 0x404bdc
push str.Failed_to_check_event
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lfence
jmp 0x404c68
mov edi, ebx
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2d4], edi
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x2cc]
cmp eax, 2
je 0x404e1a
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x208
mov edi, eax
lea eax, [ebp - 0x21c]
push ebx
push eax
call fcn.00438150
add esp, 0xc
lea eax, [ebp - 0x21c]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x404c75
cmp dword [ebp - 0x2b8], eax
je 0x404c54
push str.GetModuleFileName_failed
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test esi, esi
je 0x404929
jmp 0x404922
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x404ced
cmp dword [ebp - 0x2b8], eax
je 0x404ca0
push str.PathRemoveFileSpec_failed
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test esi, esi
je 0x404cab
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x404ccb
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x404ce0
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x8000ffff
call fcn.00436780
ret 0x10
cmp dword [ebp - 0x2b8], 0
je 0x404d08
push str.Starting_node_process...
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
push 7
pop edi
xor eax, eax
mov dword [ebp - 0x2c8], ebx
push str.index.js
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], edi
mov word [ebp - 0x234], ax
call fcn.00407cab
cmp byte [ebp - 0x2c1], 0
mov byte [ebp - 4], 8
je 0x404d53
push str._recover
lea ecx, [ebp - 0x234]
call fcn.00407d24
xor eax, eax
mov dword [ebp - 0x254], ebx
mov word [ebp - 0x264], ax
lea ecx, [ebp - 0x264]
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x250], edi
push eax
call fcn.00407cab
lea eax, [ebp - 0x2c8]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x234]
push eax
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x2c0]
call fcn.0040394b
pop ecx
pop ecx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 8
mov edi, eax
call fcn.00407c2e
test edi, edi
jns 0x404de2
cmp dword [ebp - 0x2b8], 0
je 0x404dcf
push str.CreateNodeProcess_failed
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lea ecx, [ebp - 0x234]
lfence
call fcn.00407c2e
jmp 0x404c68
cmp dword [ebp - 0x2b8], 0
mov edi, dword [ebp - 0x2c8]
mov dword [ebp - 0x2d4], edi
je 0x404e09
push str.Process_created__waiting_for_initialization.
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 7
call fcn.00407c2e
jmp 0x404e35
cmp dword [ebp - 0x2b8], 0
je 0x404e3b
push str.Event_exists__this_means_that_process_is_already_running.
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
mov eax, dword [ebp - 0x2cc]
cmp eax, 2
mov byte [ebp - 0x2c1], bl
mov eax, ebx
mov dword [ebp - 0x2e4], 0xa
sete byte [ebp - 0x2c8]
mov dword [ebp - 0x2cc], eax
cmp eax, 0x5dc0
jae 0x4052b7
call fcn.00402917
mov dword [ebp - 0x2d8], eax
test eax, eax
jne 0x4050e9
lea eax, [ebp - 0x2d0]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x2dc]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov eax, dword [ebp - 0x2dc]
or eax, dword [ebp - 0x2d8]
je 0x404ee3
mov ecx, dword [ebp - 0x2d0]
sub ecx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2cc]
sbb eax, dword [ebp - 0x2ec]
push ebx
push 0x3e8
push eax
push ecx
call fcn.00436880
push dword [ebp - 0x2d8]
push dword [ebp - 0x2dc]
push edx
push eax
call fcn.004547b0
mov dword [ebp - 0x2c8], eax
jmp 0x404eeb
mov eax, ebx
mov dword [ebp - 0x2c8], ebx
lea ecx, [ebp - 0x21f]
xor edx, edx
dec ecx
div dword [ebp - 0x2e4]
add dl, 0x30
mov byte [ecx], dl
test eax, eax
jne 0x404ef1
lea eax, [ebp - 0x21f]
mov dword [ebp - 0x254], ebx
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], bl
cmp ecx, eax
je 0x404f32
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x264]
call fcn.00407eb0
push 0xa
pop eax
push 0xd
push str.Launch_time:
push ecx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], al
call fcn.0040a2c3
push eax
lea ecx, [ebp - 0x234]
call fcn.00405abc
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
cmovae eax, dword [ebp - 0x234]
cmp dword [ebp - 0x2b8], 0
je 0x404f86
push eax
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lea ecx, [ebp - 0x234]
call fcn.00407db4
lea ecx, [ebp - 0x264]
call fcn.00407db4
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x24c]
mov ecx, dword [ebp - 0x2c8]
call fcn.00403e2f
mov dword [ebp - 4], 7
jmp 0x40507c
cmp dword [ebp - 0x2b8], 0
je 0x405097
push str.Initialized__returning_S_OK
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test edi, edi
je 0x4050a2
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x4050ad
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x4050cd
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x4050e2
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x404ce5
jns 0x40515f
cmp dword [ebp - 0x2b8], 0
je 0x405106
push str.CheckEvent_failed
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
lfence
test edi, edi
je 0x405114
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x40511f
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x40513f
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x405154
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2d8]
jmp 0x404ce5
mov ecx, dword [ebp - 0x2c8]
cmp eax, 2
push 1
pop edx
movzx ecx, cl
cmove ecx, edx
mov dword [ebp - 0x2c8], ecx
cmp eax, edx
jne 0x40518f
test cl, cl
je 0x40518f
cmp dword [ebp - 0x2b8], 0
je 0x4051b8
push str.Event_existed_before_but_no_longer_exists._Assuming_init_failure.
jmp 0x4051ab
mov al, byte [ebp - 0x2c1]
test al, al
je 0x40520d
test cl, cl
jne 0x40520d
cmp dword [ebp - 0x2b8], 0
je 0x4051b8
push str.Process_already_exited_and_no_event_to_wait_for...
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test edi, edi
je 0x4051c3
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x4051ce
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x4051ee
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x405203
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80004005
jmp 0x404ce5
test edi, edi
je 0x4052a1
test al, al
jne 0x4052a1
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40527d
cmp eax, 0x102
je 0x4052a1
cmp eax, 0xffffffff
jne 0x405256
cmp dword [ebp - 0x2b8], 0
je 0x405250
push str.Process_wait_failed
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x2b8], 0
je 0x405271
push str.Unexpected_code_from_process_wait
push 0x45
lea ecx, [ebp - 0x2c0]
call fcn.00402881
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404ca0
cmp dword [ebp - 0x2b8], 0
je 0x405298
push str.Detected_process_exit
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
xor eax, eax
inc eax
mov byte [ebp - 0x2c1], al
push 0xa
pop eax
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x2cc]
inc eax
jmp 0x404e57
cmp dword [ebp - 0x2b8], 0
je 0x4052d2
push str.Returning_ERROR_TIMEOUT
push 0x49
lea ecx, [ebp - 0x2c0]
call fcn.00402881
test edi, edi
je 0x4052dd
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x4052e8
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x24c]
call fcn.00407db4
cmp dword [ebp - 0x2b8], 0
je 0x405308
push dword [ebp - 0x2b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2bc], 0
je 0x40531d
push dword [ebp - 0x2bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x800705b4
jmp 0x404ce5