Function at 0x41859f
Capabilities:
Get session user name
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46774f
mov eax, dword fs:[0]
push eax
sub esp, 0x2f0
mov eax, dword [0x48f190]
xor eax, esp
mov dword [esp + 0x2e8], eax
push ebx
push esi
push edi
mov eax, dword [0x48f190]
xor eax, esp
push eax
lea eax, [esp + 0x300]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call dword [eax + 0xe8]
xor esi, esi
mov dword [esp + 0x308], esi
cmp dword [eax + 0x18], 8
jb 0x418604
mov eax, dword [eax + 4]
jmp 0x418607
add eax, 4
push esi
push esi
push eax
xor eax, eax
cmp byte [edi + 0x59], al
sete al
add eax, 0x80000001
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0042a01e
add esp, 0x14
push esi
xor ebx, ebx
inc ebx
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 2
call fcn.0040971e
cmp byte [edi + 0x59], 0
mov dword [esp + 0x14], 0x471e7c
jne 0x418651
mov dword [esp + 0x14], str.__alluser
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0xe4]
mov esi, eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x308], 3
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
mov byte [esp + 0x308], 4
cmp dword [esi + 0x18], 8
jb 0x41868f
mov esi, dword [esi + 4]
jmp 0x418692
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x41869d
mov eax, dword [eax + 4]
jmp 0x4186a0
add eax, 4
push dword [esp + 0x14]
push esi
push eax
push str.__s_s___uninstall_s
lea esi, [esp + 0xcc]
call fcn.0042caf2
add esp, 0x10
push 0
push ebx
lea esi, [esp + 0x8c]
call fcn.0040971e
push 0
push ebx
lea esi, [esp + 0x54]
mov byte [esp + 0x310], 7
call fcn.0040971e
cmp dword [esp + 0xd4], 8
mov eax, dword [esp + 0xc0]
jae 0x4186f5
lea eax, [esp + 0xc0]
push str.Failed_to_set_UninstallString_key
push 2
push eax
push str.UninstallString
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
push str.Failed_to_set_Publisher_key
push ebx
push str.EMINEM_Corporation
push str.Publisher
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
push str.Failed_to_set_URLInfoAbout_key
push ebx
push str.http:__www.eminem.xyz
push str.URLInfoAbout
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
lea edx, [edi + 0xfc]
lea ecx, [esp + 0x20]
call fcn.0042c7d5
mov byte [esp + 0x308], 8
cmp dword [eax + 0x18], 8
jb 0x41877a
mov eax, dword [eax + 4]
jmp 0x41877d
add eax, 4
push str.Failed_to_set_Comments_key
push ebx
push eax
push str.Comments
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 7
call fcn.0040971e
mov eax, dword [edi]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
mov byte [esp + 0x308], 9
cmp dword [eax + 0x18], 8
jb 0x4187d1
mov eax, dword [eax + 4]
jmp 0x4187d4
add eax, 4
push str.Failed_to_set_InstallLocation_key
push ebx
push eax
push str.InstallLocation
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 7
call fcn.0040971e
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push str.Failed_to_set_NoModify_key
push 4
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push str.NoModify
push dword [esp + 0x30]
mov dword [esp + 0x30], ebx
call esi
push eax
call fcn.00429e3c
pop ecx
pop ecx
push str.Failed_to_set_NoRepair_key
push 4
lea eax, [esp + 0x1c]
push eax
push 4
push 0
push str.NoRepair
push dword [esp + 0x30]
mov dword [esp + 0x30], ebx
call esi
push eax
call fcn.00429e3c
mov eax, dword [edi]
pop ecx
pop ecx
lea ecx, [esp + 0x68]
push ecx
mov ecx, edi
call dword [eax + 0xe4]
mov esi, eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x308], 0xa
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xa8]
mov byte [esp + 0x308], 0xb
cmp dword [esi + 0x18], 8
jb 0x418895
mov esi, dword [esi + 4]
jmp 0x418898
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x4188a3
mov eax, dword [eax + 4]
jmp 0x4188a6
add eax, 4
push esi
push eax
push str._s_s_0
lea esi, [esp + 0xe4]
call fcn.0042caf2
add esp, 0xc
push 0
push ebx
lea esi, [esp + 0x28]
call fcn.0040971e
push 0
push ebx
lea esi, [esp + 0x70]
mov byte [esp + 0x310], 0xe
call fcn.0040971e
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
jae 0x4188f4
lea eax, [esp + 0xdc]
push str.Failed_to_set_IconPath_key
push ebx
push eax
push str.DisplayIcon
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x42]
push eax
movzx eax, word [esp + 0x42]
push eax
movzx eax, word [esp + 0x44]
push eax
push str._04d_02d_02d
lea esi, [esp + 0x5c]
call fcn.0042caf2
add esp, 0x10
mov byte [esp + 0x308], 0xf
cmp dword [eax + 0x18], 8
jb 0x418953
mov eax, dword [eax + 4]
jmp 0x418956
add eax, 4
push str.Failed_to_set_InstallDate_key
push ebx
push eax
push str.InstallDate
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x54]
mov byte [esp + 0x310], 0xe
call fcn.0040971e
push str.E2016M_Player
lea eax, [esp + 0xa4]
call fcn.004081fb
mov byte [esp + 0x308], 0x10
cmp byte [edi + 0x59], 0
je 0x4189f3
xor eax, eax
mov word [esp + 0xf4], ax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xf8]
push eax
mov dword [esp + 0x1c], 0x100
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push str._for
lea eax, [esp + 0xa4]
push eax
call fcn.0040ba8a
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0040ba8a
cmp dword [esp + 0xb8], 8
mov eax, dword [esp + 0xa4]
jae 0x418a0b
lea eax, [esp + 0xa4]
push str.Failed_to_set_DisplayName_key
push ebx
push eax
push str.DisplayName
lea eax, [esp + 0x28]
push eax
call fcn.0040ca7d
push eax
call fcn.00429e3c
pop ecx
pop ecx
xor edi, edi
push edi
push ebx
lea esi, [esp + 0xa8]
call fcn.0040971e
push edi
push ebx
lea esi, [esp + 0xe0]
call fcn.0040971e
push edi
push ebx
lea esi, [esp + 0xc4]
call fcn.0040971e
lea esi, [esp + 0x18]
call fcn.0040cba0
mov ecx, dword [esp + 0x300]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2e8]
xor ecx, esp
call fcn.004483ed
mov esp, ebp
pop ebp
ret