Function at 0x140005110
Capabilities:
Encode data using xor

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