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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x4c32cc]
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.0047fb10
add esp, 4
cmp edi, 0x64
jg 0x489992
je 0x4898f6
lea eax, [edi - 1]
cmp eax, 0x18
ja case.0x4895ab.8
movzx ecx, byte [eax + 0x489e68]
jmp dword [ecx*4 + 0x489e58]
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
mov eax, ebx
mov ebx, 0x80000002
je 0x48963f
mov edi, dword [edi*4 + 0x4c472c]
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.0048e230
mov edi, dword [ebp - 0x464]
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x468], eax
mov eax, dword [edx*4 + 0x4c4668]
push edi
push eax
mov ecx, esi
mov edx, ebx
call fcn.0048e390
push 0x80000002
call fcn.0048f620
mov eax, dword [ebp - 0x468]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
mov edi, dword [edi*4 + 0x4c4668]
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.0048e230
mov edi, dword [ebp - 0x46c]
mov ecx, dword [edi*4 + 0x4c472c]
push ecx
push 0x80000002
call fcn.0048e000
mov ebx, dword [ebp - 0x464]
mov edx, dword [edi*4 + 0x4c472c]
push ebx
push edx
mov ecx, esi
mov edx, 0x80000002
mov dword [ebp - 0x468], eax
call fcn.0048e390
push edi
push 0x4b7c94
push 0x100
lea eax, [ebp - 0x108]
push eax
call fcn.00402830
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e390
jmp 0x489e3b
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
mov eax, ebx
je 0x489763
mov edi, dword [edi*4 + 0x4c4704]
mov ebx, 0x80000002
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.0048e230
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ecx*4 + 0x4c4640]
mov edi, dword [ebp - 0x464]
push edi
push edx
mov ecx, esi
mov edx, ebx
mov dword [ebp - 0x468], eax
call fcn.0048e390
push 0x80000001
call fcn.0048f620
mov eax, dword [ebp - 0x468]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
mov edi, dword [edi*4 + 0x4c4640]
mov ebx, 0x80000001
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.0048e230
mov edi, dword [ebp - 0x46c]
mov eax, dword [edi*4 + 0x4c4704]
push eax
push 0x80000002
call fcn.0048e000
mov ebx, dword [ebp - 0x464]
mov ecx, dword [edi*4 + 0x4c4704]
push ebx
push ecx
mov ecx, esi
mov edx, 0x80000002
mov dword [ebp - 0x468], eax
call fcn.0048e390
push edi
push 0x4b7c94
push 0x100
lea edx, [ebp - 0x108]
push edx
jmp 0x4896b6
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
mov eax, ebx
mov ebx, 0x80000002
je 0x489849
mov edi, dword [edi*4 + 0x4c46dc]
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
call fcn.0048e230
mov edi, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x46c]
mov ecx, dword [eax*4 + 0x4c46c0]
push edi
push ecx
jmp 0x489612
mov edi, dword [edi*4 + 0x4c46c0]
call fcn.0048e230
mov ebx, dword [ebp - 0x46c]
mov edx, dword [ebx*4 + 0x4c46dc]
push edx
push 0x80000002
call fcn.0048e000
mov edi, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov eax, dword [ebx*4 + 0x4c46dc]
push edi
push eax
mov ecx, esi
mov edx, 0x80000002
call fcn.0048e390
push ebx
push 0x4b7c94
lea ecx, [ebp - 0x108]
push 0x100
push ecx
call fcn.00402830
push edi
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e390
mov eax, edi
add esp, 0x28
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun
mov ebx, 0x80000002
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun32
call fcn.0048e230
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
je 0x48995c
mov edi, esi
mov esi, str.load
call fcn.0048e8f0
mov eax, ebx
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, 0x80000002
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
call fcn.0048e230
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push esi
mov ecx, str.load
call fcn.0048e690
add esp, 4
push str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
push 0x80000002
call fcn.0048e000
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinLoad
mov ecx, esi
mov edx, 0x80000002
call fcn.0048e390
push 0x64
jmp 0x489e05
sub edi, 0x65
je 0x489d6e
sub edi, 0x63
je 0x489a9e
sub edi, 0x38
jne case.0x4895ab.8
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
je 0x489a10
push ebx
call fcn.0048bd00
mov eax, ebx
add esp, 4
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, 0x80000002
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
call fcn.0048e230
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
push 0x80000002
call fcn.0048e000
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinNotify
mov ecx, esi
mov edx, 0x80000002
mov dword [ebp - 0x468], eax
call fcn.0048e390
push 0x100
push 0x4b7c94
lea eax, [ebp - 0x108]
push 0x100
push eax
call fcn.00402830
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e390
push esi
push str.SoftwareBillP_StudiosWinPatrolRun
lea ecx, [ebp - 0x108]
mov edx, 0x80000001
call fcn.0048e390
push ebx
call fcn.0048bb90
mov eax, dword [ebp - 0x468]
add esp, 0x34
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
lea ebx, [ebp - 0x258]
call fcn.0047ea60
mov esi, dword [ebp - 0x470]
lea ebx, [ebp - 0x460]
call fcn.0047e510
mov edx, 0x104
lea eax, [ebp - 0x258]
cmp byte [eax], 0
je 0x489ad0
inc eax
dec edx
jne 0x489ac5
jmp 0x489af8
test edx, edx
je 0x489af8
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push str.Disabled
lea ecx, [ebp + ecx - 0x258]
mov edx, 0x7fffffff
call fcn.00401000
push 0
lea ecx, [ebp - 0x258]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, 0x104
lea eax, [ebp - 0x258]
cmp byte [eax], 0
je 0x489b1d
inc eax
dec edx
jne 0x489b12
jmp 0x489b45
test edx, edx
je 0x489b45
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push 0x4b17dc
lea ecx, [ebp + ecx - 0x258]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x104
lea eax, [ebp - 0x258]
cmp byte [eax], 0
je 0x489b5b
inc eax
dec edx
jne 0x489b50
jmp 0x489b85
test edx, edx
je 0x489b85
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.00401000
mov ebx, dword [ebp - 0x464]
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
je 0x489d0b
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 str.Startup
push eax
lea ecx, [ebp - 0x360]
mov edx, 0x80000001
movsb byte es:[edi], byte [esi]
call fcn.0048e050
add esp, 0xc
test eax, eax
jne 0x489c40
push 0x104
lea ecx, [ebp - 0x150]
push str.Startup
push ecx
lea ecx, [ebp - 0x360]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
jne 0x489c40
push 0x104
lea edx, [ebp - 0x150]
push str.Common_Startup
push edx
lea ecx, [ebp - 0x360]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
je 0x489d4d
mov eax, 0x104
lea ecx, [ebp - 0x360]
jmp 0x489c50
cmp byte [ecx], 0
je 0x489c5b
inc ecx
dec eax
jne 0x489c50
jmp 0x489c83
test eax, eax
je 0x489c83
mov ecx, 0x104
sub ecx, eax
mov eax, 0x104
sub eax, ecx
push 0x4b17dc
lea ecx, [ebp + ecx - 0x360]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x104
lea eax, [ebp - 0x360]
mov edi, edi
cmp byte [eax], 0
je 0x489c9b
inc eax
dec edx
jne 0x489c90
jmp 0x489cc5
test edx, edx
je 0x489cc5
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.00401000
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, 0x80000002
call fcn.0048e230
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.004a01d6
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x258]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0xc8
push 0x4b7c94
lea ecx, [ebp - 0x108]
push 0x100
push ecx
call fcn.00402830
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e390
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.004a01d6
mov esp, ebp
pop ebp
ret
push 0x100
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e050
add esp, 0xc
test eax, eax
je 0x489dd4
mov edi, esi
mov esi, 0x4bd708
call fcn.0048e8f0
mov eax, ebx
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabled
mov ebx, 0x80000002
call fcn.0048e230
mov eax, dword [ebp - 0x464]
mov edi, str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
call fcn.0048e230
mov eax, dword [ebp - 0x468]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
push esi
mov ecx, 0x4bd708
call fcn.0048e690
add esp, 4
push str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
push 0x80000002
call fcn.0048e000
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabledWinRun
mov ecx, esi
mov edx, 0x80000002
call fcn.0048e390
push 0x65
push 0x4b7c94
lea edx, [ebp - 0x108]
push 0x100
push edx
call fcn.00402830
push ebx
push str.SoftwareBillP_StudiosWinPatrolDisabled
lea ecx, [ebp - 0x108]
mov edx, 0x80000002
call fcn.0048e390
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.004a01d6
mov esp, ebp
pop ebp
ret