Function at 0x40a239
Capabilities:
Accept command line arguments

Disassembly:
push 0x144
mov eax, 0x412990
call fcn.004019d2
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x150]
mov dword [ebp - 0x140], ecx
xor ebx, ebx
push eax
mov ecx, esi
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], ebx
call fcn.00408b39
mov eax, dword [ebp - 0x150]
mov dword [ebp - 4], ebx
cmp eax, dword [ebp - 0x14c]
jne 0x40a29a
push 2
pop ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.00402d44
mov eax, ebx
call fcn.00401d81
ret 4
push 0x41811c
lea ecx, [ebp - 0x48]
call fcn.004021b5
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00403091
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x48]
mov edi, eax
mov byte [ebp - 4], bl
call fcn.00402368
cmp edi, ebx
je 0x40a2e8
call fcn.0040632f
mov ecx, eax
call fcn.00406341
mov ecx, eax
call fcn.0040fee9
test ax, ax
je 0x40a2e8
mov ebx, eax
jmp 0x40a281
mov edi, 0x417d24
push edi
lea ecx, [ebp - 0x2c]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 2
call fcn.00407d3d
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00402368
mov ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x64]
push eax
call fcn.00408ee4
test eax, eax
jne 0x40a469
push str.ServiceType
lea ecx, [ebp - 0x80]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 5
call fcn.00407d3d
push ebx
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.00402368
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x40a370
lea eax, [ebp - 0x48]
push str.Daemon
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x40a3c1
call fcn.0040632f
mov ecx, eax
call fcn.00406341
mov ecx, eax
call fcn.0040fe06
mov ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x64]
push eax
call fcn.0040969f
mov edi, eax
lea ecx, [ebp - 0x48]
push ebx
push esi
call fcn.00402368
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.00402368
mov ebx, edi
jmp 0x40a281
lea ecx, [ebp - 0x134]
call fcn.00401f0d
mov byte [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004021b5
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 9
call fcn.004026c8
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.00402368
push edi
lea ecx, [ebp - 0x2c]
call fcn.004021b5
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xa
call fcn.00408ac7
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.00402368
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
call fcn.00408d8c
lea ecx, [ebp - 0x64]
push ecx
push eax
mov byte [ebp - 4], 0xb
call fcn.00409849
pop ecx
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov edi, eax
call fcn.00402368
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 7
call fcn.00404c10
jmp 0x40a3a6
mov edi, str.Temporary
push edi
lea ecx, [ebp - 0x48]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x138], esi
call fcn.00403091
test eax, eax
je 0x40a4d7
push edi
lea ecx, [ebp - 0x80]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x138], 3
call fcn.00407d3d
mov dword [ebp - 0x138], 7
cmp dword [eax + 0x10], ebx
jne 0x40a4d7
mov edi, esi
jmp 0x40a4d9
xor edi, edi
test byte [ebp - 0x138], 4
je 0x40a4f6
and dword [ebp - 0x138], 0xfffffffb
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.00402368
test byte [ebp - 0x138], 2
je 0x40a510
and dword [ebp - 0x138], 0xfffffffd
push ebx
push esi
lea ecx, [ebp - 0x80]
call fcn.00402368
test byte [ebp - 0x138], 1
mov dword [ebp - 4], 4
je 0x40a52a
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.00402368
cmp edi, ebx
je 0x40a54e
mov ecx, dword [ebp - 0x140]
call fcn.004094a7
test eax, eax
je 0x40a54e
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.00402368
push 0x11
jmp 0x40a280
push str.Entry
lea ecx, [ebp - 0x80]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0xe
call fcn.00407d3d
push ebx
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x10
call fcn.00402368
push str.EncodePath
lea ecx, [ebp - 0x2c]
call fcn.004021b5
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x11
call fcn.00403091
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov edi, eax
mov byte [ebp - 4], 0x10
call fcn.00402368
push str.OnlyVerifyCertSigner
lea ecx, [ebp - 0x2c]
call fcn.004021b5
cmp edi, ebx
je 0x40a629
mov eax, dword [ebp - 0x150]
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x12
jb 0x40a5d6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00410b77
pop ecx
pop ecx
mov edi, eax
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x13
call fcn.00403091
mov ecx, dword [ebp - 0x140]
dec eax
neg eax
sbb al, al
inc al
movzx eax, al
push eax
lea eax, [ebp - 0xb8]
push eax
push edi
call fcn.00409963
push ebx
push esi
lea ecx, [ebp - 0x9c]
mov edi, eax
call fcn.00402368
jmp 0x40a662
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x150]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x14
call fcn.00403091
mov ecx, dword [ebp - 0x140]
dec eax
neg eax
sbb al, al
inc al
movzx eax, al
push eax
lea eax, [ebp - 0xb8]
push eax
push edi
call fcn.00409963
mov edi, eax
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
call fcn.00402368
test di, di
je 0x40a680
lea ecx, [ebp - 0xb8]
jmp 0x40a3a9
mov edi, dword [ebp - 0x150]
jmp 0x40a6e9
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x2c], ebx
je 0x40a6b3
push 0x417cac
call dword [sym.imp.MSVCR100.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x140]
push eax
push 0x417cac
add ecx, 0x1c
call fcn.00405aa3
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.0041044c
pop ecx
pop ecx
mov ecx, dword [ebp - 0x140]
push 0xffffffffffffffff
push ebx
push eax
add ecx, 0x1c
mov byte [ebp - 4], 0x15
call fcn.00403a93
push ebx
push esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x10
call fcn.00402368
add edi, 0x1c
cmp edi, dword [ebp - 0x14c]
jne 0x40a688
push dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
call fcn.00409d22
push ebx
push esi
lea ecx, [ebp - 0xb8]
call fcn.00402368
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.00402368
jmp 0x40a281