Function at 0x4148e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [rcx + 0x28]
mov r14, qword [rax]
mov rbx, rdx
test r14, r14
je 0x414bd8
mov r12, qword [rax + 8]
test r12, r12
je 0x414c08
mov rsi, qword [rax + 0x418]
test rsi, rsi
je 0x414970
mov rcx, r14
mov r13, qword [r8]
mov rdi, qword [rax + 0x10]
lea rbp, [rax + 0x18]
call sym.EVP_MD_type
cmp eax, 0x72
je 0x4149a0
mov qword [rsp + 0x30], r13
mov r9, rbp
mov r8, rdi
mov rdx, r12
mov qword [rsp + 0x28], rbx
mov rcx, r14
mov qword [rsp + 0x20], rsi
call sym.tls1_prf_P_hash
test eax, eax
setne al
movzx eax, al
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x6a
mov edx, 0x65
mov ecx, 0x34
mov dword [rsp + 0x20], 0x89
lea r9, str.crypto_kdf_tls1_prf.c
call sym.ERR_put_error
xor eax, eax
jmp 0x41495c
call sym.EVP_md5
mov r14, rdi
mov qword [rsp + 0x30], r13
and edi, 1
shr r14, 1
mov qword [rsp + 0x28], rbx
mov rcx, rax
mov r9, rbp
mov qword [rsp + 0x20], rsi
add rdi, r14
mov rdx, r12
mov r8, rdi
call sym.tls1_prf_P_hash
test eax, eax
je 0x41495c
mov r8d, 0x104
lea rdx, str.crypto_kdf_tls1_prf.c
mov rcx, r13
call sym.CRYPTO_malloc
mov r15, rax
test rax, rax
je 0x414c60
call sym.EVP_sha1
mov qword [rsp + 0x30], r13
add r12, r14
mov r9, rbp
mov qword [rsp + 0x28], r15
mov rcx, rax
mov r8, rdi
mov rdx, r12
mov qword [rsp + 0x20], rsi
call sym.tls1_prf_P_hash
test eax, eax
je 0x414c38
test r13, r13
je 0x414bb0
lea rax, [rbx + 0xf]
sub rax, r15
cmp rax, 0x1e
jbe 0x414c8b
lea rax, [r13 - 1]
cmp rax, 0xe
jbe 0x414c8b
mov rdx, r13
xor eax, eax
and rdx, 0xfffffffffffffff0
nop word [rax + rax]
movdqu xmm0, xmmword [rbx + rax]
movdqu xmm1, xmmword [r15 + rax]
pxor xmm0, xmm1
movups xmmword [rbx + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x414a60
mov rax, r13
and rax, 0xfffffffffffffff0
test r13b, 0xf
je 0x414bb0
movzx edx, byte [r15 + rax]
xor byte [rbx + rax], dl
lea rdx, [rax + 1]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 1]
xor byte [rbx + rdx], cl
lea rdx, [rax + 2]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 2]
xor byte [rbx + rdx], cl
lea rdx, [rax + 3]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 3]
xor byte [rbx + rdx], cl
lea rdx, [rax + 4]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 4]
xor byte [rbx + rdx], cl
lea rdx, [rax + 5]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 5]
xor byte [rbx + rdx], cl
lea rdx, [rax + 6]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 6]
xor byte [rbx + rdx], cl
lea rdx, [rax + 7]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 7]
xor byte [rbx + rdx], cl
lea rdx, [rax + 8]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 8]
xor byte [rbx + rdx], cl
lea rdx, [rax + 9]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 9]
xor byte [rbx + rdx], cl
lea rdx, [rax + 0xa]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 0xa]
xor byte [rbx + rdx], cl
lea rdx, [rax + 0xb]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 0xb]
xor byte [rbx + rdx], cl
lea rdx, [rax + 0xc]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 0xc]
xor byte [rbx + rdx], cl
lea rdx, [rax + 0xd]
cmp r13, rdx
jbe 0x414bb0
movzx ecx, byte [r15 + rax + 0xd]
xor byte [rbx + rdx], cl
lea rdx, [rax + 0xe]
cmp r13, rdx
jbe 0x414bb0
movzx eax, byte [r15 + rax + 0xe]
xor byte [rbx + rdx], al
nop dword [rax]
mov r9d, 0x10f
lea r8, str.crypto_kdf_tls1_prf.c
mov rdx, r13
mov rcx, r15
call sym.CRYPTO_clear_free
mov eax, 1
jmp 0x41495c
mov r8d, 0x69
mov edx, 0x65
mov ecx, 0x34
mov dword [rsp + 0x20], 0x81
lea r9, str.crypto_kdf_tls1_prf.c
call sym.ERR_put_error
xor eax, eax
jmp 0x41495c
mov r8d, 0x6b
mov edx, 0x65
mov ecx, 0x34
mov dword [rsp + 0x20], 0x85
lea r9, str.crypto_kdf_tls1_prf.c
call sym.ERR_put_error
xor eax, eax
jmp 0x41495c
mov r9d, 0x10a
mov rdx, r13
mov rcx, r15
mov dword [rsp + 0x4c], eax
lea r8, str.crypto_kdf_tls1_prf.c
call sym.CRYPTO_clear_free
mov eax, dword [rsp + 0x4c]
jmp 0x41495c
mov r8d, 0x41
mov edx, 0x6f
mov ecx, 0x34
mov dword [rsp + 0x20], 0x105
lea r9, str.crypto_kdf_tls1_prf.c
call sym.ERR_put_error
xor eax, eax
jmp 0x41495c
xor eax, eax
nop dword [rax]
movzx edx, byte [r15 + rax]
xor byte [rbx + rax], dl
add rax, 1
cmp r13, rax
jne 0x414c90
jmp 0x414bb0