Function at 0x140005780
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x128]
sub rsp, 0x218
mov rax, qword [0x1405fa008]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rcx, qword [0x1405eddb0]
xor edx, edx
movzx eax, cl
mov ebx, edx
mov qword [rbp - 0x60], rax
mov eax, edx
mov qword [r11 + 8], rsi
mov esi, r8d
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x44], edx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rdx
mov dword [rbp - 0x68], r8d
mov qword [rbp - 0x58], rdx
mov dword [rsp + 0x50], edx
test ecx, 0xffff00
jbe 0x140005d23
mov qword [r11 + 0x10], rdi
mov qword [r11 + 0x18], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
movzx r14d, byte [rsp + 0x40]
mov qword [r11 - 0x28], r15
lea r15, [0x140000000]
nop dword [rax]
test ebx, ebx
js 0x140005cfb
mov edi, eax
lea rcx, [rbp - 0x80]
mov ebx, dword [r15 + rdi*8 + 0x5eddc4]
mov eax, dword [r15 + rdi*8 + 0x5eddc0]
and ebx, 0xfffffff
shr eax, 1
add rbx, r15
and eax, 0xfffffff
mov qword [rsp + 0x60], rbx
mov r8d, eax
mov rdx, rbx
mov r13d, eax
call fcn.140005e3c
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x140037d74
mov r9, qword [0x1405eddb8]
test esi, esi
je 0x140005d57
lea rax, [rdi*2 + 0x604504]
mov ecx, 0x800
add rax, r15
mov qword [rsp + 0x78], rax
test word [rax], cx
jne 0x140005cd9
mov esi, dword [r15 + rdi*8 + 0x5eddc4]
and esi, 0xfffffff
test r13, r13
je 0x140005c95
movzx eax, byte [r13 + rbx - 1]
mov r15d, r13d
mov byte [rsp + 0x40], al
mov r14d, esi
not r14d
and r15d, 7
je 0x140005dc4
movzx r10d, r9w
mov rdi, r9
shr rdi, 0x20
mov rax, r9
shr rax, 0x10
mov ecx, esi
movzx r11d, ax
sub ecx, edi
ror ecx, 5
mov eax, esi
imul ecx, r11d
mov ebx, edi
ror eax, 0xf
movzx edx, di
mov qword [rbp + 0xd0], r9
mov qword [rbp + 0xe8], r9
xor ecx, eax
mov qword [rbp - 0x40], r9
xor r14d, ecx
mov qword [rbp + 0xa0], r9
sub ebx, r14d
mov qword [rbp - 0x30], r9
ror ebx, 0x1f
mov eax, r14d
ror eax, 0xd
mov ecx, r11d
imul ebx, r10d
mov qword [rbp + 0x60], r9
mov qword [rbp - 0x20], r9
mov qword [rbp + 0xe0], r9
mov qword [rbp - 0x10], r9
add ebx, eax
mov qword [rbp + 0x70], r9
xor ebx, esi
mov qword [rbp], r9
xor ecx, ebx
mov qword [rbp + 0xb0], r9
rol ecx, 6
mov rax, r9
shr rax, 0x30
imul ecx, eax
mov r8d, eax
mov eax, ebx
mov qword [rbp + 0x10], r9
shr eax, 1
mov qword [rbp + 0x80], r9
mov qword [rbp + 0x20], r9
add ecx, eax
mov qword [rbp - 0x50], r9
xor r14d, ecx
mov eax, r14d
ror eax, 0xe
sub eax, edx
imul eax, r10d
xor ebx, eax
mov ecx, ebx
mov eax, ebx
sub ecx, edx
shr eax, 0xf
imul ecx, r11d
sub ecx, eax
xor r14d, ecx
mov ecx, r14d
mov eax, r14d
sub ecx, r11d
shr eax, 0xb
rol ecx, 2
imul ecx, r10d
xor ecx, eax
mov eax, r11d
xor ebx, ecx
xor eax, ebx
mov ecx, ebx
ror ecx, 0xa
imul eax, r8d
xor ecx, eax
xor r14d, ecx
mov ecx, r11d
xor ecx, r14d
mov eax, r14d
imul ecx, edx
shr eax, 0xa
mov edx, r15d
add ecx, eax
mov qword [rbp + 0x30], r9
xor ebx, ecx
mov qword [rbp + 0x90], r9
mov eax, ebx
mov qword [rbp + 0x40], r9
not eax
mov qword [rbp + 0xc0], r9
ror eax, 1
add eax, r11d
mov qword [rsp + 0x58], 0
imul eax, r8d
lea r8, [rsp + 0x58]
xor r14d, eax
xor edi, r14d
mov dword [rsp + 0x48], r14d
rol edi, 4
imul edi, r10d
shr r14d, 0xe
sub edi, r14d
xor ebx, edi
mov dword [rsp + 0x4c], ebx
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
sub r8, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [r8 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140005a40
mov eax, dword [rsp + 0x5c]
lea rdx, [rsp + 0x48]
xor dword [rsp + 0x4c], eax
lea rdx, [rdx + r15]
mov rcx, qword [rsp + 0x58]
mov eax, 8
xor dword [rsp + 0x48], ecx
sub rax, r15
je 0x140005a82
mov byte [rdx], 0
lea rdx, [rdx + 1]
sub rax, 1
jne 0x140005a75
lea rax, [rsp + 0x48]
mov r10, r12
sub r10, rax
lea rdx, [rsp + 0x48]
mov r8, r15
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [r10 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x140005aa0
mov esi, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x48]
shr r13, 3
lea rdx, [r15 + r12]
test r13, r13
je 0x140005c88
mov r11, r9
mov qword [rbp + 0x50], r9
mov r15, r9
shr r11, 0x30
mov qword [rbp - 0x48], r9
mov qword [rbp - 0x38], r9
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x18], r9
mov qword [rbp - 8], r9
mov qword [rbp + 8], r9
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x48], r9
mov qword [rbp + 0x58], r9
mov qword [rbp + 0x68], r9
mov qword [rbp + 0x78], r9
mov qword [rbp + 0x88], r9
mov qword [rbp + 0x98], r9
mov qword [rbp + 0xa8], r9
mov qword [rbp + 0xb8], r9
movzx r12d, r9w
mov qword [rbp + 0xc8], r9
mov qword [rbp + 0xd8], r9
shr r15, 0x20
shr r9, 0x10
sub rbx, qword [rsp + 0x70]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r11
mov rax, qword [rbx + rdx]
mov r10d, r15d
xor r14d, eax
movzx edi, r9w
xor r10d, r14d
movzx ebx, r11w
rol r10d, 4
mov r8, rax
imul r10d, r12d
shr r8, 0x20
xor esi, r8d
movzx r11d, r15w
mov r8d, r14d
shr r8d, 0xe
sub r10d, r8d
xor esi, r10d
mov r10d, edi
mov r8d, esi
not r8d
ror r8d, 1
add r8d, edi
imul r8d, ebx
xor r14d, r8d
xor r10d, r14d
mov r8d, r14d
imul r10d, r11d
shr r8d, 0xa
add r10d, r8d
mov r8d, edi
xor esi, r10d
xor r8d, esi
mov r10d, esi
ror r10d, 0xa
imul r8d, ebx
xor r10d, r8d
xor r14d, r10d
mov r10d, r14d
mov r8d, r14d
sub r10d, edi
shr r8d, 0xb
rol r10d, 2
imul r10d, r12d
xor r10d, r8d
xor esi, r10d
mov r10d, esi
mov r8d, esi
sub r10d, r11d
shr r8d, 0xf
imul r10d, edi
sub r10d, r8d
xor r14d, r10d
mov r10d, edi
mov r8d, r14d
ror r8d, 0xe
sub r8d, r11d
imul r8d, r12d
xor esi, r8d
xor r10d, esi
mov r8d, esi
rol r10d, 6
imul r10d, ebx
shr r8d, 1
add r10d, r8d
xor r14d, r10d
mov r10d, r15d
sub r10d, r14d
mov r8d, r14d
ror r10d, 0x1f
imul r10d, r12d
ror r8d, 0xd
add r10d, r8d
xor esi, r10d
mov r10d, esi
mov r8d, esi
sub r10d, r15d
ror r8d, 0xf
ror r10d, 5
imul r10d, edi
xor r10d, r8d
xor r10d, ecx
xor r14d, r10d
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
shr rcx, 0x20
mov dword [rdx], r14d
lea rdx, [rdx + 8]
xor esi, ecx
mov rcx, rax
mov dword [rdx - 4], esi
sub r13, 1
jne 0x140005b52
movzx r14d, byte [rsp + 0x40]
lea r15, [0x140000000]
mov r8, qword [rsp + 0x78]
mov edx, 0xf807
mov esi, dword [rsp + 0x68]
movzx ecx, r14b
shl cx, 3
movzx eax, word [r8]
and ax, dx
or cx, ax
mov eax, dword [rsp + 0x50]
mov edx, eax
mov word [r15 + rax*2 + 0x604504], cx
mov ecx, 0x800
movzx eax, word [r8]
or ax, cx
mov word [r15 + rdx*2 + 0x604504], ax
mov ebx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x50]
mov ecx, dword [0x1405eddb0]
inc eax
shr ecx, 8
movzx ecx, cx
mov dword [rsp + 0x50], eax
cmp eax, ecx
jb 0x140005810
mov r14, qword [rsp + 0x208]
mov r13, qword [rsp + 0x210]
mov r12, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x238]
mov r15, qword [rsp + 0x200]
lea rcx, [rbp - 0x80]
call fcn.140005dd4
mov rsi, qword [rsp + 0x230]
test eax, eax
je 0x140037d82
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.14001af10
add rsp, 0x218
pop rbx
pop rbp
ret
movzx ecx, word [r15 + rdi*2 + 0x604504]
mov eax, 0x800
test ax, cx
je 0x140005cd9
movzx eax, cl
mov r8, r13
not al
shr cx, 3
movzx edx, al
mov eax, dword [r15 + rdi*8 + 0x5eddc4]
shr edx, 2
and eax, 0xfffffff
and edx, 1
mov dword [rsp + 0x30], edx
mov rdx, r12
mov byte [rsp + 0x28], cl
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140005ed0
or word [r15 + rdi*2 + 0x604504], 4
mov ecx, 0xf7ff
and word [r15 + rdi*2 + 0x604504], cx
jmp 0x140005cd9
xor ecx, ecx
jmp 0x140005aba
mov ebx, 0x8007000e
mov dword [rsp + 0x44], ebx
jmp 0x140005cdd
call fcn.140108d08
nop
jmp 0x140005d3c