Function at 0x447f60
Capabilities:
Delete registry value
Get graphical window text
Persist via windows service
Set registry value

Disassembly:
sub esp, 0x238
mov eax, dword [0x4c4004]
xor eax, esp
mov dword [esp + 0x234], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
push 0
push 0
push 0xf0
push 0x2918
push dword [0x4def88]
call edi
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
push eax
call ebx
cmp eax, 1
jne 0x447fad
push 0x4ded80
push 0x4ad0e0
jmp 0x447fdc
push 0
push 0
push 0xf0
push 0x2919
push dword [0x4def88]
call edi
push eax
call ebx
push 0x4ded80
cmp eax, 1
jne 0x447fd7
push 0x4ad0a4
jmp 0x447fdc
push 0x4ad374
mov esi, dword [sym.imp.kernel32.dll_WritePrivateProfileStringW]
push 0x4b39a4
push 0x4b39b4
call esi
push 0xa
push 0x14
lea eax, [esp + 0x20]
push eax
push 0
push 0
push 0x147
push 0x291a
push dword [0x4def88]
call edi
push eax
call ebx
push eax
call fcn.0048f5fe
add esp, 0x10
lea eax, [esp + 0x18]
push 0x4ded80
push eax
push 0x4b39c0
push 0x4b39b4
call esi
push 0
push 0
push 0xf0
push 0x2918
push dword [0x4def88]
call edi
push eax
call ebx
test eax, eax
lea eax, [esp + 0x10]
je 0x4480ff
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x44853f
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push 0x4b3a20
push dword [esp + 0x14]
call esi
push 0x4b39d0
push dword [esp + 0x14]
call esi
push 0x4b39f8
push dword [esp + 0x14]
call esi
push 0x4b3a28
push dword [esp + 0x14]
call esi
push 0x4b3a40
push dword [esp + 0x14]
call esi
push 0x4b3a5c
push dword [esp + 0x14]
call esi
push 0x4b3a84
push dword [esp + 0x14]
call esi
push 0x4b3aac
push dword [esp + 0x14]
call esi
push 0x4b2fbc
push dword [esp + 0x14]
call esi
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x234]
xor ecx, esp
call fcn.0048d815
add esp, 0x238
ret
push ebp
push 0
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x448169
push 0
push 0
push 0xf0
push 0x291c
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 4
push 0
push 0x4b39d0
push dword [esp + 0x28]
call esi
push dword [esp + 0x14]
call ebp
push 0
lea eax, [esp + 0x18]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x4481c8
push eax
push eax
push 0xf0
push 0x2921
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 4
push 0
push 0x4b39f8
push dword [esp + 0x28]
call esi
push dword [esp + 0x14]
call ebp
push 0
push 0
push 0xf0
push 0x291d
push dword [0x4def88]
call edi
push eax
call ebx
test eax, eax
jne 0x448223
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0x18]
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
call esi
test eax, eax
jne 0x4482c2
push 0x4b3a20
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [esp + 0x18]
jmp 0x4482c0
push 0
push 0
push 0x147
push 0x291e
push dword [0x4def88]
mov dword [esp + 0x28], 0
call edi
push eax
call ebx
cmp eax, 4
ja case.default.0x448249
jmp dword [eax*4 + 0x4485d8]
mov dword [esp + 0x14], 0x228
jmp case.default.0x448249
mov dword [esp + 0x14], 0x240
jmp case.default.0x448249
mov dword [esp + 0x14], 0x3e8
jmp case.default.0x448249
mov dword [esp + 0x14], 0x5d4
jmp case.default.0x448249
mov dword [esp + 0x14], 0x514
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
call esi
test eax, eax
jne 0x4482c2
push 4
lea eax, [esp + 0x18]
push eax
push 4
push 0
push 0x4b3a20
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [esp + 0x10]
call ebp
push 0
push 0
push 0xf0
push 0x2920
push dword [0x4def88]
call edi
push eax
call ebx
test eax, eax
jne 0x448310
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
call esi
test eax, eax
jne 0x44836a
push 0x4b3a28
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [esp + 0x10]
jmp 0x448368
lea eax, [esp + 0x18]
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
call esi
test eax, eax
jne 0x44836a
push eax
push eax
push 0x400
push 0x2927
push dword [0x4def88]
call edi
push eax
call ebx
shl eax, 5
push 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
push 0
push 0x4b3a28
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [esp + 0x18]
call ebp
push 0
push 0
push 0xf0
push 0x291f
push dword [0x4def88]
call edi
push eax
call ebx
test eax, eax
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
push 0x4b2648
push 0x80000002
jne 0x448557
call esi
test eax, eax
jne 0x4483bc
push 0x4b3a40
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [esp + 0x10]
call ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0
lea eax, [esp + 0x14]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x448421
push eax
push eax
push 0xf0
push 0x2922
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push 0x4b3a5c
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call ebp
push 0
lea eax, [esp + 0x14]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x448480
push eax
push eax
push 0xf0
push 0x2923
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push 0x4b3a84
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call ebp
push 0
lea eax, [esp + 0x14]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x4484df
push eax
push eax
push 0xf0
push 0x2924
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push 0x4b3aac
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call ebp
push 0
lea eax, [esp + 0x14]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push 0x4b2648
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x44853e
push eax
push eax
push 0xf0
push 0x2925
push dword [0x4def88]
call edi
push eax
call ebx
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push 0x4b2fbc
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call ebp
pop ebp
mov ecx, dword [esp + 0x240]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0048d815
add esp, 0x238
ret
call esi
test eax, eax
jne 0x4483bc
push 0xff
lea eax, [esp + 0x48]
push eax
push 0x291e
push dword [0x4def88]
call edi
push eax
call dword [sym.imp.user32.dll_GetWindowTextW]
lea eax, [esp + 0x44]
push eax
call fcn.004936e5
add esp, 4
lea esi, [eax - 0x28]
push 0
push 0
push 0x400
push 0x2926
push dword [0x4def88]
call edi
push eax
call ebx
imul eax, esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push 0x4b3a40
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call ebp
jmp 0x4483c2