Function at 0x18004bb98
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r13
push r15
mov rbp, rsp
sub rsp, 0x60
mov rsi, rcx
lea rax, vtable.MySteam.0
mov qword [rcx], rax
mov r8d, 0x104
lea rdi, [0x18010fe00]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, 0x5c
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcsrchr]
xor r15d, r15d
mov word [rax + 2], r15w
lea eax, [r15 + 0x54]
mov word [rbp - 0x30], ax
lea edx, [rax + 0x21]
mov word [rbp - 0x2e], dx
lea eax, [rdx - 0xf]
mov word [rbp - 0x2c], ax
lea ecx, [rdx - 0x13]
mov word [rbp - 0x2a], cx
lea eax, [rdx - 7]
mov word [rbp - 0x28], ax
lea eax, [rdx - 0x30]
mov word [rbp - 0x26], ax
mov word [rbp - 0x24], cx
mov word [rbp - 0x22], dx
mov word [rbp - 0x20], cx
lea ebx, [rdx - 0x74]
mov word [rbp - 0x1e], bx
movzx eax, word [0x1800c804c]
add ax, bx
mov word [rbp - 0x1c], ax
movzx eax, word [0x1800c804e]
add ax, bx
mov word [rbp - 0x1a], ax
movzx eax, word [0x1800c8050]
add ax, bx
mov word [rbp - 0x18], ax
movzx eax, word [0x1800c8052]
add ax, bx
mov word [rbp - 0x16], ax
movzx eax, word [0x1800c8054]
add ax, bx
mov word [rbp - 0x14], ax
movzx eax, word [0x1800c8056]
add ax, bx
mov word [rbp - 0x12], ax
movzx eax, word [vtable.IMySteamFriends.0]
add ax, bx
mov word [rbp - 0x10], ax
movzx eax, word [0x1800c805a]
add ax, bx
mov word [rbp - 0xe], ax
movzx eax, word [0x1800c805c]
add ax, bx
mov word [rbp - 0xc], ax
mov word [rbp - 0xa], r15w
movzx eax, word [rbp - 0x30]
mov r9d, r15d
movzx eax, word [rbp + r9*2 - 0x30]
sub ax, bx
mov word [rbp + r9*2 - 0x30], ax
add r9, rbx
cmp r9, 0x13
jb 0x18004bcae
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcscat]
mov r8d, 0x104
lea rdi, [0x18010fcf0]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, 0x5c
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strrchr]
mov byte [rax + 1], r15b
mov dword [rbp - 0x40], 0x5b
mov r13d, 8
mov byte [rbp - 0x3c], r13b
mov byte [rbp - 0x3b], 0x2f
mov byte [rbp - 0x3a], 0x3e
mov byte [rbp - 0x39], 0x3a
mov byte [rbp - 0x38], 0x36
mov byte [rbp - 0x37], 0x1f
mov byte [rbp - 0x36], 0x3a
mov byte [rbp - 0x35], 0x2f
mov byte [rbp - 0x34], 0x3a
xor eax, eax
mov byte [rbp - 0x33], al
mov al, byte [rbp - 0x3c]
mov r8, r15
mov al, byte [rbp + r8 - 0x3c]
mov edx, dword [rbp - 0x40]
xor dl, al
mov byte [rbp + r8 - 0x3c], dl
add r8, rbx
cmp r8, 9
jb 0x18004bd39
mov byte [rbp - 0x33], r15b
lea rdx, [rbp - 0x3c]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strcat]
mov rcx, r13
call fcn.180091200
lea rcx, vtable.IMySteamAppList.0
mov qword [rax], rcx
mov qword [rsi + 8], rax
mov ecx, 0x40
call fcn.180091200
lea rcx, vtable.IMySteamApps.7.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamApps.4.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamApps.2.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamApps.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamApps.3.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamApps.6.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamApps.5.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamApps.1.0
mov qword [rax + 0x38], rcx
mov qword [rsi + 0x10], rax
mov ecx, 0x68
call fcn.180091200
lea rcx, vtable.IMySteamClient.4.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamClient.1.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamClient.12.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamClient.2.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamClient.3.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamClient.6.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamClient.9.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamClient.5.0
mov qword [rax + 0x38], rcx
lea rcx, vtable.IMySteamClient.7.0
mov qword [rax + 0x40], rcx
lea rcx, vtable.IMySteamClient.8.0
mov qword [rax + 0x48], rcx
lea rcx, vtable.IMySteamClient.10.0
mov qword [rax + 0x50], rcx
lea rcx, vtable.IMySteamClient.11.0
mov qword [rax + 0x58], rcx
lea rcx, vtable.IMySteamClient.0
mov qword [rax + 0x60], rcx
mov qword [rsi + 0x18], rax
mov ecx, 0x38
call fcn.180091200
mov qword [rbp + 0x30], rax
lea rcx, vtable.IMySteamController.3.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamController.4.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamController.2.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamController.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamController.1.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamController.5.0
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], r15
mov qword [rsi + 0x20], rax
mov ebx, 0x60
mov ecx, ebx
call fcn.180091200
lea rcx, vtable.IMySteamFriends.8.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamFriends.6.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamFriends.7.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamFriends.5.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamFriends.9.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamFriends.1.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamFriends.11.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamFriends.4.0
mov qword [rax + 0x38], rcx
lea rcx, vtable.IMySteamFriends.10.0
mov qword [rax + 0x40], rcx
lea rcx, vtable.IMySteamFriends.3.0
mov qword [rax + 0x48], rcx
lea rcx, vtable.IMySteamFriends.2.0
mov qword [rax + 0x50], rcx
lea rcx, vtable.IMySteamFriends.0
mov qword [rax + 0x58], rcx
mov qword [rsi + 0x28], rax
lea ecx, [rbx - 0x10]
call fcn.180091200
lea rcx, vtable.IMySteamGameServer.8.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamGameServer.9.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamGameServer.1.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamGameServer.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamGameServer.4.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamGameServer.7.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamGameServer.6.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamGameServer.5.0
mov qword [rax + 0x38], rcx
lea rcx, vtable.IMySteamGameServer.3.0
mov qword [rax + 0x40], rcx
lea rcx, vtable.IMySteamGameServer.2.0
mov qword [rax + 0x48], rcx
mov qword [rsi + 0x30], rax
mov rcx, r13
call fcn.180091200
lea rcx, vtable.IMySteamGameServerStats.0
mov qword [rax], rcx
mov qword [rsi + 0x38], rax
lea ecx, [rbx - 0x40]
call fcn.180091200
lea rcx, vtable.IMySteamHTMLSurface.2.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamHTMLSurface.1.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamHTMLSurface.3.0
mov qword [rax + 0x10], rcx
lea rdx, vtable.IMySteamHTMLSurface.0
mov qword [rax + 0x18], rdx
mov qword [rsi + 0x40], rax
lea ecx, [rbx - 0x48]
call fcn.180091200
lea rdx, vtable.IMySteamHTTP.2.0
mov qword [rax], rdx
lea rdx, vtable.IMySteamHTTP.0
mov qword [rax + 8], rdx
lea rdx, vtable.IMySteamHTTP.1.0
mov qword [rax + 0x10], rdx
mov qword [rsi + 0x48], rax
mov ecx, ebx
call fcn.180091200
mov qword [rbp + 0x30], rax
mov rcx, rax
call fcn.180041450
nop
mov qword [rsi + 0x50], rax
mov rcx, r13
call fcn.180091200
lea rcx, vtable.IMySteamMasterServerUpdater.0
mov qword [rax], rcx
mov qword [rsi + 0x58], rax
mov ebx, reloc.WS2_32.dll_WSASetLastError
mov ecx, ebx
call fcn.180091200
mov rdi, rax
mov qword [rbp + 0x30], rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
lea rax, vtable.IMySteamMatchmaking.3.0
mov qword [rdi], rax
lea rax, vtable.IMySteamMatchmaking.1.0
mov qword [rdi + 8], rax
lea rax, vtable.IMySteamMatchmaking.4.0
mov qword [rdi + 0x10], rax
lea rax, vtable.IMySteamMatchmaking.5.0
mov qword [rdi + 0x18], rax
lea rax, vtable.IMySteamMatchmaking.2.0
mov qword [rdi + 0x20], rax
lea rax, vtable.IMySteamMatchmaking.0
mov qword [rdi + 0x28], rax
lea rbx, [rdi + 0x30]
mov qword [rbp + 0x38], rbx
mov dword [rbx], r15d
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov ecx, 0x50
call fcn.180091200
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x18]
mov qword [rcx], r15
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r15
mov r15d, 7
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x38], r13
mov dword [rbx], 0x3f800000
mov r8, qword [rbx + 8]
lea r13d, [r15 + 9]
mov edx, r13d
call fcn.18000933c
nop
mov qword [rsi + 0x60], rdi
mov ecx, r13d
call fcn.180091200
lea rcx, vtable.IMySteamMatchmakingServers.1.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamMatchmakingServers.0
mov qword [rax + 8], rcx
mov qword [rsi + 0x68], rax
lea ebx, [r15 + 1]
mov ecx, ebx
call fcn.180091200
lea rcx, vtable.IMySteamMusic.0
mov qword [rax], rcx
mov qword [rsi + 0x70], rax
mov ecx, ebx
call fcn.180091200
lea rcx, vtable.IMySteamMusicRemote.0
mov qword [rax], rcx
mov qword [rsi + 0x78], rax
lea ecx, [rbx + 0x68]
call fcn.180091200
mov rdi, rax
mov qword [rbp + 0x30], rax
lea rax, vtable.IMySteamNetworking.4.0
mov qword [rdi], rax
lea rax, vtable.IMySteamNetworking.5.0
mov qword [rdi + 8], rax
lea rax, vtable.IMySteamNetworking.2.0
mov qword [rdi + 0x10], rax
lea rax, vtable.IMySteamNetworking.1.0
mov qword [rdi + 0x18], rax
lea rax, vtable.IMySteamNetworking.3.0
mov qword [rdi + 0x20], rax
lea rax, vtable.IMySteamNetworking.0
mov qword [rdi + 0x28], rax
lea rbx, [rdi + 0x30]
mov qword [rbp + 0x38], rbx
xor eax, eax
mov dword [rbx], eax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
lea ecx, [rax + 0x40]
call fcn.180091200
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 8], rax
lea rcx, [rbx + 0x18]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rbx + 0x30], r15
lea r15d, [r13 - 8]
mov qword [rbx + 0x38], r15
mov dword [rbx], 0x3f800000
mov r8, qword [rbx + 8]
mov edx, r13d
call fcn.18000933c
nop
mov qword [rsi + 0x80], rdi
mov ecx, 0x100
call fcn.180091200
mov qword [rbp + 0x30], rax
mov rcx, rax
call fcn.180044484
nop
mov qword [rsi + 0x88], rax
lea ecx, [r13 + 8]
call fcn.180091200
lea rcx, vtable.IMySteamScreenshots.1.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamScreenshots.2.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamScreenshots.0
mov qword [rax + 0x10], rcx
mov qword [rsi + 0x90], rax
mov ecx, 0xa0
call fcn.180091200
mov qword [rbp + 0x30], rax
mov rcx, rax
call fcn.180046c04
nop
mov qword [rsi + 0x98], rax
mov ecx, r15d
call fcn.180091200
lea rcx, vtable.IMySteamUnifiedMessages.0
mov qword [rax], rcx
mov qword [rsi + 0xa0], rax
lea ebx, [r13 + 0x60]
mov ecx, ebx
call fcn.180091200
lea rcx, vtable.IMySteamUser.7.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamUser.4.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamUser.8.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamUser.9.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamUser.13.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamUser.2.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamUser.1.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamUser.12.0
mov qword [rax + 0x38], rcx
lea rcx, vtable.IMySteamUser.6.0
mov qword [rax + 0x40], rcx
lea rcx, vtable.IMySteamUser.10.0
mov qword [rax + 0x48], rcx
lea rcx, vtable.IMySteamUser.11.0
mov qword [rax + 0x50], rcx
lea rcx, vtable.IMySteamUser.3.0
mov qword [rax + 0x58], rcx
lea rcx, vtable.IMySteamUser.0
mov qword [rax + 0x60], rcx
lea rdx, vtable.IMySteamUser.5.0
mov qword [rax + 0x68], rdx
mov qword [rsi + 0xa8], rax
mov ecx, 0x350
call fcn.180091200
mov qword [rbp + 0x30], rax
mov rcx, rax
call fcn.180048578
nop
mov qword [rsi + 0xb0], rax
lea ecx, [rbx - 0x30]
call fcn.180091200
lea rcx, vtable.IMySteamUtils.1.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamUtils.3.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamUtils.7.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamUtils.4.0
mov qword [rax + 0x18], rcx
lea rcx, vtable.IMySteamUtils.6.0
mov qword [rax + 0x20], rcx
lea rcx, vtable.IMySteamUtils.2.0
mov qword [rax + 0x28], rcx
lea rcx, vtable.IMySteamUtils.5.0
mov qword [rax + 0x30], rcx
lea rcx, vtable.IMySteamUtils.0
mov qword [rax + 0x38], rcx
mov qword [rsi + 0xb8], rax
mov ecx, r13d
call fcn.180091200
lea rcx, vtable.IMySteamVideo.0
mov qword [rax], rcx
lea rdx, vtable.IMySteamVideo.1.0
mov qword [rax + 8], rdx
mov qword [rsi + 0xc0], rax
mov ecx, r15d
call fcn.180091200
lea rdx, vtable.IMySteamParentalSettings.0
mov qword [rax], rdx
mov qword [rsi + 0xc8], rax
mov ecx, r15d
call fcn.180091200
lea rdx, vtable.IMySteamAppTicket.0
mov qword [rax], rdx
mov qword [rsi + 0xd0], rax
mov ecx, ebx
call fcn.180091200
mov rbx, rax
lea rcx, [rax + 0x20]
xor edx, edx
lea r8d, [r13 + 0x40]
call sub.msvcrt.dll_memset
lea rax, vtable.IMySteamInput.0
mov qword [rbx], rax
lea rax, vtable.IMySteamInput.1.0
mov qword [rbx + 8], rax
lea rax, vtable.IMySteamInput.3.0
mov qword [rbx + 0x10], rax
lea rax, vtable.IMySteamInput.2.0
mov qword [rbx + 0x18], rax
mov qword [rsi + 0xd8], rbx
mov ecx, r15d
call fcn.180091200
lea rdx, vtable.IMySteamGameSearch.0
mov qword [rax], rdx
mov qword [rsi + 0xe0], rax
mov ecx, r15d
call fcn.180091200
lea rdx, vtable.IMySteamParties.0
mov qword [rax], rdx
mov qword [rsi + 0xe8], rax
mov ecx, r13d
call fcn.180091200
lea rdx, vtable.IMySteamRemotePlay.0
mov qword [rax], rdx
lea rdx, vtable.IMySteamRemotePlay.1.0
mov qword [rax + 8], rdx
mov qword [rsi + 0xf0], rax
mov ecx, r15d
call fcn.180091200
lea rdx, vtable.IMySteamNetworkingMessages.0
mov qword [rax], rdx
mov qword [rsi + 0xf8], rax
lea ecx, [r13 + 0x28]
call fcn.180091200
lea rdx, vtable.IMySteamNetworkingSockets.1.0
mov qword [rax], rdx
lea rdx, vtable.IMySteamNetworkingSockets.3.0
mov qword [rax + 8], rdx
lea rdx, vtable.IMySteamNetworkingSockets.5.0
mov qword [rax + 0x10], rdx
lea rdx, vtable.IMySteamNetworkingSockets.4.0
mov qword [rax + 0x18], rdx
lea rdx, vtable.IMySteamNetworkingSockets.6.0
mov qword [rax + 0x20], rdx
lea rdx, vtable.IMySteamNetworkingSockets.2.0
mov qword [rax + 0x28], rdx
lea rdx, vtable.IMySteamNetworkingSockets.0
mov qword [rax + 0x30], rdx
mov qword [rsi + 0x100], rax
lea ecx, [r13 + 0x10]
call fcn.180091200
lea rcx, vtable.IMySteamNetworkingUtils.2.0
mov qword [rax], rcx
lea rcx, vtable.IMySteamNetworkingUtils.1.0
mov qword [rax + 8], rcx
lea rcx, vtable.IMySteamNetworkingUtils.0
mov qword [rax + 0x10], rcx
lea rcx, vtable.IMySteamNetworkingUtils.3.0
mov qword [rax + 0x18], rcx
mov qword [rsi + 0x108], rax
mov rax, rsi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret