Function at 0x140055ad0
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 rdi, rdx
mov rsi, rcx
mov r9, qword [rdi + 0x10]
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0x37]
mov rdx, rdi
call fcn.140043380
cmp qword [rsp + 0xb0], 0
jne 0x140055b0f
jmp 0x140055b3c
mov r14, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb0]
add rdx, 0x10
lea rcx, [rsp + 0x138]
mov r8d, 0x28
call fcn.1400be120
cmp r14, 0
jne 0x140055bb3
mov eax, dword [0x1400e7500]
xor eax, dword [0x1400e7504]
or eax, 0x35e0747c
add eax, 0x2517e18d
add eax, 0xb5f15a7e
cmp eax, 0x788b2f65
ja 0x140055dbf
jmp 0x140055b64
mov ebx, dword [0x1400e7508]
xor ebx, dword [0x1400e750c]
add ebx, 0xd44149ab
add ebx, 0xc14323af
or ebx, 0xf1c8d39a
mov qword [rsi], 0
mov eax, 8
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
mov rcx, rdi
add rcx, 8
call fcn.140068980
cmp ebx, 0xe475502c
je 0x140055b64
jmp 0x140055da8
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x138]
mov r8d, 0x28
call fcn.1400be120
mov al, byte [0x1400e8bf0]
mov ecx, 0xc0
mov edx, 8
call fcn.1400639f0
mov rbx, rax
cmp rbx, 0
jne 0x140055bfb
mov ecx, 8
mov edx, 0xc0
call fcn.14006f020
mov qword [rbx], r14
mov rcx, rbx
add rcx, 8
lea rdx, [rsp + 0xe8]
mov r8d, 0x28
call fcn.1400be120
mov qword [rsp + 0x38], 4
lea r14, [rsp + 0x38]
add r14, 8
mov qword [rsp + 0x40], rbx
lea r12, [rsp + 0x38]
add r12, 0x10
mov qword [rsp + 0x48], 1
mov rax, qword [rdi]
mov qword [rsp + 0x50], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x60], rax
lea r13, [rsp + 0x50]
add r13, 0x10
mov r9, qword [rsp + 0x60]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x37]
call fcn.140043380
cmp qword [rsp + 0x78], 0
je 0x140055ca6
mov qword [rsp + 0x68], r14
lea rdi, [rsp + 0x78]
add rdi, 8
lea r15, [rsp + 0x78]
add r15, 0x10
mov r14d, 1
jmp 0x140055cab
jmp 0x140055ca6
jmp 0x140055d80
mov rbp, qword [rdi]
lea rcx, [rsp + 0x160]
mov rdx, r15
mov r8d, 0x28
call fcn.1400be120
cmp rbp, 0
je 0x140055d7e
mov qword [rsp + 0x70], rdi
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x160]
mov r8d, 0x28
call fcn.1400be120
cmp r14, qword [rsp + 0x38]
je 0x140055d4f
imul rax, r14, 0x30
mov rcx, rbx
add rcx, rax
mov qword [rcx], rbp
add rcx, 8
lea rdx, [rsp + 0x110]
mov r8d, 0x28
call fcn.1400be120
add r14, 1
mov qword [r12], r14
mov r9, qword [r13]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x37]
call fcn.140043380
cmp qword [rsp + 0x78], 0
mov rdi, qword [rsp + 0x70]
je 0x140055ca4
jmp 0x140055cab
lea rcx, [rsp + 0x38]
mov rdx, r14
mov r8d, 1
mov r9d, 8
mov qword [rsp + 0x20], 0x30
call fcn.140062930
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax]
jmp 0x140055cf5
jmp 0x140055d80
lea rcx, [rsp + 0x50]
add rcx, 8
call fcn.140068980
mov rax, qword [rsp + 0x38]
mov qword [rsi], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x48]
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
sub al, 0xf5
cmp al, 0xef
mov edx, 0x852a0dc0
imul cl
jae 0x140055e14
mov dword [rsi], 0
mov eax, 8
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
mov rcx, rdi
add rcx, 8
call fcn.140068980
jmp 0x140055b62