Function at 0x180048578
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x208
movaps xmmword [rax - 0x58], xmm6
mov r12, rcx
lea rax, vtable.IMySteamUserStats.4.0
mov qword [rcx], rax
lea rax, vtable.IMySteamUserStats.2.0
mov qword [rcx + 8], rax
lea rax, vtable.IMySteamUserStats.5.0
mov qword [rcx + 0x10], rax
lea rax, vtable.IMySteamUserStats.7.0
mov qword [rcx + 0x18], rax
lea rax, vtable.IMySteamUserStats.6.0
mov qword [rcx + 0x20], rax
lea rax, vtable.IMySteamUserStats.8.0
mov qword [rcx + 0x28], rax
lea rax, vtable.IMySteamUserStats.3.0
mov qword [rcx + 0x30], rax
lea rax, vtable.IMySteamUserStats.1.0
mov qword [rcx + 0x38], rax
lea rax, vtable.IMySteamUserStats.0
mov qword [rcx + 0x40], rax
lea r13, [rcx + 0x48]
mov qword [rbp + 0x160], r13
and dword [rbp + 0x158], 0
mov eax, dword [rbp + 0x158]
mov dword [r13], eax
xor r15d, r15d
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
lea esi, [r15 + 0x38]
mov ecx, esi
call fcn.180091200
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [r13 + 8], rax
lea rcx, [r13 + 0x18]
mov qword [rcx], r15
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r15
mov qword [r13 + 0x30], 7
lea r14d, [r15 + 8]
mov qword [r13 + 0x38], r14
mov edi, 0x3f800000
mov dword [r13], edi
mov r8, qword [r13 + 8]
lea edx, [rsi - 0x28]
call fcn.18000933c
nop
lea rbx, [r12 + 0x88]
mov qword [rbp - 0x20], rbx
and dword [rbp + 0x160], r15d
mov eax, dword [rbp + 0x160]
mov dword [rbx], eax
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov ecx, esi
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 qword [rbx + 0x30], 7
mov qword [rbx + 0x38], r14
mov dword [rbx], edi
mov r8, qword [rbx + 8]
lea edx, [rsi - 0x28]
call fcn.18000933c
nop
lea rbx, [r12 + 0x148]
lea rdx, [0x18010fe00]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcscpy]
mov dword [rsp + 0x40], 6
mov eax, dword [rsp + 0x40]
xor al, 0x2f
movsx eax, al
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x40]
inc al
xor al, 0x75
movsx eax, al
mov word [rsp + 0x46], ax
mov eax, dword [rsp + 0x40]
add al, 2
xor al, 0x73
movsx eax, al
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x40]
add al, 3
xor al, 0x65
movsx eax, al
mov word [rsp + 0x4a], ax
mov eax, dword [rsp + 0x40]
add al, 4
xor al, 0x72
movsx eax, al
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x40]
add al, 5
xor al, 0x5f
movsx eax, al
mov word [rsp + 0x4e], ax
mov eax, dword [rsp + 0x40]
add al, 6
xor al, 0x73
movsx eax, al
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x40]
add al, 7
xor al, 0x74
movsx eax, al
mov word [rsp + 0x52], ax
mov eax, dword [rsp + 0x40]
add al, r14b
xor al, 0x61
movsx eax, al
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x40]
add al, 9
xor al, 0x74
movsx eax, al
mov word [rsp + 0x56], ax
mov eax, dword [rsp + 0x40]
add al, 0xa
xor al, 0x73
movsx eax, al
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x40]
add al, 0xb
xor al, 0x2e
movsx eax, al
mov word [rsp + 0x5a], ax
mov eax, dword [rsp + 0x40]
add al, 0xc
xor al, 0x69
movsx eax, al
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x40]
add al, 0xd
xor al, 0x6e
movsx eax, al
mov word [rsp + 0x5e], ax
mov eax, dword [rsp + 0x40]
add al, 0xe
xor al, 0x69
movsx eax, al
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x40]
add al, 0xf
movsx eax, al
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x40]
add al, 0x10
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76b0]
mov word [rsp + 0x64], cx
mov eax, dword [rsp + 0x40]
add al, 0x11
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76b2]
mov word [rsp + 0x66], cx
mov eax, dword [rsp + 0x40]
add al, 0x12
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76b4]
mov word [rsp + 0x68], cx
mov eax, dword [rsp + 0x40]
add al, 0x13
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76b6]
mov word [rsp + 0x6a], cx
mov eax, dword [rsp + 0x40]
add al, 0x14
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76b8]
mov word [rsp + 0x6c], cx
mov eax, dword [rsp + 0x40]
add al, 0x15
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76ba]
mov word [rsp + 0x6e], cx
mov eax, dword [rsp + 0x40]
add al, 0x16
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76bc]
mov word [rsp + 0x70], cx
mov eax, dword [rsp + 0x40]
add al, 0x17
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76be]
mov word [rsp + 0x72], cx
mov eax, dword [rsp + 0x40]
add al, 0x18
movsx eax, al
movzx ecx, ax
xor cx, word [vtable.IMySteamUserStats.0]
mov word [rsp + 0x74], cx
mov eax, dword [rsp + 0x40]
add al, 0x19
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76c2]
mov word [rsp + 0x76], cx
mov eax, dword [rsp + 0x40]
add al, 0x1a
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76c4]
mov word [rsp + 0x78], cx
mov eax, dword [rsp + 0x40]
add al, 0x1b
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76c6]
mov word [rsp + 0x7a], cx
mov eax, dword [rsp + 0x40]
add al, 0x1c
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76c8]
mov word [rsp + 0x7c], cx
mov eax, dword [rsp + 0x40]
add al, 0x1d
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76ca]
mov word [rsp + 0x7e], cx
mov eax, dword [rsp + 0x40]
add al, 0x1e
movsx eax, al
movzx ecx, ax
xor cx, word [0x1800c76cc]
mov word [rbp - 0x80], cx
xor eax, eax
mov word [rbp - 0x7e], ax
movzx eax, word [rsp + 0x44]
mov r9d, r15d
movzx r8d, word [rsp + r9*2 + 0x44]
mov eax, dword [rsp + 0x40]
add al, r9b
movsx edx, al
xor dx, r8w
mov word [rsp + r9*2 + 0x44], dx
inc r9
cmp r9, 0x1f
jb 0x180048965
mov word [rbp - 0x7e], r15w
lea rdx, [rsp + 0x44]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcscat]
mov byte [r12 + 0xc8], r15b
lea rdx, [0x1800bbf90]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wfopen]
mov rbx, rax
test rax, rax
je 0x180048dc2
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.180066914
mov r14, rax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
test r14, r14
jne 0x1800489e3
xor ecx, ecx
jmp 0x180048dbc
mov byte [rbp + 0x168], 0x5b
mov byte [rbp + 0x169], 0x5c
mov byte [rbp + 0x16a], 0x49
mov byte [rbp + 0x16b], 0x5c
mov byte [rbp + 0x16c], 0x5b
mov byte [rbp + 0x16d], r15b
mov al, byte [rbp + 0x168]
mov rcx, r15
mov al, byte [rbp + rcx + 0x168]
sub al, 8
mov byte [rbp + rcx + 0x168], al
inc rcx
cmp rcx, 5
jb 0x180048a16
lea rdx, [rbp + 0x168]
mov rcx, r14
call fcn.180067430
mov rdi, rax
test rax, rax
je 0x180048b23
mov r15d, dword [rax + 0xc]
xor ebx, ebx
test r15d, r15d
jle 0x180048b20
mov edx, ebx
mov rcx, rdi
call fcn.180067314
mov rsi, rax
test rax, rax
je 0x180048b15
xorps xmm2, xmm2
mov rdx, rax
mov rcx, rdi
call fcn.180003194
movaps xmm6, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm1
and qword [rbp - 0x50], 0
and qword [rbp - 0x48], 0
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_strlen]
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.18000a67c
nop
lea r8, [rbp - 0x60]
lea rdx, [rbp - 8]
mov rcx, r13
call fcn.18004a7a0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
mov rax, qword [rax]
movss dword [rax + 0x30], xmm0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180048b04
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180048aff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180048de1
call fcn.18009168c
and qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
inc ebx
cmp ebx, r15d
jl 0x180048a59
xor r15d, r15d
mov dword [rsp + 0x20], 0xc
mov eax, dword [rsp + 0x20]
xor al, 0x41
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0x20]
inc al
xor al, 0x43
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x20]
add al, 2
xor al, 0x48
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x20]
add al, 3
xor al, 0x49
mov byte [rsp + 0x27], al
mov eax, dword [rsp + 0x20]
add al, 4
mov cl, 0x45
xor al, cl
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x20]
add al, 5
xor al, 0x56
mov byte [rsp + 0x29], al
mov eax, dword [rsp + 0x20]
add al, 6
xor al, cl
mov byte [rsp + 0x2a], al
mov eax, dword [rsp + 0x20]
add al, 7
xor al, 0x4d
mov byte [rsp + 0x2b], al
mov eax, dword [rsp + 0x20]
add al, 8
xor al, cl
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x20]
add al, 9
xor al, 0x4e
mov byte [rsp + 0x2d], al
mov eax, dword [rsp + 0x20]
add al, 0xa
xor al, 0x54
mov byte [rsp + 0x2e], al
mov eax, dword [rsp + 0x20]
add al, 0xb
xor al, 0x53
mov byte [rsp + 0x2f], al
xor eax, eax
mov byte [rsp + 0x30], al
mov al, byte [rsp + 0x24]
mov rdx, r15
mov al, byte [rsp + rdx + 0x24]
mov ecx, dword [rsp + 0x20]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x24], cl
inc rdx
cmp rdx, 0xc
jb 0x180048bc8
mov byte [rsp + 0x30], r15b
lea rdx, [rsp + 0x24]
mov rcx, r14
call fcn.180067430
mov rdi, rax
test rax, rax
je 0x180048db9
mov r12d, dword [rax + 0x28]
mov ebx, r15d
test r12d, r12d
jle 0x180048db2
mov edx, ebx
mov rcx, rdi
call fcn.180067314
mov rsi, rax
test rax, rax
je 0x180048da7
mov rdx, rax
mov rcx, rdi
call fcn.180067430
mov r15, rax
test rax, rax
je 0x180048da4
mov dword [rbp - 0x7c], 0x1a
mov byte [rbp - 0x78], WSASetLastError
mov byte [rbp - 0x77], reloc.WS2_32.dll_WSACleanup
mov byte [rbp - 0x76], 0x76
mov byte [rbp - 0x75], 0x75
mov byte [rbp - 0x74], 0x79
mov byte [rbp - 0x73], WSACleanup
mov byte [rbp - 0x72], 0x7f
mov byte [rbp - 0x71], 0x7e
xor eax, eax
mov byte [rbp - 0x70], al
mov al, byte [rbp - 0x78]
xor edx, edx
mov al, byte [rbp + rdx - 0x78]
mov ecx, dword [rbp - 0x7c]
xor cl, al
mov byte [rbp + rdx - 0x78], cl
inc rdx
cmp rdx, 8
jb 0x180048c6d
mov byte [rbp - 0x70], 0
mov r8b, 1
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.1800031f4
mov r13b, al
mov dword [rsp + 0x34], reloc.WS2_32.dll_WSAStartup
mov ecx, dword [rsp + 0x34]
xor cl, 0x74
mov byte [rsp + 0x38], cl
mov ecx, dword [rsp + 0x34]
inc cl
xor cl, 0x69
mov byte [rsp + 0x39], cl
mov ecx, dword [rsp + 0x34]
add cl, 2
xor cl, 0x6d
mov byte [rsp + 0x3a], cl
mov eax, dword [rsp + 0x34]
add al, 3
xor al, 0x65
mov byte [rsp + 0x3b], al
xor eax, eax
mov byte [rsp + 0x3c], al
mov al, byte [rsp + 0x38]
xor edx, edx
mov al, byte [rsp + rdx + 0x38]
mov ecx, dword [rsp + 0x34]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x38], cl
inc rdx
cmp rdx, 4
jb 0x180048cdf
mov byte [rsp + 0x3c], 0
xor r8d, r8d
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.180003138
mov byte [rbp - 0x6c], r13b
mov dword [rbp - 0x68], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor r15d, r15d
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_strlen]
mov r8, rax
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.18000a67c
nop
lea r8, [rbp - 0x40]
lea rdx, [rbp + 8]
mov rcx, qword [rbp - 0x20]
call fcn.18004a550
mov rcx, qword [rax]
mov rax, qword [rbp - 0x6c]
mov qword [rcx + 0x30], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180048d92
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180048d8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180048de7
call fcn.18009168c
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], r15b
jmp 0x180048da7
xor r15d, r15d
inc ebx
cmp ebx, r12d
jl 0x180048c0f
mov r12, qword [rbp + 0x150]
mov rcx, r14
call fcn.180066b14
nop
mov rax, r12
movaps xmm6, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180095520
nop
call fcn.180095520
int3