Function at 0x140059120
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
test rdx, rdx
mov rbx, rcx
mov rbp, rdx
je 0x1400593e7
mov r8, qword [rdx + 0xe0]
movsxd r9, dword [rdx + 0xd8]
test r8, r8
je 0x1400593e7
lea r10, str.REPLAYGAIN_TRACK_GAIN
xor eax, eax
mov esi, 0x52
mov r11, r10
nop
add rax, rsi
add r11, 1
movsx rsi, byte [r11]
mov rcx, rax
shl rcx, 0xa
add rax, rcx
mov rdx, rax
shr rdx, 8
xor rax, rdx
test sil, sil
jne 0x140059160
xor edx, edx
movsxd r11, r9d
div r11
movsxd rdi, edx
mov rax, qword [r8 + rdi*8]
test rax, rax
jne 0x1400591ad
jmp 0x1400593f0
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400593f2
mov rdi, qword [rax]
mov ecx, 0x16
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400591a0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400593f0
mov byte [rbx + 0xc], 1
call sym.libvlccore.dll_us_atof
pxor xmm1, xmm1
mov r8, qword [rbp + 0xe0]
movsxd r9, dword [rbp + 0xd8]
cvtsd2ss xmm1, xmm0
test r8, r8
movss dword [rbx + 0x10], xmm1
je 0x1400593e7
movsxd r11, r9d
lea r10, str.REPLAYGAIN_TRACK_PEAK
xor eax, eax
mov edx, 0x52
mov rdi, r10
nop word [rax + rax]
add rax, rdx
add rdi, 1
movsx rdx, byte [rdi]
mov rcx, rax
shl rcx, 0xa
add rax, rcx
mov rsi, rax
shr rsi, 8
xor rax, rsi
test dl, dl
jne 0x140059210
xor edx, edx
div r11
movsxd rax, edx
mov rax, qword [r8 + rax*8]
test rax, rax
jne 0x14005925d
jmp 0x140059470
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140059472
mov rdi, qword [rax]
mov ecx, 0x16
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059250
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140059470
mov byte [rbx], 1
call sym.libvlccore.dll_us_atof
pxor xmm2, xmm2
mov r8, qword [rbp + 0xe0]
movsxd r9, dword [rbp + 0xd8]
cvtsd2ss xmm2, xmm0
test r8, r8
movss dword [rbx + 4], xmm2
je 0x1400593e7
lea r10, str.REPLAYGAIN_ALBUM_GAIN
xor eax, eax
mov ecx, 0x52
mov r11, r10
nop word cs:[rax + rax]
add rax, rcx
add r11, 1
movsx rcx, byte [r11]
mov rdx, rax
shl rdx, 0xa
add rax, rdx
mov rdi, rax
shr rdi, 8
xor rax, rdi
test cl, cl
jne 0x1400592c0
xor edx, edx
movsxd r11, r9d
div r11
movsxd rsi, edx
mov rax, qword [r8 + rsi*8]
test rax, rax
jne 0x14005930d
jmp 0x1400594f0
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400594f2
mov rdi, qword [rax]
mov ecx, 0x16
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059300
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400594f0
mov byte [rbx + 0xd], 1
call sym.libvlccore.dll_us_atof
pxor xmm3, xmm3
mov r8, qword [rbp + 0xe0]
movsxd r9, dword [rbp + 0xd8]
cvtsd2ss xmm3, xmm0
test r8, r8
movss dword [rbx + 0x14], xmm3
je 0x1400593e7
lea rbp, str.REPLAYGAIN_ALBUM_PEAK
xor eax, eax
mov edi, 0x52
mov r10, rbp
nop word [rax + rax]
add rax, rdi
add r10, 1
movsx rdi, byte [r10]
mov rdx, rax
shl rdx, 0xa
add rax, rdx
mov r11, rax
shr r11, 8
xor rax, r11
test dil, dil
jne 0x140059370
xor edx, edx
div r9
movsxd rcx, edx
mov r9, qword [r8 + rcx*8]
test r9, r9
jne 0x1400593b9
jmp 0x1400593e7
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x1400593e7
mov rdi, qword [r9]
mov ecx, 0x16
mov rsi, rbp
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400593b0
mov rcx, qword [r9 + 8]
test rcx, rcx
je 0x1400593e7
mov byte [rbx + 1], 1
call sym.libvlccore.dll_us_atof
pxor xmm4, xmm4
cvtsd2ss xmm4, xmm0
movss dword [rbx + 8], xmm4
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor eax, eax
lea r10, str.RG_RADIO
mov esi, 0x52
mov rdi, r10
add rax, rsi
add rdi, 1
movsx rsi, byte [rdi]
mov rdx, rax
shl rdx, 0xa
add rax, rdx
mov rcx, rax
shr rcx, 8
xor rax, rcx
test sil, sil
jne 0x140059401
xor edx, edx
div r11
movsxd rax, edx
mov rdx, qword [r8 + rax*8]
test rdx, rdx
jne 0x14005944d
jmp 0x1400591f9
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x1400591f9
mov rdi, qword [rdx]
mov ecx, 9
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059440
mov rcx, qword [rdx + 8]
test rcx, rcx
jne 0x1400591c9
jmp 0x1400591f9
xor eax, eax
lea r10, str.RG_PEAK
mov esi, 0x52
mov rdi, r10
add rax, rsi
add rdi, 1
movsx rsi, byte [rdi]
mov rdx, rax
shl rdx, 0xa
add rax, rdx
mov rcx, rax
shr rcx, 8
xor rax, rcx
test sil, sil
jne 0x140059481
xor edx, edx
div r11
movsxd r11, edx
mov rax, qword [r8 + r11*8]
test rax, rax
jne 0x1400594cd
jmp 0x1400592a5
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400592a5
mov rdi, qword [rax]
mov ecx, 8
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400594c0
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x140059279
jmp 0x1400592a5
xor eax, eax
lea r10, str.RG_AUDIOPHILE
mov esi, 0x52
mov rdi, r10
add rax, rsi
add rdi, 1
movsx rsi, byte [rdi]
mov rdx, rax
shl rdx, 0xa
add rax, rdx
mov rcx, rax
shr rcx, 8
xor rax, rcx
test sil, sil
jne 0x140059501
xor edx, edx
div r11
movsxd r11, edx
mov rax, qword [r8 + r11*8]
test rax, rax
jne 0x14005954d
jmp 0x140059356
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140059356
mov rdi, qword [rax]
mov ecx, 0xe
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059540
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x140059329
jmp 0x140059356