Function at 0x140059020
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 0x1400592e7
mov r8, qword [rdx + 0xe0]
movsxd r9, dword [rdx + 0xd8]
test r8, r8
je 0x1400592e7
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 0x140059060
xor edx, edx
movsxd r11, r9d
div r11
movsxd rdi, edx
mov rax, qword [r8 + rdi*8]
test rax, rax
jne 0x1400590ad
jmp 0x1400592f0
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400592f2
mov rdi, qword [rax]
mov ecx, 0x16
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400590a0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400592f0
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 0x1400592e7
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 0x140059110
xor edx, edx
div r11
movsxd rax, edx
mov rax, qword [r8 + rax*8]
test rax, rax
jne 0x14005915d
jmp 0x140059370
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140059372
mov rdi, qword [rax]
mov ecx, 0x16
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059150
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140059370
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 0x1400592e7
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 0x1400591c0
xor edx, edx
movsxd r11, r9d
div r11
movsxd rsi, edx
mov rax, qword [r8 + rsi*8]
test rax, rax
jne 0x14005920d
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 0x140059200
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400593f0
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 0x1400592e7
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 0x140059270
xor edx, edx
div r9
movsxd rcx, edx
mov r9, qword [r8 + rcx*8]
test r9, r9
jne 0x1400592b9
jmp 0x1400592e7
mov r9, qword [r9 + 0x10]
test r9, r9
je 0x1400592e7
mov rdi, qword [r9]
mov ecx, 0x16
mov rsi, rbp
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400592b0
mov rcx, qword [r9 + 8]
test rcx, rcx
je 0x1400592e7
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 0x140059301
xor edx, edx
div r11
movsxd rax, edx
mov rdx, qword [r8 + rax*8]
test rdx, rdx
jne 0x14005934d
jmp 0x1400590f9
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x1400590f9
mov rdi, qword [rdx]
mov ecx, 9
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059340
mov rcx, qword [rdx + 8]
test rcx, rcx
jne 0x1400590c9
jmp 0x1400590f9
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 0x140059381
xor edx, edx
div r11
movsxd r11, edx
mov rax, qword [r8 + r11*8]
test rax, rax
jne 0x1400593cd
jmp 0x1400591a5
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400591a5
mov rdi, qword [rax]
mov ecx, 8
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400593c0
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x140059179
jmp 0x1400591a5
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 0x140059401
xor edx, edx
div r11
movsxd r11, edx
mov rax, qword [r8 + r11*8]
test rax, rax
jne 0x14005944d
jmp 0x140059256
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140059256
mov rdi, qword [rax]
mov ecx, 0xe
mov rsi, r10
repe cmpsb byte [rsi], byte [rdi]
jne 0x140059440
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x140059229
jmp 0x140059256