Function at 0x4f4e0c
Capabilities:
Set registry value

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov esi, 0x577e2a
mov edi, str.DisplayName
lea ebp, [esp + 4]
push 0x104
push 0x578211
push dword [0x56cee4]
call sub.KERNEL32.dll_GetModuleFileNameA
cmp dword [0x56adfc], 0
je 0x4f4e65
lea eax, [edi + 0xd]
push eax
push edi
call fcn.0041b5ed
push 0x578211
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 [0x56caf8], 0
jne 0x4f4e7d
call fcn.0041b719
mov eax, 1
jmp 0x4f5624
push ebp
lea edx, [edi + 0x35]
push edx
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f4e99
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f4ed6
xor eax, eax
jmp 0x4f5624
push ebp
lea edx, [edi + 0x47]
push edx
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4f4ef2
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f4f2f
xor eax, eax
jmp 0x4f5624
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 0x4f4f58
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f4f96
xor eax, eax
jmp 0x4f5624
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 0x4f4fc4
xor eax, eax
jmp 0x4f5624
push 0x578211
lea edx, [edi + 0x87]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054c2d0
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 0x4f5009
xor eax, eax
jmp 0x4f5624
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 0x4f5039
xor eax, eax
jmp 0x4f5624
push 0x578211
lea edx, [edi + 0xac]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054c2d0
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 0x4f507e
xor eax, eax
jmp 0x4f5624
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 0x4f50ae
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f50f1
xor eax, eax
jmp 0x4f5624
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 0x4f5121
xor eax, eax
jmp 0x4f5624
push esi
push edi
mov edi, 0x57db80
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 0x4f515e
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.0054c2d0
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 0x4f518e
xor eax, eax
jmp 0x4f5624
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 0x4f51c1
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f5204
xor eax, eax
jmp 0x4f5624
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 0x4f5236
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f5278
xor eax, eax
jmp 0x4f5624
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 0x4f52aa
xor eax, eax
jmp 0x4f5624
lea edx, [edi + 0x183]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.0054c2d0
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 0x4f52df
xor eax, eax
jmp 0x4f5624
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 0x4f530d
xor eax, eax
jmp 0x4f5624
lea edx, [edi + 0x19e]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.0054c2d0
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 0x4f5347
xor eax, eax
jmp 0x4f5624
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 0x4f5381
xor eax, eax
jmp 0x4f5624
push 0x578211
lea edx, [edi + 0x1d1]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054c2d0
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 0x4f53bb
xor eax, eax
jmp 0x4f5624
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 0x4f53f5
xor eax, eax
jmp 0x4f5624
push 0x578211
lea edx, [edi + 0x202]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.0054c2d0
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 0x4f542f
xor eax, eax
jmp 0x4f5624
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 0x4f5469
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f54a1
xor eax, eax
jmp 0x4f5624
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 0x4f54db
xor eax, eax
jmp 0x4f5624
push esi
push edi
mov edi, 0x57db80
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 0x4f5518
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.0054c2d0
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 0x4f553d
xor eax, eax
jmp 0x4f5624
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 0x4f5577
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f55ac
xor eax, eax
jmp 0x4f5624
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 0x4f55e3
xor eax, eax
jmp 0x4f5624
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.0054c2d0
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 0x4f5617
xor eax, eax
jmp 0x4f5624
push dword [ebp]
call sub.ADVAPI32.dll_RegCloseKey
mov eax, 1
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret