Function at 0x42dcc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
test edx, edx
mov qword [rsp + 0x130], rcx
mov ecx, edx
jle 0x42e382
mov r11, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x130]
sub ecx, 1
mov rsi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x130]
mov rax, qword [rsp + 0x130]
mov r12, qword [rsp + 0x130]
mov rdx, qword [rbx + 0x28]
mov r10, qword [r11 + 8]
mov rdi, qword [rsi + 0x50]
mov r9, qword [rbp + 0x78]
mov r15, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x130]
mov r14, qword [r11 + 0xa0]
mov r11, qword [rsp + 0x130]
mov r13, qword [r12 + 0x30]
mov r8, qword [rax]
mov qword [rsp + 0x28], rdx
mov rax, qword [r15 + 0x58]
mov rdx, qword [rbx + 0x80]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x68], r9
mov rdi, qword [rsi + 0xa8]
mov r9, qword [rbp + 0x10]
mov qword [rsp + 8], r10
mov r10, qword [r11 + 0x38]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x38], r10
mov r12, qword [rsp + 0x130]
mov r15, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x130]
mov r10, qword [rsp + 0x130]
mov r13, qword [r12 + 0x60]
mov r9, qword [rsp + 0x130]
mov rax, qword [r15 + 0x88]
mov rsi, qword [rbx + 0x18]
mov rbp, qword [rdi + 0x40]
mov rdx, qword [rbx + 0xb0]
mov qword [rsp + 0x58], r13
mov r13, qword [rsp + 0x130]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x18], rsi
lea rsi, [0x00518bc0]
mov rbx, qword [rsp + 0x130]
mov r11, qword [r9 + 0x68]
mov r12, qword [r10 + 0x90]
mov r15, qword [r13 + 0x20]
lea rcx, [rsi + rcx*8 + 8]
mov qword [rsp + 0x40], rbp
mov r10, qword [rax + 0x48]
mov rbp, qword [rax + 0x70]
mov qword [rsp + 0x60], r11
mov rdi, qword [r13 + 0xb8]
mov r11, qword [rbx + 0x98]
mov r13, qword [rbx + 0xc0]
mov rbx, rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x80], r12
mov rcx, r8
mov qword [rsp + 0x20], r15
mov qword [rsp + 0xa0], rsi
mov r8, qword [rsp + 8]
xor r8, qword [rsp + 0x30]
xor r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x20]
xor r8, qword [rsp + 0x70]
mov r12, qword [rsp + 0x28]
xor r8, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x10]
xor rsi, qword [rsp + 0x38]
xor rdx, r10
mov r15, qword [rsp + 0x18]
xor rsi, qword [rsp + 0x58]
xor r15, qword [rsp + 0x40]
xor rdx, rbp
xor rsi, qword [rsp + 0x78]
xor r15, qword [rsp + 0x60]
xor r12, rcx
xor r15, qword [rsp + 0x80]
xor r12, qword [rsp + 0x48]
xor rdx, r11
mov r9, r8
xor rdx, r13
xor r12, qword [rsp + 0x68]
rol r9, 1
xor r9, rdx
xor rsi, rbx
rol rdx, 1
xor rcx, r9
xor r15, rdi
xor rdx, rsi
mov qword [rsp + 0x98], rcx
mov rcx, rsi
xor r12, r14
rol rcx, 1
mov rax, r15
xor rcx, r12
rol rax, 1
rol r12, 1
xor r8, rax
mov rax, r12
mov r12, qword [rsp + 0x30]
xor rax, r15
xor r12, rcx
ror r12, 0x14
xor r14, r9
xor rdi, rdx
rol r14, 0x12
ror rdi, 8
xor r10, rax
mov qword [rsp + 0xb0], r14
mov r14, qword [rsp + 0x10]
xor rbp, rax
mov qword [rsp + 0xc0], rdi
mov rdi, qword [rsp + 0x68]
xor r11, rax
rol r10, 0x14
ror rbp, 0x19
rol r11, 8
xor r14, r8
mov qword [rsp], r12
mov qword [rsp + 0x30], r10
ror r14, 2
xor rdi, r9
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0xb8], r14
mov r14, qword [rsp + 0x20]
ror rdi, 0x17
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xc8], rdi
xor rbx, r8
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0x58], r11
xor r10, r8
mov r11, qword [rsp + 0x88]
xor r14, rax
xor rax, r13
mov r13, qword [rsp + 0x40]
mov r15, r10
mov r10, qword [rsp + 0x18]
xor rbp, rdx
ror rbx, 3
rol rax, 0xe
xor r11, rcx
rol rbp, 0x19
ror r15, 0x15
xor r13, rdx
rol r11, 2
rol r14, 0x1b
ror r13, 9
mov qword [rsp + 0xd0], r11
mov r11, qword [rsp + 0x28]
mov qword [rsp + 0x88], r13
mov r13, qword [rsp + 0x70]
mov r12, r15
not r12
mov qword [rsp + 0x90], r15
mov rdi, qword [rsp + 0x50]
xor r11, r9
mov rsi, qword [rsp + 0x78]
xor r13, rcx
ror r13, 0x13
ror r11, 0x1c
xor r10, rdx
xor rdx, qword [rsp + 0x80]
xor rdi, rcx
xor rcx, qword [rsp + 8]
xor r9, qword [rsp + 0x48]
rol r10, 0x1c
xor rsi, r8
xor r8, qword [rsp + 0x38]
rol rsi, 0xf
rol rdi, 0xa
rol rdx, 0x15
rol rcx, 1
and r12, rdx
rol r9, 3
mov r15, r12
xor r15, qword [rsp]
rol r8, 6
mov qword [rsp + 8], r15
mov r15, rdx
not r15
mov r12, r15
and r12, rax
mov r15, r12
xor r15, qword [rsp + 0x90]
mov qword [rsp + 0x10], r15
mov r15, rax
not r15
mov r12, r15
and r12, qword [rsp + 0x98]
mov r15, r12
xor r15, rdx
mov qword [rsp + 0x18], r15
mov r15, qword [rsp + 0x98]
mov r12, r15
not r12
and r12, qword [rsp]
mov rdx, r12
mov r12, qword [rsp + 0x30]
xor rdx, rax
mov qword [rsp + 0x20], rdx
mov rdx, r9
mov rax, r12
not rdx
not rax
and rdx, r13
and rax, r9
xor rdx, r12
xor rax, r10
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, r13
not rax
and rax, rbx
xor rax, r9
mov r9, rbx
not r9
mov qword [rsp + 0x38], rax
mov rax, rdx
and r9, r10
not r10
not rax
xor r9, r13
and r10, r12
mov r13, qword [rsp + 0xb0]
xor r10, rbx
mov r12, rbp
mov rbx, r8
not rbx
not r12
mov qword [rsp + 0x40], r9
and rbx, rbp
and r12, rdx
and rax, r13
xor rbx, rcx
xor r12, r8
xor rax, rbp
mov r9, r13
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r12
not r9
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0xc0]
and r9, rcx
mov r12, rsi
not rcx
and rcx, r8
mov rbp, r9
mov r8, r11
not r12
xor rbp, rdx
not r8
and r12, rbx
and r8, rdi
mov qword [rsp + 0x60], rbp
xor r12, rdi
mov rbp, r13
mov r13, rdi
mov rdi, rbx
not r13
xor r8, r14
not rdi
mov rdx, r13
mov qword [rsp + 0x68], r8
and rdi, r14
and rdx, rsi
mov r8, qword [rsp + 0x88]
xor rdi, rsi
mov rsi, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd0]
xor rbp, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0xc8]
xor rcx, r11
not r14
mov qword [rsp + 0x80], rdi
mov r9, rsi
and r11, r14
mov qword [rsp + 0x70], rcx
mov r14, r8
mov rcx, qword [rsp + 0xb8]
not r9
and r9, rdx
not r14
mov rdi, rax
xor r9, r8
and r14, rsi
not rdi
and rdi, rcx
xor r11, rbx
xor r14, rcx
mov r13, rcx
mov qword [rsp + 0x88], r9
mov rcx, r15
mov r9, qword [rsp + 0xa0]
mov rbx, rdx
mov r15, qword [rsp]
not rbx
not r13
xor rdi, rdx
and rbx, rax
and r13, r8
mov qword [rsp + 0x78], r12
xor rcx, qword [r9]
xor rbx, rsi
xor r13, rax
not r15
and r15, qword [rsp + 0x90]
add r9, 8
mov qword [rsp + 0xa0], r9
xor rcx, r15
cmp qword [rsp + 0xd8], r9
jne 0x42de85
mov r12, r10
mov rdx, qword [rsp + 8]
mov r8, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, rbx
mov rax, rcx
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], r8
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x28], rcx
mov qword [rbx + 0x48], r12
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x38], rdx
mov qword [rbx + 0x40], r8
mov qword [rbx + 0x70], rbp
mov rbp, rbx
mov qword [rbx + 0x50], r12
mov qword [rbx + 0x58], rsi
mov qword [rbx + 0x60], r9
mov qword [rbx + 0x68], rcx
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], rdx
mov r8, qword [rsp + 0x80]
mov qword [rbp + 0x98], r11
mov r11, qword [rsp + 0x88]
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xb0], r10
mov qword [rbp + 0x90], r8
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0xa8], r11
mov qword [rbp + 0xc0], r13
mov qword [rbp], rax
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret