Function at 0x419670
Capabilities:
Create process on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x808
push edi
call fcn.00419ac0
call fcn.00419300
call fcn.00435909
push 0x4bf9bc
call fcn.00419b1a
add esp, 4
call fcn.0045d18a
call fcn.00419575
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jne 0x4196c2
call fcn.0041c081
call fcn.0041c248
push 0
call fcn.00469e78
add esp, 4
jmp 0x41998d
cmp dword [ebp - 0xc], 1
jne 0x419707
mov dword [ebp - 0x10], 0
jmp 0x4196da
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00436ce4
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x419700
push 0
push 0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
call dword [eax + 0x20]
jmp 0x4196d1
xor eax, eax
jmp 0x41998d
cmp dword [ebp - 0xc], 3
jne 0x419739
call fcn.0041aae6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x41972d
push 0
push 0
mov ecx, dword [ebp - 0x18]
push ecx
push 0
call fcn.004199e8
add esp, 0x10
call fcn.0041ac37
xor eax, eax
jmp 0x41998d
call fcn.00419994
test eax, eax
je 0x41989e
mov edx, dword [str.killersetmain]
mov dword [ebp - 0x130], edx
mov eax, dword [0x4bf9d8]
mov dword [ebp - 0x12c], eax
mov ecx, dword [0x4bf9dc]
mov dword [ebp - 0x128], ecx
mov dx, word [0x4bf9e0]
mov word [ebp - 0x124], dx
mov dword [ebp - 0x120], 0
push 0x104
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x130]
push edx
call fcn.00449779
mov ecx, eax
call fcn.00449bea
test eax, eax
je 0x41989e
mov byte [ebp - 0x23c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x23b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x23c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0
lea ecx, [ebp - 0x23c]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrRChrIA]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
jne 0x419803
xor eax, eax
jmp 0x41998d
push 0x4bf9e4
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x23c]
sub edx, eax
mov ecx, 0x104
sub ecx, edx
push ecx
mov edx, dword [ebp - 0x138]
push edx
call fcn.004154e0
lea eax, [ebp - 0x23c]
push eax
call fcn.0042ae0a
add esp, 4
test eax, eax
je 0x41984a
lea ecx, [ebp - 0x23c]
push ecx
call dword [0x542978]
push 0x24
push 0x4bf9f4
push 0x4bf9fc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 6
jne 0x41988e
push 5
push 0
push 0
lea edx, [ebp - 0x11c]
push edx
push 0x4bfa24
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor eax, eax
jmp 0x41998d
cmp dword [ebp - 0x120], 0
je 0x41989e
xor eax, eax
jmp 0x41998d
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcA]
push 0x404
call fcn.00419b90
add esp, 4
push 0
mov eax, dword [ebp + 8]
push eax
push 0
mov ecx, 0x542620
call fcn.00419bc0
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
xor ecx, ecx
test ecx, ecx
je 0x4198eb
jmp 0x41997a
push 0x1040
push 0x4bfa2c
push 0x4bfa34
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x7ec]
call fcn.0040aa20
push 0
push 0
lea ecx, [ebp - 0x7ec]
call fcn.0041a1c0
push 5
lea ecx, [ebp - 0x7e8]
call fcn.00415430
push 0
push 0
push 0
lea edx, [ebp - 0x808]
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x41995c
lea eax, [ebp - 0x808]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ebp - 0x808]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x419929
push 1
push str.akMainClose
call fcn.00449779
mov ecx, eax
call fcn.0044ab3a
lea ecx, [ebp - 0x7ec]
call fcn.0040ac9e
mov ecx, 0x542620
call fcn.00419e10
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 4]
pop edi
mov esp, ebp
pop ebp
ret 0x10