Function at 0x41dc10
Capabilities:
Accept command line arguments
Acquire debug privileges
Check if file exists

Disassembly:
sub esp, 0xb0
mov eax, dword [0x476cd4]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
mov dword [0x4792d8], eax
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x41dc4a
cmp word [eax], 0
je 0x41dc4a
call fcn.0041dab0
test eax, eax
jne 0x41dc63
xor eax, eax
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.0043f03d
add esp, 0xb0
ret 0x10
push edi
push str.SeAssignPrimaryTokenPrivilege
call fcn.004212c0
push str.SeIncreaseQuotaPrivilege
call fcn.004212c0
push str.SeDebugPrivilege
call fcn.004212c0
push str.SeSecurityPrivilege
call fcn.004212c0
push str.SeLoadDriverPrivilege
call fcn.004212c0
push str.SeShutdownPrivilege
call fcn.004212c0
add esp, 0x18
push str.CrashReport.dll
call fcn.004230f0
push eax
lea ecx, [esp + 0xc]
push ecx
call fcn.0040bb30
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0xc
push edx
call edi
test eax, eax
je 0x41dcd9
mov eax, dword [esp + 4]
push eax
call fcn.0041da10
add esp, 4
push esi
push 0
lea ecx, [esp + 0x18]
call fcn.004164d0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [esp + 0x18]
call fcn.004160c0
test eax, eax
je 0x41df10
push str._installSrv
lea ecx, [esp + 0x18]
call fcn.00415a10
test eax, eax
je 0x41dd4a
call fcn.0041ea40
mov ecx, eax
call fcn.0041ee30
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00415c10
lea ecx, [esp + 8]
call fcn.00407a10
mov eax, esi
mov ecx, dword [esp + 0xb4]
pop esi
pop edi
xor ecx, esp
call fcn.0043f03d
add esp, 0xb0
ret 0x10
push str._uninstallSrv
lea ecx, [esp + 0x18]
call fcn.00415a10
test eax, eax
je 0x41dd6a
call fcn.0041ea40
mov ecx, eax
call fcn.0041f1a0
jmp 0x41dd1b
push str._startSrv
lea ecx, [esp + 0x18]
call fcn.00415a10
test eax, eax
je 0x41dd8a
call fcn.0041ea40
mov ecx, eax
call fcn.0041f820
jmp 0x41dd1b
xor ecx, ecx
mov word [esp + 0x9c], cx
mov dword [esp + 0x90], ecx
mov byte [esp + 0x80], cl
push str._luaPath
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb0], 0
mov dword [esp + 0x98], 0xf
xor esi, esi
call fcn.00415a10
test eax, eax
je 0x41de19
push str._luaPath
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415d00
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
call fcn.0041d9e0
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x9c]
call fcn.0040d8f0
lea ecx, [esp + 0x10]
call fcn.00407a10
lea ecx, [esp + 0xc]
call fcn.00407a10
push str._luaEntry
lea ecx, [esp + 0x18]
call fcn.00415a10
test eax, eax
je 0x41de9f
push str._luaEntry
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x1c]
call fcn.00415d00
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
call fcn.0041d9e0
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x48]
call fcn.0040d920
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.00423610
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x88]
call fcn.00408bb0
lea ecx, [esp + 0x60]
call fcn.00414a90
lea ecx, [esp + 0x44]
call fcn.004084b0
lea ecx, [esp + 0x10]
call fcn.00407a10
lea ecx, [esp + 0xc]
call fcn.00407a10
push str._pid
lea ecx, [esp + 0x18]
call fcn.00415a10
test eax, eax
je 0x41dedc
push str._pid
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415d00
mov edx, dword [esp + 0xc]
push edx
call fcn.00440cc1
add esp, 4
lea ecx, [esp + 0xc]
mov esi, eax
call fcn.00407a10
push esi
push 0
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xa4]
push ecx
call fcn.0041e1c0
mov ecx, eax
call fcn.0041e8a0
lea ecx, [esp + 0x7c]
call fcn.00414a90
lea ecx, [esp + 0x98]
call fcn.004084b0
mov edx, dword [esp + 8]
push edx
call edi
test eax, eax
je 0x41df28
mov eax, dword [esp + 8]
push eax
call fcn.0041da60
add esp, 4
lea ecx, [esp + 0x14]
call fcn.00415c10
mov eax, dword [esp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41df51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x41dd31