Function at 0x4f6634
Capabilities:
Set registry value

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov esi, 0x579f7a
mov edi, str.DisplayName
lea ebp, [esp + 4]
push 0x104
push 0x57a361
push dword [0x56f014]
call sub.KERNEL32.dll_GetModuleFileNameA
cmp dword [0x56cf20], 0
je 0x4f668d
lea eax, [edi + 0xd]
push eax
push edi
call fcn.0041b5ed
push 0x57a361
lea edx, [edi + 0x13]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
lea ecx, [edi + 0x24]
push ecx
call fcn.0041b5ed
cmp dword [0x56ec28], 0
jne 0x4f66a5
call fcn.0041b719
mov eax, 1
jmp 0x4f6e4c
push ebp
lea edx, [edi + 0x35]
push edx
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f66c1
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x3b]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x45]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f66fe
xor eax, eax
jmp 0x4f6e4c
push ebp
lea edx, [edi + 0x47]
push edx
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f671a
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x4e]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x58]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f6757
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x5a]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f6780
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x64]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x6f]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f67be
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x71]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f67ec
xor eax, eax
jmp 0x4f6e4c
push 0x57a361
lea edx, [edi + 0x87]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea ecx, [edi + 0x8d]
push ecx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f6831
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x8f]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f6861
xor eax, eax
jmp 0x4f6e4c
push 0x57a361
lea edx, [edi + 0xac]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea ecx, [edi + 0xbd]
push ecx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f68a6
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0xbf]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f68d6
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0xdc]
mov edi, esi
mov esi, eax
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0xe0]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f6919
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0xe2]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f6949
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
mov edi, 0x57fcd0
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp byte [esi], 0
jne 0x4f6986
push esi
push edi
lea eax, [edi + 0x10b]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x111]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f69b6
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x113]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f69e9
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x137]
mov edi, esi
mov esi, eax
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x13b]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f6a2c
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x13d]
mov edi, esi
mov esi, eax
mov eax, edi
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
push ebp
push esi
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f6a5e
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x160]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x169]
push edx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueA
mov ebx, eax
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
je 0x4f6aa0
xor eax, eax
jmp 0x4f6e4c
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x181]
push edx
push 0
lea ecx, [edi + 0x16b]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6ad2
xor eax, eax
jmp 0x4f6e4c
lea edx, [edi + 0x183]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6b07
xor eax, eax
jmp 0x4f6e4c
mov dword [esp], 2
push 4
lea edx, [esp + 4]
push edx
push 3
push 0
lea ecx, [edi + 0x194]
push ecx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6b35
xor eax, eax
jmp 0x4f6e4c
lea edx, [edi + 0x19e]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
lea ecx, [edi + 0x1a0]
push ecx
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6b6f
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x1cf]
push edx
push 0
lea ecx, [edi + 0x1ad]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6ba9
xor eax, eax
jmp 0x4f6e4c
push 0x57a361
lea edx, [edi + 0x1d1]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6be3
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x200]
push edx
push 0
lea ecx, [edi + 0x1d7]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6c1d
xor eax, eax
jmp 0x4f6e4c
push 0x57a361
lea edx, [edi + 0x202]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6c57
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x23c]
push edx
push 0
lea ecx, [edi + 0x213]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6c91
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x23e]
mov edi, esi
mov esi, eax
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6cc9
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x277]
push edx
push 0
lea ecx, [edi + 0x242]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6d03
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
mov edi, 0x57fcd0
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp byte [esi], 0
jne 0x4f6d40
push esi
push edi
lea eax, [edi + 0x279]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6d65
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x2af]
push edx
push 0
lea ecx, [edi + 0x27f]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6d9f
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x2b1]
mov edi, esi
mov esi, eax
mov eax, edi
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6dd4
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
push esp
push ebp
push 0
push 0x20006
push 0
lea edx, [edi + 0x2e4]
push edx
push 0
lea ecx, [edi + 0x2b5]
push ecx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
mov ebx, eax
test ebx, ebx
je 0x4f6e0b
xor eax, eax
jmp 0x4f6e4c
push esi
push edi
lea eax, [edi + 0x2e6]
mov edi, esi
mov esi, eax
mov eax, edi
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
call fcn.0054e28c
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [ebp]
call sub.ADVAPI32.dll_RegSetValueExA
mov ebx, eax
test ebx, ebx
je 0x4f6e3f
xor eax, eax
jmp 0x4f6e4c
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
mov eax, 1
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret