Function at 0x4e7b80
Capabilities:
Set registry value

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff4
mov esi, 0x57c4a0
mov edi, str.DisplayName
mov ebp, esp
push 0x104
push 0x57c887
push dword [0x55b3c4]
call sub.KERNEL32.dll_GetModuleFileNameA
push 0x57c887
call fcn.00541e38
pop ecx
cmp dword [0x556164], 0
je 0x4e7be2
lea eax, [edi + 0xd]
push eax
push edi
call fcn.0040c920
push 0x57c887
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.0040c920
push ebp
lea eax, [edi + 0x35]
push eax
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4e7bfe
xor eax, eax
jmp 0x4e83c9
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.005395b8
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 0x4e7c3b
xor eax, eax
jmp 0x4e83c9
push ebp
lea edx, [edi + 0x47]
push edx
push 0x80000000
call sub.ADVAPI32.dll_RegCreateKeyA
mov ebx, eax
test ebx, ebx
je 0x4e7c57
xor eax, eax
jmp 0x4e83c9
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.005395b8
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 0x4e7c94
xor eax, eax
jmp 0x4e83c9
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 0x4e7cbd
xor eax, eax
jmp 0x4e83c9
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.005395b8
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 0x4e7cfb
xor eax, eax
jmp 0x4e83c9
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 0x4e7d29
xor eax, eax
jmp 0x4e83c9
push 0x57c887
lea edx, [edi + 0x87]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.005395b8
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 0x4e7d6e
xor eax, eax
jmp 0x4e83c9
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 0x4e7d9e
xor eax, eax
jmp 0x4e83c9
push 0x57c887
lea edx, [edi + 0xac]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.005395b8
pop ecx
inc eax
push eax
push esi
push 1
lea ecx, [edi + 0xb2]
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 0x4e7de3
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0xb4]
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 0x4e7e13
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0xd1]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0xd5]
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 0x4e7e56
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0xd7]
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 0x4e7e86
xor eax, eax
jmp 0x4e83c9
push esi
push edi
mov edi, 0x54f858
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 0x4e7ec3
push esi
push edi
lea eax, [edi + 0x100]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x106]
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 0x4e7ef3
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x108]
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 0x4e7f26
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x12c]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x130]
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 0x4e7f69
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x132]
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 0x4e7f9b
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x155]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
lea edx, [edi + 0x15e]
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 0x4e7fdd
xor eax, eax
jmp 0x4e83c9
cmp dword [0x556164], 0
je 0x4e83c4
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x176]
push eax
push 0
lea edx, [edi + 0x160]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e8022
xor eax, eax
jmp 0x4e83c9
lea edx, [edi + 0x178]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e8056
xor eax, eax
jmp 0x4e83c9
mov dword [esp + 4], 2
push 4
lea edx, [esp + 8]
push edx
push 3
push 0
lea ecx, [edi + 0x189]
push ecx
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e8084
xor eax, eax
jmp 0x4e83c9
lea edx, [edi + 0x193]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 8
push esi
call fcn.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
lea ecx, [edi + 0x195]
push ecx
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e80bd
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x1c4]
push eax
push 0
lea edx, [edi + 0x1a2]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e80fe
xor eax, eax
jmp 0x4e83c9
push 0x57c887
lea edx, [edi + 0x1c6]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e8137
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x1f5]
push eax
push 0
lea edx, [edi + 0x1cc]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e8178
xor eax, eax
jmp 0x4e83c9
push 0x57c887
lea edx, [edi + 0x1f7]
push edx
push esi
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
call fcn.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e81b1
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x226]
push eax
push 0
lea edx, [edi + 0x1fd]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e81f2
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x228]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e8229
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x261]
push eax
push 0
lea edx, [edi + 0x22c]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e826a
xor eax, eax
jmp 0x4e83c9
push esi
push edi
mov edi, 0x54f858
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 0x4e82a7
push esi
push edi
lea eax, [edi + 0x263]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e82cb
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x299]
push eax
push 0
lea edx, [edi + 0x269]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e830c
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x29b]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e8343
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
lea edx, [esp + 4]
push edx
lea ecx, [esp + 0xc]
push ecx
push 0
push 0x20006
push 0
lea eax, [edi + 0x2ce]
push eax
push 0
lea edx, [edi + 0x29f]
push edx
push 0x80000002
call sub.ADVAPI32.dll_RegCreateKeyExA
test eax, eax
je 0x4e8381
xor eax, eax
jmp 0x4e83c9
push esi
push edi
lea eax, [edi + 0x2d0]
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.005395b8
pop ecx
inc eax
push eax
push esi
push 1
push 0
push 0
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegSetValueExA
test eax, eax
je 0x4e83b4
xor eax, eax
jmp 0x4e83c9
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
mov eax, 1
jmp 0x4e83c9
mov eax, 1
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
ret