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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46109a
mov eax, dword fs:[0]
push eax
sub esp, 0x2f0
mov eax, dword [0x4861f4]
xor eax, esp
mov dword [esp + 0x2e8], eax
push ebx
push esi
push edi
mov eax, dword [0x4861f4]
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 + 0xc0]
xor esi, esi
mov dword [esp + 0x308], esi
cmp dword [eax + 0x18], 8
jb 0x416325
mov eax, dword [eax + 4]
jmp 0x416328
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.00425717
add esp, 0x14
push esi
xor ebx, ebx
inc ebx
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 2
call fcn.00409415
cmp byte [edi + 0x59], 0
mov dword [esp + 0x14], 0x46a89c
jne 0x416372
mov dword [esp + 0x14], str.__alluser
mov eax, dword [edi]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call dword [eax + 0xbc]
mov esi, eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x308], 3
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x80]
mov byte [esp + 0x308], 4
cmp dword [esi + 0x18], 8
jb 0x4163b0
mov esi, dword [esi + 4]
jmp 0x4163b3
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x4163be
mov eax, dword [eax + 4]
jmp 0x4163c1
add eax, 4
push dword [esp + 0x14]
push esi
push eax
push str.__s_s___uninstall_s
lea esi, [esp + 0xcc]
call fcn.00427832
add esp, 0x10
push 0
push ebx
lea esi, [esp + 0x8c]
call fcn.00409415
push 0
push ebx
lea esi, [esp + 0x54]
mov byte [esp + 0x310], 7
call fcn.00409415
cmp dword [esp + 0xd4], 8
mov eax, dword [esp + 0xc0]
jae 0x416416
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.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
push str.Failed_to_set_Publisher_key
push ebx
push 0x46d5ec
push str.Publisher
lea eax, [esp + 0x28]
push eax
call fcn.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
push str.Failed_to_set_URLInfoAbout_key
push ebx
push str.http:__www.rowine.lol
push str.URLInfoAbout
lea eax, [esp + 0x28]
push eax
call fcn.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
lea edx, [edi + 0xfc]
lea ecx, [esp + 0x20]
call fcn.00427515
mov byte [esp + 0x308], 8
cmp dword [eax + 0x18], 8
jb 0x41649b
mov eax, dword [eax + 4]
jmp 0x41649e
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.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 7
call fcn.00409415
mov eax, dword [edi]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call dword [eax + 0x80]
mov byte [esp + 0x308], 9
cmp dword [eax + 0x18], 8
jb 0x4164f2
mov eax, dword [eax + 4]
jmp 0x4164f5
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.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x28]
mov byte [esp + 0x310], 7
call fcn.00409415
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.00425535
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.00425535
mov eax, dword [edi]
pop ecx
pop ecx
lea ecx, [esp + 0x68]
push ecx
mov ecx, edi
call dword [eax + 0xbc]
mov esi, eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x308], 0xa
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x80]
mov byte [esp + 0x308], 0xb
cmp dword [esi + 0x18], 8
jb 0x4165b6
mov esi, dword [esi + 4]
jmp 0x4165b9
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x4165c4
mov eax, dword [eax + 4]
jmp 0x4165c7
add eax, 4
push esi
push eax
push str._s_s_0
lea esi, [esp + 0xe4]
call fcn.00427832
add esp, 0xc
push 0
push ebx
lea esi, [esp + 0x28]
call fcn.00409415
push 0
push ebx
lea esi, [esp + 0x70]
mov byte [esp + 0x310], 0xe
call fcn.00409415
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
jae 0x416615
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.0040c621
push eax
call fcn.00425535
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.00427832
add esp, 0x10
mov byte [esp + 0x308], 0xf
cmp dword [eax + 0x18], 8
jb 0x416674
mov eax, dword [eax + 4]
jmp 0x416677
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.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
push 0
push ebx
lea esi, [esp + 0x54]
mov byte [esp + 0x310], 0xe
call fcn.00409415
push str.Play_Rowine
lea eax, [esp + 0xa4]
call fcn.00407ede
mov byte [esp + 0x308], 0x10
cmp byte [edi + 0x59], 0
je 0x416714
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.0040b6b6
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0040b6b6
cmp dword [esp + 0xb8], 8
mov eax, dword [esp + 0xa4]
jae 0x41672c
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.0040c621
push eax
call fcn.00425535
pop ecx
pop ecx
xor edi, edi
push edi
push ebx
lea esi, [esp + 0xa8]
call fcn.00409415
push edi
push ebx
lea esi, [esp + 0xe0]
call fcn.00409415
push edi
push ebx
lea esi, [esp + 0xc4]
call fcn.00409415
lea esi, [esp + 0x18]
call fcn.0040c744
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.004428bd
mov esp, ebp
pop ebp
ret