Function at 0x40da2c
Capabilities:
Accept command line arguments
Access the windows event log

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42e94a
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1900
call fcn.0042e400
mov eax, dword [0x439008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x186c], edx
mov edi, ecx
mov dword [ebp - 0x1864], edi
sub esp, 0x58
xor esi, esi
mov ecx, esp
mov dword [ebp - 4], esi
push ecx
push 0xb
push 0x8c1
push 0x40777c
push 0x406f18
push 0x406f28
call fcn.0040c36c
push esi
lea ecx, [ebp - 0x18b8]
call fcn.0040c6a9
push 0x40
lea eax, [ebp - 0x1858]
mov byte [ebp - 4], 2
push esi
push eax
call sub.msvcrt.dll_memset
push 0x1001
lea eax, [ebp - 0x1818]
push esi
push eax
call sub.msvcrt.dll_memset
movzx eax, word [ebp + 0x5c]
add esp, 0x18
inc eax
cmp eax, 0xf
jae 0x40dd28
push 0x800
lea eax, [ebp - 0x814]
push esi
push eax
call sub.msvcrt.dll_memset
pop ecx
pop ecx
lea eax, [ebp - 0x814]
push eax
call fcn.0040ce0b
lea ebx, [ebp - 0x814]
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
cmp ax, si
jne 0x40db03
sub ebx, ecx
sar ebx, 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x40db1b
mov esi, dword [edi + 0x14]
sub eax, edx
mov edi, dword [edi + 0x10]
sar eax, 1
mov dword [ebp - 0x185c], eax
lea eax, [ebp - 0x814]
push eax
lea eax, [ebx + 7]
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
mov eax, dword [ebp - 0x185c]
add eax, 7
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
push edi
push dword [ebp + 0x14]
lea eax, [ebp - 0x1818]
push dword [ebp + 0x10]
push 0x4077b8
push 0x1000
push eax
call fcn.0040bedd
lea ebx, [ebp - 0x1818]
add esp, 0x34
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x40db9c
sub ebx, ecx
xor esi, esi
mov ecx, dword [ebp + 0x5c]
lea eax, [ecx + 1]
movzx eax, ax
mov dword [ebp - 0x1868], eax
xor eax, eax
cmp ax, cx
jae 0x40dbcf
movzx eax, cx
lea esi, [ebp + 0x20]
mov ecx, eax
lea edi, [ebp - 0x1858]
rep movsd dword es:[edi], dword [esi]
mov esi, eax
and dword [ebp - 0x185c], 0
mov ecx, dword [ebp - 0x1864]
mov byte [ebp - 4], 3
call fcn.0040cc40
mov dword [ebp - 0x185c], eax
test eax, eax
je 0x40dbf3
mov edi, eax
jmp 0x40dbfa
mov eax, 0x4061bc
xor edi, edi
push eax
mov dword [ebp + esi*4 - 0x1858], eax
mov eax, dword [ebp + 0x1c]
push 0x407810
cmp eax, 0xff
jne 0x40dc14
push 0x64
pop eax
push eax
push 0x407344
push ecx
push 0xb
push 0x902
push 0x40777c
push 0x406f18
push 0x406f28
lea ecx, [ebp - 0x1910]
call fcn.0040c36c
sub esp, 0x58
mov ecx, esp
push ecx
push ecx
mov ecx, eax
call fcn.0040c677
push dword [ebp - 0x1864]
call fcn.0040cb8d
add esp, 0x6c
lea ecx, [ebp - 0x1910]
call fcn.0040c413
push 0x407aac
push 0
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x40ddcf
lea eax, [ebp - 0x1818]
push eax
lea eax, [ebp - 0x1858]
push eax
push ebx
push dword [ebp - 0x1868]
push 0
push dword [ebp - 0x186c]
push 0
push dword [ebp + 0x60]
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
test eax, eax
jne 0x40dcfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40788c
push ecx
push 0xb
push 0x923
push 0x40777c
push 0x406f18
push 0x406f28
lea ecx, [ebp - 0x1910]
call fcn.0040c36c
sub esp, 0x58
mov ecx, esp
push ecx
push ecx
mov ecx, eax
call fcn.0040c677
lea eax, [ebp - 0x18b8]
push eax
call fcn.0040cfa1
add esp, 0x64
lea ecx, [ebp - 0x1910]
call fcn.0040c413
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
test eax, eax
jne 0x40dd21
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4078c8
push ecx
push 0xb
push 0x92a
jmp 0x40dde3
push edi
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebp - 0x18b8]
call fcn.0040c76e
lea ecx, [ebp + 8]
call fcn.0040c413
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00414880
leave
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x407840
push ecx
push 0xb
push 0x912
push 0x40777c
push 0x406f18
push 0x406f28
lea ecx, [ebp - 0x1910]
call fcn.0040c36c
sub esp, 0x58
mov ecx, esp
push ecx
push ecx
mov ecx, eax
call fcn.0040c677
lea eax, [ebp - 0x18b8]
push eax
call fcn.0040cfa1
add esp, 0x64
lea ecx, [ebp - 0x1910]
call fcn.0040c413
call fcn.0040c241
int3