Function at 0x409e69
Capabilities:
Accept command line arguments

Disassembly:
push 0x144
mov eax, 0x4125c4
call fcn.004019d4
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.00408752
mov eax, dword [ebp - 0x150]
mov dword [ebp - 4], ebx
cmp eax, dword [ebp - 0x14c]
jne 0x409eca
push 2
pop ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.00402d46
mov eax, ebx
call fcn.00401d83
ret 4
push 0x416e40
lea ecx, [ebp - 0x48]
call fcn.004021b7
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00403093
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x48]
mov edi, eax
mov byte [ebp - 4], bl
call fcn.0040236a
cmp edi, ebx
je 0x409f18
call fcn.00405ed6
mov ecx, eax
call fcn.00405ee8
mov ecx, eax
call fcn.0040fb10
test ax, ax
je 0x409f18
mov ebx, eax
jmp 0x409eb1
mov edi, 0x416d18
push edi
lea ecx, [ebp - 0x2c]
call fcn.004021b7
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 2
call fcn.0040795b
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0040236a
mov ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x64]
push eax
call fcn.00408af3
test eax, eax
jne 0x40a099
push str.ServiceType
lea ecx, [ebp - 0x80]
call fcn.004021b7
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 5
call fcn.0040795b
push ebx
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.0040236a
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x409fa0
lea eax, [ebp - 0x48]
push str.Daemon
push eax
call dword [sym.imp.MSVCR100.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x409ff1
call fcn.00405ed6
mov ecx, eax
call fcn.00405ee8
mov ecx, eax
call fcn.0040fa2d
mov ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x64]
push eax
call fcn.004092cf
mov edi, eax
lea ecx, [ebp - 0x48]
push ebx
push esi
call fcn.0040236a
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.0040236a
mov ebx, edi
jmp 0x409eb1
lea ecx, [ebp - 0x134]
call fcn.00401f0f
mov byte [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004021b7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 9
call fcn.004026ca
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.0040236a
push edi
lea ecx, [ebp - 0x2c]
call fcn.004021b7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xa
call fcn.004086e0
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.0040236a
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x134]
call fcn.004089a5
lea ecx, [ebp - 0x64]
push ecx
push eax
mov byte [ebp - 4], 0xb
call fcn.00409479
pop ecx
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov edi, eax
call fcn.0040236a
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 7
call fcn.00404701
jmp 0x409fd6
mov edi, str.Temporary
push edi
lea ecx, [ebp - 0x48]
call fcn.004021b7
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x138], esi
call fcn.00403093
test eax, eax
je 0x40a107
push edi
lea ecx, [ebp - 0x80]
call fcn.004021b7
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.0040795b
mov dword [ebp - 0x138], 7
cmp dword [eax + 0x10], ebx
jne 0x40a107
mov edi, esi
jmp 0x40a109
xor edi, edi
test byte [ebp - 0x138], 4
je 0x40a126
and dword [ebp - 0x138], 0xfffffffb
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.0040236a
test byte [ebp - 0x138], 2
je 0x40a140
and dword [ebp - 0x138], 0xfffffffd
push ebx
push esi
lea ecx, [ebp - 0x80]
call fcn.0040236a
test byte [ebp - 0x138], 1
mov dword [ebp - 4], 4
je 0x40a15a
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.0040236a
cmp edi, ebx
je 0x40a17e
mov ecx, dword [ebp - 0x140]
call fcn.004090d7
test eax, eax
je 0x40a17e
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.0040236a
push 0x11
jmp 0x409eb0
push str.Entry
lea ecx, [ebp - 0x80]
call fcn.004021b7
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040795b
push ebx
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x10
call fcn.0040236a
push str.EncodePath
lea ecx, [ebp - 0x2c]
call fcn.004021b7
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x11
call fcn.00403093
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov edi, eax
mov byte [ebp - 4], 0x10
call fcn.0040236a
push str.OnlyVerifyCertSigner
lea ecx, [ebp - 0x2c]
call fcn.004021b7
cmp edi, ebx
je 0x40a259
mov eax, dword [ebp - 0x150]
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x12
jb 0x40a206
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00410813
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.00403093
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.00409593
push ebx
push esi
lea ecx, [ebp - 0x9c]
mov edi, eax
call fcn.0040236a
jmp 0x40a292
mov ecx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x150]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x14
call fcn.00403093
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.00409593
mov edi, eax
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
call fcn.0040236a
test di, di
je 0x40a2b0
lea ecx, [ebp - 0xb8]
jmp 0x409fd9
mov edi, dword [ebp - 0x150]
jmp 0x40a319
mov eax, dword [ebp - 0x140]
cmp dword [eax + 0x2c], ebx
je 0x40a2e3
push 0x416c90
call dword [sym.imp.MSVCR100.dll_wcslen]
pop ecx
mov ecx, dword [ebp - 0x140]
push eax
push 0x416c90
add ecx, 0x1c
call fcn.0040564a
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.004100e8
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.004039b1
push ebx
push esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x10
call fcn.0040236a
add edi, 0x1c
cmp edi, dword [ebp - 0x14c]
jne 0x40a2b8
push dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
call fcn.00409952
push ebx
push esi
lea ecx, [ebp - 0xb8]
call fcn.0040236a
push ebx
push esi
lea ecx, [ebp - 0x64]
call fcn.0040236a
jmp 0x409eb1