Function at 0x140048e90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
mov rbx, rdx
mov rsi, rcx
mov r9, qword [rbx + 0x10]
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0x2f]
mov rdx, rbx
call fcn.140039bb0
cmp qword [rsp + 0xb0], 0
jne 0x140048ecf
jmp 0x140048efc
mov r14, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
add rdx, 0x10
lea rcx, [rsp + 0x138]
mov r8d, 0x28
call fcn.1400ae6d0
cmp r14, 0
jne 0x140048f25
mov qword [rsi], 0
mov eax, 8
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
add rbx, 8
mov rcx, rbx
call fcn.1400590e0
jmp 0x140049174
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x138]
mov r8d, 0x28
call fcn.1400ae6d0
mov al, byte [0x1400d7030]
mov ecx, 0xc0
mov edx, 8
call fcn.1400541c0
mov rdi, rax
cmp rdi, 0
jne 0x140048f6d
mov ecx, 8
mov edx, 0xc0
call fcn.14005f780
mov qword [rdi], r14
mov rcx, rdi
add rcx, 8
lea rdx, [rsp + 0xe8]
mov r8d, 0x28
call fcn.1400ae6d0
mov qword [rsp + 0x30], 4
lea r14, [rsp + 0x30]
add r14, 8
mov qword [rsp + 0x38], rdi
lea r12, [rsp + 0x30]
add r12, 0x10
mov qword [rsp + 0x40], 1
mov rax, qword [rbx]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x58], rax
lea r13, [rsp + 0x48]
add r13, 0x10
mov r9, qword [rsp + 0x58]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x2f]
call fcn.140039bb0
cmp qword [rsp + 0x78], 0
je 0x140049018
mov qword [rsp + 0x68], r14
lea rbx, [rsp + 0x78]
add rbx, 8
lea r15, [rsp + 0x78]
add r15, 0x10
mov r14d, 1
jmp 0x14004901d
jmp 0x140049018
jmp 0x14004914c
mov rbp, qword [rbx]
lea rcx, [rsp + 0x160]
mov rdx, r15
mov r8d, 0x28
call fcn.1400ae6d0
cmp rbp, 0
je 0x14004914a
mov qword [rsp + 0x60], r15
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x160]
mov r8d, 0x28
call fcn.1400ae6d0
cmp r14, qword [rsp + 0x30]
je 0x1400490c1
imul rax, r14, 0x30
mov rcx, rdi
add rcx, rax
mov qword [rcx], rbp
add rcx, 8
lea rdx, [rsp + 0x110]
mov r8d, 0x28
call fcn.1400ae6d0
add r14, 1
mov qword [r12], r14
mov r9, qword [r13]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x2f]
call fcn.140039bb0
cmp qword [rsp + 0x78], 0
mov r15, qword [rsp + 0x60]
je 0x140049016
jmp 0x14004901d
mov qword [rsp + 0x70], rbx
mov eax, dword [0x1400d5ee0]
imul eax, dword [0x1400d5ee4]
imul eax, eax, 0x4637b410
xor eax, 0x2cb935eb
sub eax, 0x3949fab5
cmp eax, 0xc0511b24
je 0x14004918b
mov r15, qword [rsp + 0x68]
jmp 0x1400490f5
mov ebx, dword [0x1400d5ee8]
or ebx, dword [0x1400d5eec]
xor ebx, 0x36b04007
add ebx, 0x30677fe6
and ebx, 0x214b5ca
lea rcx, [rsp + 0x30]
mov rdx, r14
mov r8d, 1
mov r9d, 8
mov qword [rsp + 0x20], 0x30
call fcn.140053080
mov rdi, qword [r15]
cmp ebx, 0xcf3d9b2d
jae 0x1400490f5
mov rbx, qword [rsp + 0x70]
jmp 0x140049067
jmp 0x14004914c
lea rcx, [rsp + 0x48]
add rcx, 8
call fcn.1400590e0
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov rax, rsi
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xchg ebp, eax
cmp byte [rdi + 0x1426243d], 0xfd
lea rcx, [rsp + 0x30]
mov rdx, r14
mov r8d, 1
mov r9d, 8
mov qword [rsp + 0x20], 0x30
call fcn.140053080
jmp 0x1400490ee