Function at 0x4894a0
Capabilities:
Create directory
Move file
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x4f72bc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov esi, edx
push str.DISABLE_RUN
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edi
mov dword [ebp - 0x468], 0
call fcn.0047da70
add esp, 4
cmp edi, 0x64
jg 0x4898fc
je 0x489860
lea eax, [edi - 1]
cmp eax, 0x18
ja case.0x48950b.8
movzx ecx, byte [eax + 0x489dd8]
jmp dword [ecx*4 + 0x489dc8]
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
mov eax, ebx
mov ebx, CreateStatusWindowA
je 0x4895a4
mov edi, dword [edi*4 + 0x4f8954]
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.004c00f0
mov edi, dword [ebp - 0x464]
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x468], eax
mov eax, dword [edx*4 + 0x4f8890]
push edi
push eax
mov ecx, esi
mov edx, ebx
call fcn.004c0250
push CreateStatusWindowA
mov ecx, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.004c1c40
mov eax, dword [ebp - 0x468]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
mov edi, dword [edi*4 + 0x4f8890]
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.004c00f0
mov edi, dword [ebp - 0x46c]
mov ecx, dword [edi*4 + 0x4f8954]
push ecx
push CreateStatusWindowA
call fcn.004bfec0
mov ebx, dword [ebp - 0x464]
mov edx, dword [edi*4 + 0x4f8954]
push ebx
push edx
mov ecx, esi
mov edx, CreateStatusWindowA
mov dword [ebp - 0x468], eax
call fcn.004c0250
push edi
push 0x4e8d64
push 0x100
lea eax, [ebp - 0x108]
push eax
call fcn.00402ee0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004c0250
jmp 0x489dab
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
mov eax, ebx
je 0x4896cd
mov edi, dword [edi*4 + 0x4f892c]
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.004c00f0
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ecx*4 + 0x4f8868]
mov edi, dword [ebp - 0x464]
push edi
push edx
mov ecx, esi
mov edx, ebx
mov dword [ebp - 0x468], eax
call fcn.004c0250
push 0x80000001
mov ecx, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.004c1c40
mov eax, dword [ebp - 0x468]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
mov edi, dword [edi*4 + 0x4f8868]
mov ebx, 0x80000001
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.004c00f0
mov edi, dword [ebp - 0x46c]
mov eax, dword [edi*4 + 0x4f892c]
push eax
push CreateStatusWindowA
call fcn.004bfec0
mov ebx, dword [ebp - 0x464]
mov ecx, dword [edi*4 + 0x4f892c]
push ebx
push ecx
mov ecx, esi
mov edx, CreateStatusWindowA
mov dword [ebp - 0x468], eax
call fcn.004c0250
push edi
push 0x4e8d64
push 0x100
lea edx, [ebp - 0x108]
push edx
jmp 0x48961b
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
mov eax, ebx
mov ebx, CreateStatusWindowA
je 0x4897b3
mov edi, dword [edi*4 + 0x4f8904]
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.004c00f0
mov edi, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x46c]
mov ecx, dword [eax*4 + 0x4f88e8]
push edi
push ecx
jmp 0x489572
mov edi, dword [edi*4 + 0x4f88e8]
call fcn.004c00f0
mov ebx, dword [ebp - 0x46c]
mov edx, dword [ebx*4 + 0x4f8904]
push edx
push CreateStatusWindowA
call fcn.004bfec0
mov edi, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov eax, dword [ebx*4 + 0x4f8904]
push edi
push eax
mov ecx, esi
mov edx, CreateStatusWindowA
call fcn.004c0250
push ebx
push 0x4e8d64
lea ecx, [ebp - 0x108]
push 0x100
push ecx
call fcn.00402ee0
push edi
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004c0250
mov eax, edi
add esp, 0x28
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.004c00f0
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
je 0x4898c6
mov edi, esi
mov esi, str.load
call fcn.004c07b0
mov eax, ebx
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
call fcn.004c00f0
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
push esi
mov ecx, str.load
call fcn.004c0550
add esp, 4
push str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
push CreateStatusWindowA
call fcn.004bfec0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
mov ecx, esi
mov edx, CreateStatusWindowA
call fcn.004c0250
push 0x64
jmp 0x489d75
sub edi, 0x65
je 0x489cde
sub edi, 0x63
je 0x489a08
sub edi, 0x38
jne case.0x48950b.8
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
je 0x48997a
push ebx
call fcn.0048bfd0
mov eax, ebx
add esp, 4
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
call fcn.004c00f0
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
push str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
push CreateStatusWindowA
call fcn.004bfec0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
mov ecx, esi
mov edx, CreateStatusWindowA
mov dword [ebp - 0x468], eax
call fcn.004c0250
push 0x100
push 0x4e8d64
lea eax, [ebp - 0x108]
push 0x100
push eax
call fcn.00402ee0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004c0250
push esi
push str.SoftwareBillP_StudiosWinPatrolRun
lea ecx, [ebp - 0x108]
mov edx, 0x80000001
call fcn.004c0250
push ebx
call fcn.0048be60
mov eax, dword [ebp - 0x468]
add esp, 0x34
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
lea ebx, [ebp - 0x258]
call fcn.0047c6f0
mov esi, dword [ebp - 0x470]
lea ebx, [ebp - 0x460]
call fcn.0047c1a0
mov edx, 0x104
lea eax, [ebp - 0x258]
nop
cmp byte [eax], 0
je 0x489a3b
inc eax
dec edx
jne 0x489a30
jmp 0x489a63
test edx, edx
je 0x489a63
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push 0x4ee77c
lea ecx, [ebp + ecx - 0x258]
mov edx, 0x7fffffff
call fcn.004010b0
push 0
lea ecx, [ebp - 0x258]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, 0x104
lea eax, [ebp - 0x258]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x489a8b
inc eax
dec edx
jne 0x489a80
jmp 0x489ab3
test edx, edx
je 0x489ab3
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push 0x4e28bc
lea ecx, [ebp + ecx - 0x258]
mov edx, 0x7fffffff
call fcn.004010b0
mov edx, 0x104
lea eax, [ebp - 0x258]
mov edi, edi
cmp byte [eax], 0
je 0x489acb
inc eax
dec edx
jne 0x489ac0
jmp 0x489af5
test edx, edx
je 0x489af5
mov ecx, 0x104
sub ecx, edx
lea edx, [ebp - 0x460]
mov eax, 0x104
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x258]
mov edx, 0x7fffffff
call fcn.004010b0
mov ebx, dword [ebp - 0x464]
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
je 0x489c7b
mov ecx, 0x10
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders
lea edi, [ebp - 0x150]
rep movsd dword es:[edi], dword [esi]
push 0x104
lea eax, [ebp - 0x150]
push 0x4ebf44
push eax
lea ecx, [ebp - 0x360]
mov edx, 0x80000001
movsb byte es:[edi], byte [esi]
call fcn.004bff10
add esp, 0xc
test eax, eax
jne 0x489bb0
push 0x104
lea ecx, [ebp - 0x150]
push 0x4ebf44
push ecx
lea ecx, [ebp - 0x360]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
jne 0x489bb0
push 0x104
lea edx, [ebp - 0x150]
push str.Common_Startup
push edx
lea ecx, [ebp - 0x360]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
je 0x489cbd
mov eax, 0x104
lea ecx, [ebp - 0x360]
jmp 0x489bc0
cmp byte [ecx], 0
je 0x489bcb
inc ecx
dec eax
jne 0x489bc0
jmp 0x489bf3
test eax, eax
je 0x489bf3
mov ecx, 0x104
sub ecx, eax
mov eax, 0x104
sub eax, ecx
push 0x4e28bc
lea ecx, [ebp + ecx - 0x360]
mov edx, 0x7fffffff
call fcn.004010b0
mov edx, 0x104
lea eax, [ebp - 0x360]
mov edi, edi
cmp byte [eax], 0
je 0x489c0b
inc eax
dec edx
jne 0x489c00
jmp 0x489c35
test edx, edx
je 0x489c35
lea eax, [ebp - 0x460]
push eax
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
lea ecx, [ebp + ecx - 0x360]
mov edx, 0x7fffffff
call fcn.004010b0
lea ecx, [ebp - 0x360]
push ecx
lea edx, [ebp - 0x258]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov eax, ebx
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov dword [ebp - 0x468], 1
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x258]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0xc8
push 0x4e8d64
lea ecx, [ebp - 0x108]
push 0x100
push ecx
call fcn.00402ee0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004c0250
add esp, 0x18
mov dword [ebp - 0x468], 1
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004bff10
add esp, 0xc
test eax, eax
je 0x489d44
mov edi, esi
mov esi, 0x4ee760
call fcn.004c07b0
mov eax, ebx
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, CreateStatusWindowA
call fcn.004c00f0
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
call fcn.004c00f0
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret
push esi
mov ecx, 0x4ee760
call fcn.004c0550
add esp, 4
push str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
push CreateStatusWindowA
call fcn.004bfec0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
mov ecx, esi
mov edx, CreateStatusWindowA
call fcn.004c0250
push 0x65
push 0x4e8d64
lea edx, [ebp - 0x108]
push 0x100
push edx
call fcn.00402ee0
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, CreateStatusWindowA
call fcn.004c0250
mov dword [ebp - 0x468], 1
add esp, 0x28
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x468]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret