Function at 0x140049960
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140ce2080]
xor rax, rsp
mov qword [rbp - 8], rax
xor ebx, ebx
mov dword [rbp - 0x30], 0xe5e6f0d5
mov rdi, rcx
mov dword [rbp - 0x2c], 0xedf5f3f6
mov ecx, ebx
mov dword [rbp - 0x28], 0xf3e5cb
mov byte [rbp - 0x24], 1
nop dword [rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0xb
jb 0x1400499a0
mov rsi, 0xffffffffffffffff
mov byte [rbp - 0x24], bl
mov rax, rsi
lea rcx, [rbp - 0x30]
inc rax
cmp byte [rcx + rax], bl
jne 0x1400499c1
cmp qword [rdi + 0x18], 0x10
mov rcx, rdi
jb 0x1400499d6
mov rcx, qword [rdi]
mov rdx, qword [rdi + 0x10]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x88], r14
xor r8d, r8d
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x20], rax
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5ff0]
mov rcx, rbx
movdqa xmm1, xmmword [0x140cc5e60]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x10], 0x100
movdqu xmmword [rbp - 0x20], xmm1
nop word [rax + rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x20
jb 0x140049a30
mov r15, qword [rdi + 0x10]
lea rcx, [rbp - 0x30]
mov r14, qword [rdi + 0x18]
mov rax, rsi
mov byte [rbp - 0xf], bl
inc rax
cmp byte [rcx + rax], bl
jne 0x140049a52
mov rcx, rdi
cmp r14, 0x10
jb 0x140049a66
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5270]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xbea4ac8f
mov dword [rbp - 0x1c], 0xba938ca0
mov dword [rbp - 0x18], 0x9a87b3ba
mov word [rbp - 0x14], 0x100
nop
lea eax, [rcx - 0x42]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x1c
jb 0x140049ab0
mov byte [rbp - 0x13], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049ad0
mov rcx, rdi
cmp r14, 0x10
jb 0x140049ae4
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5ff0]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xfbe7f1d0
mov dword [rbp - 0x1c], 0xfdc0c9e7
mov dword [rbp - 0x18], 0xf2f4eaf8
mov dword [rbp - 0x14], 0x100ddc2
nop dword [rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x1e
jb 0x140049b30
mov byte [rbp - 0x11], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049b50
mov rcx, rdi
cmp r14, 0x10
jb 0x140049b64
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5ef0]
mov rcx, rbx
movdqa xmm1, xmmword [0x140cc5e50]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x10], 0x100
movdqu xmmword [rbp - 0x20], xmm1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x20
jb 0x140049bb0
mov byte [rbp - 0xf], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049bd0
mov rcx, rdi
cmp r14, 0x10
jb 0x140049be4
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc6450]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xccfce3
mov byte [rbp - 0x1c], 1
nop dword [rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x13
jb 0x140049c20
mov byte [rbp - 0x1c], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049c40
mov rcx, rdi
cmp r14, 0x10
jb 0x140049c54
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5610]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x20], IStream_Reset
mov byte [rbp - 0x1e], 1
nop dword [rax + rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x11
jb 0x140049c90
mov byte [rbp - 0x1e], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049cb0
mov rcx, rdi
cmp r14, 0x10
jb 0x140049cc4
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc4f60]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xbdbcae8c
mov dword [rbp - 0x1c], 0xa6b1bb91
mov dword [rbp - 0x18], 0x9b88a2
mov byte [rbp - 0x14], 1
nop word [rax + rax]
lea eax, [rcx - 0x42]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x1b
jb 0x140049d10
mov byte [rbp - 0x14], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049d30
mov rcx, rdi
cmp r14, 0x10
jb 0x140049d44
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc60d0]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xfcd0fefd
mov dword [rbp - 0x1c], 0xc7e3e5f0
mov word [rbp - 0x18], 0xda
mov byte [rbp - 0x16], 1
nop dword [rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x19
jb 0x140049d90
mov byte [rbp - 0x16], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049db0
mov rcx, rdi
cmp r14, 0x10
jb 0x140049dc4
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc6440]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0xecfcd0fc
mov dword [rbp - 0x1c], 0x100d5ca
nop
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x16
jb 0x140049e00
mov byte [rbp - 0x19], bl
lea rcx, [rbp - 0x30]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049e20
mov rcx, rdi
cmp r14, 0x10
jb 0x140049e34
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, rsi
jne 0x140049ecb
movdqa xmm0, xmmword [0x140cc5ed0]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x20], 0xe5
mov byte [rbp - 0x1e], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rbx - 0x7f]
xor byte [rbp + rbx - 0x30], al
inc rbx
cmp rbx, 0x11
jb 0x140049e70
mov byte [rbp - 0x1e], 0
lea rax, [rbp - 0x30]
nop dword [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140049e90
mov rcx, rdi
cmp r14, 0x10
jb 0x140049ea5
mov rcx, qword [rdi]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, r15
call fcn.1400368b0
cmp rax, 0xffffffffffffffff
jne 0x140049ecb
mov rcx, rdi
call fcn.14002c7e0
xor al, al
jmp 0x140049ed5
mov rcx, rdi
call fcn.14002c7e0
mov al, 1
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x88]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401308a0
mov rbx, qword [rsp + 0x98]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret