Function at 0x5a0f10
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x713ec0
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x7e6410]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
call fcn.0057ff60
mov edx, dword [0x7f7bbc]
mov ebx, eax
test edx, edx
jne 0x5a0f9e
push edx
call fcn.005b0e80
add esp, 4
push 0x7f7bbc
push 0x741840
cmp eax, 0xd
jl 0x5a0f85
push 0x741830
push ebx
call fcn.0058bc60
add esp, 0x10
test eax, eax
jns 0x5a0f94
mov dword [0x7f7bbc], esi
jmp 0x5a0fa9
push 1
push 0
push 0x741830
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edx, dword [0x7f7bbc]
test edx, edx
je 0x5a0fa9
mov eax, dword [edx]
mov esi, edx
push edx
call dword [eax + 4]
mov dword [ebp - 0x18], esi
cmp dword [edi + 0x3a4], 0xd
jl 0x5a10c4
test esi, esi
je 0x5a10c4
cmp dword [edi + 0x1b0], 0
je 0x5a1067
lea eax, [ebp - 0x28]
push eax
call fcn.005b69b0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00429100
push eax
lea ecx, [ebp - 0x24]
call fcn.00435630
mov dword [ebp - 0x14], eax
push 0x74218c
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00435630
mov dword [ebp - 0x10], eax
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00435630
mov edi, eax
mov ecx, dword [ebp - 0x14]
mov ebx, dword [esi]
mov byte [ebp - 4], 4
call fcn.00429100
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00429100
push eax
mov ecx, edi
call fcn.00429100
push eax
push 1
push esi
call dword [ebx + 0x10]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00428810
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00428810
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00428810
lea ecx, [ebp - 0x28]
jmp 0x5a1170
push 0x74218c
lea ecx, [ebp - 0x20]
call fcn.00435630
mov dword [ebp - 0x28], eax
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00435630
mov edi, eax
mov ecx, dword [ebp - 0x28]
mov ebx, dword [esi]
mov byte [ebp - 4], 6
call fcn.00429100
push eax
mov ecx, edi
call fcn.00429100
push eax
push 1
push esi
call dword [ebx + 0x40]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00428810
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0
call fcn.00428810
jmp 0x5a1179
cmp dword [edi + 0x1b0], 0
push 0x74218c
je 0x5a112f
lea ecx, [ebp - 0x14]
call fcn.00428840
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 7
call fcn.00428840
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 8
push eax
call fcn.005b69b0
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x10]
push eax
push SysReAllocStringLen
call fcn.005b8ff0
add esp, 0x14
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x28]
call fcn.00428810
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 7
call fcn.00428810
lea ecx, [ebp - 0x14]
jmp 0x5a1170
lea ecx, [ebp - 0x10]
call fcn.00428840
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.00428840
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x14]
push eax
push SysReAllocStringLen
call fcn.005b7f70
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x14]
call fcn.00428810
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0
call fcn.00428810
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x5a118a
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret