Function at 0x1274e
Capabilities:
Persist via windows service
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x450
mov eax, dword [0x1abe0]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
push edi
xor ebx, ebx
mov dword [ebp - 0x450], ebx
lea edi, [ebp - 0x44c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x414], ax
lea edi, [ebp - 0x412]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
inc eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x438], eax
xor eax, eax
mov word [ebp - 0x42c], ax
lea edi, [ebp - 0x42a]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x424], ax
lea edi, [ebp - 0x422]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x41c], ax
lea edi, [ebp - 0x41a]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
push 0x3fe
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x402]
push ebx
push eax
mov dword [ebp - 0x408], ebx
call sub.ntoskrnl.exe_memset
add esp, 0xc
call fcn.00012682
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0f
push esi
mov esi, dword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
push 0x144ec
lea eax, [ebp - 0x42c]
push eax
call esi
push 0x144dc
lea eax, [ebp - 0x424]
push eax
call esi
push 0x1442e
lea eax, [ebp - 0x41c]
push eax
call esi
push ebx
push ebx
push ebx
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x448], eax
push ebx
lea eax, [ebp - 0x450]
push eax
push 0xf003f
lea eax, [ebp - 0x408]
push eax
mov dword [ebp - 0x450], 0x18
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x444], 0x40
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x43c], ebx
call dword [sym.imp.ntoskrnl.exe_ZwCreateKey]
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0e
push 0x144c4
lea eax, [ebp - 0x414]
push eax
call esi
movzx edi, word [ebp - 0x424]
push edi
push dword [ebp - 0x420]
lea eax, [ebp - 0x404]
push eax
call sub.ntoskrnl.exe_memcpy
add esp, 0xc
add edi, 2
push edi
mov edi, dword [sym.imp.ntoskrnl.exe_ZwSetValueKey]
lea eax, [ebp - 0x404]
push eax
push 1
push ebx
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x408]
call edi
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0e
push 0x200
lea eax, [ebp - 0x404]
push ebx
push eax
call sub.ntoskrnl.exe_memset
add esp, 0xc
push 0x144b0
lea eax, [ebp - 0x414]
push eax
call esi
movzx eax, word [ebp - 0x41c]
push eax
push dword [ebp - 0x418]
lea eax, [ebp - 0x404]
push eax
call sub.ntoskrnl.exe_memcpy
movzx eax, word [ebp - 0x41c]
add esp, 0xc
add eax, 2
push eax
lea eax, [ebp - 0x404]
push eax
push 2
push ebx
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x408]
call edi
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0e
push 0x400
lea eax, [ebp - 0x404]
push ebx
push eax
call sub.ntoskrnl.exe_memset
add esp, 0xc
push 0x14496
lea eax, [ebp - 0x414]
push eax
call esi
push 4
lea eax, [ebp - 0x430]
push eax
push 4
push ebx
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x408]
call edi
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0e
push 0x1448a
lea eax, [ebp - 0x414]
push eax
call esi
push 4
lea eax, [ebp - 0x434]
push eax
push 4
push ebx
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x408]
call edi
cmp eax, ebx
mov dword [ebp - 0x40c], eax
jl 0x12a0e
push 0x14480
lea eax, [ebp - 0x414]
push eax
call esi
push 4
lea eax, [ebp - 0x438]
push eax
push 4
push ebx
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x408]
call edi
pop esi
cmp dword [ebp - 0x408], ebx
pop edi
pop ebx
je 0x12a25
push dword [ebp - 0x408]
call dword [sym.imp.ntoskrnl.exe_ZwClose]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x40c]
xor ecx, ebp
call fcn.00013c58
leave
ret