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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4319f2
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1900
call fcn.00430ee0
mov eax, dword [0x437270]
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 - 0x1860], edi
xor ebx, ebx
push ebx
sub esp, 0x58
mov dword [ebp - 4], ebx
mov ecx, esp
push 0xff
push 0xb
push 0x8c1
push 0x40fa84
push 0x40f358
push 0x40f368
call fcn.004130e8
lea ecx, [ebp - 0x1910]
call fcn.00413365
push 0x40
lea eax, [ebp - 0x1858]
mov byte [ebp - 4], 2
push ebx
push eax
call sub.msvcrt.dll_memset
push 0x1001
lea eax, [ebp - 0x1818]
push ebx
push eax
call sub.msvcrt.dll_memset
movzx eax, word [ebp + 0x5c]
add esp, 0x18
inc eax
cmp eax, 0xf
jae 0x414855
push 0x800
lea eax, [ebp - 0x814]
push ebx
push eax
call sub.msvcrt.dll_memset
pop ecx
pop ecx
lea eax, [ebp - 0x814]
push eax
call fcn.00413ad3
lea ebx, [ebp - 0x814]
xor esi, esi
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
cmp ax, si
jne 0x4145b9
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 0x4145d1
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 0x40fac0
push 0x1000
push eax
call fcn.00412c06
lea ebx, [ebp - 0x1818]
add esp, 0x34
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x414652
sub ebx, ecx
xor edx, edx
mov ecx, dword [ebp + 0x5c]
mov edi, edx
lea eax, [ecx + 1]
movzx eax, ax
mov dword [ebp - 0x1868], eax
xor eax, eax
cmp ax, cx
jae 0x414687
movzx eax, cx
lea esi, [ebp + 0x20]
mov ecx, eax
lea edi, [ebp - 0x1858]
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov dword [ebp - 0x185c], edx
mov ecx, dword [ebp - 0x1860]
mov byte [ebp - 4], 3
call fcn.00413904
mov esi, eax
mov dword [ebp - 0x185c], esi
test esi, esi
jne 0x4146ad
mov eax, 0x40e5bc
push eax
mov dword [ebp + edi*4 - 0x1858], eax
mov ecx, 0xff
mov eax, dword [ebp + 0x1c]
push 0x40fb18
cmp eax, ecx
jne 0x4146c9
push 0x64
pop eax
push eax
push 0x40f71c
push 0xf
mov dword [ebp - 0x18b0], ecx
lea edi, [ebp - 0x18ac]
pop ecx
xor eax, eax
mov dword [ebp - 0x18c4], 0x40f368
mov dword [ebp - 0x18c0], 0x40fa84
sub esp, 0x58
mov dword [ebp - 0x18bc], 0x40f358
mov dword [ebp - 0x18b8], 0x902
mov dword [ebp - 0x18b4], 0xb
mov dword [ebp - 0x1870], 0x1000000
rep stosd dword es:[edi], eax
mov eax, esp
push ecx
push eax
lea ecx, [ebp - 0x18c4]
call fcn.00413333
push dword [ebp - 0x1860]
call fcn.00413851
add esp, 0x6c
lea ecx, [ebp - 0x18c4]
call fcn.0041318e
push 0x40fdb4
xor eax, eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov dword [ebp - 0x1860], eax
test eax, eax
je 0x4148fc
lea ecx, [ebp - 0x1818]
push ecx
lea ecx, [ebp - 0x1858]
push ecx
push ebx
push dword [ebp - 0x1868]
xor ebx, ebx
push ebx
push dword [ebp - 0x186c]
push ebx
push dword [ebp + 0x60]
push eax
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
test eax, eax
jne 0x414821
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40fb94
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x18c4], 0x40f368
mov dword [ebp - 0x18c0], 0x40fa84
lea edi, [ebp - 0x18ac]
mov dword [ebp - 0x18bc], 0x40f358
sub esp, 0x58
mov dword [ebp - 0x18b8], 0x923
mov dword [ebp - 0x18b4], 0xb
mov dword [ebp - 0x18b0], 0xff
mov dword [ebp - 0x1870], 0x1000000
rep stosd dword es:[edi], eax
mov eax, esp
push ecx
push eax
lea ecx, [ebp - 0x18c4]
call fcn.00413333
lea eax, [ebp - 0x1910]
push eax
call fcn.00413c69
add esp, 0x64
lea ecx, [ebp - 0x18c4]
call fcn.0041318e
push dword [ebp - 0x1860]
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
test eax, eax
jne 0x41484e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40fbd0
push 0xff
push 0xb
push 0x92a
jmp 0x414914
push esi
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebp - 0x1910]
call fcn.0041342a
lea ecx, [ebp + 8]
call fcn.0041318e
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.00430d80
leave
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40fb48
push 0xff
push 0xb
push 0x912
push 0x40fa84
push 0x40f358
push 0x40f368
lea ecx, [ebp - 0x18c4]
call fcn.004130e8
sub esp, 0x58
mov ecx, esp
push ecx
push ecx
mov ecx, eax
call fcn.00413333
lea eax, [ebp - 0x1910]
push eax
call fcn.00413c69
add esp, 0x64
lea ecx, [ebp - 0x18c4]
call fcn.0041318e
call fcn.00412fa3
int3