Function at 0x41ad50
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
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov rbp, rcx
mov rcx, qword [rcx + 0x18]
mov rbx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
mov r10, qword [rbp + 0x50]
mov r13, qword [rbp + 0x68]
mov r11, qword [rbp + 0x58]
mov r12, qword [rbp + 0x60]
mov r15, qword [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x50], rdx
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x80]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x78], r9
mov r14, qword [rbp + 0x48]
lea r9, [0x004ad680]
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], rcx
mov rdi, qword [rbp + 0xa8]
mov rbx, qword [rbp + 0x90]
mov r8, qword [rbp]
mov rsi, qword [rbp + 0x98]
mov r10, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xb0]
mov qword [rsp + 0x48], rdi
mov r13, qword [rbp + 0xc0]
mov rdi, qword [rbp + 0xb8]
mov qword [rsp + 0x130], rbp
mov rcx, r8
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xb0], r9
mov rbp, rsi
nop dword [rax + rax]
mov r12, qword [rsp + 0x70]
xor r12, qword [rsp + 0x78]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x80]
xor r8, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x90]
xor r8, qword [rsp + 0x38]
mov r11, qword [rsp + 0x10]
xor r8, qword [rsp + 0x40]
xor r9, r12
xor r9, qword [rsp + 0x88]
xor r8, qword [rsp + 0x48]
xor rbx, r14
xor rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x50]
xor r15, qword [rsp + 0x58]
xor r11, rcx
xor r15, qword [rsp + 0x60]
xor r11, qword [rsp + 0x18]
xor r15, qword [rsp + 0x68]
mov r12, r9
xor r11, qword [rsp + 0x20]
xor rbx, rbp
mov r9, r8
xor r12, rdi
xor rbx, r13
rol r9, 1
mov rax, r12
xor r9, rbx
rol rax, 1
xor r15, rdx
xor rcx, r9
xor r11, r10
mov qword [rsp + 0xa8], rcx
mov rcx, r15
xor r8, rax
rol rcx, 1
mov rax, rbx
xor rcx, r11
rol r11, 1
rol rax, 1
mov rbx, r11
mov r11, qword [rsp + 0x30]
xor rax, r15
xor rbx, r12
mov r12, qword [rsp + 0x80]
xor r11, rcx
mov rsi, r11
ror rsi, 0x14
xor r10, r9
xor rbp, rbx
mov qword [rsp + 8], rsi
mov rsi, qword [rsp + 0x98]
rol r10, 0x12
rol rbp, 8
mov qword [rsp + 0x98], r10
mov r10, qword [rsp + 0x50]
xor rdi, rax
xor r14, rbx
xor r13, rbx
xor rsi, rbx
ror rdi, 8
xor rdx, r8
mov r15, rsi
xor r10, r8
mov qword [rsp + 0xc8], rdi
ror r15, 0x19
ror r10, 2
xor r12, rax
mov qword [rsp + 0xb8], r15
mov r15, qword [rsp + 0x60]
ror rdx, 3
mov qword [rsp + 0x60], rbp
mov rbp, qword [rsp + 0x20]
rol r12, 0x19
mov qword [rsp + 0xc0], r10
rol r13, 0xe
rol r14, 0x14
xor r15, r8
xor rbp, r9
ror r15, 0x15
ror rbp, 0x17
mov qword [rsp + 0xd0], rbp
mov rdi, qword [rsp + 0x90]
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x70]
mov rbp, qword [rsp + 8]
mov qword [rsp + 0xa0], r15
not r15
xor rdi, rbx
mov rbx, qword [rsp + 0x48]
xor r11, rax
rol rdi, 0x1b
mov qword [rsp + 0x20], rdi
mov rsi, r11
mov rdi, qword [rsp + 0x40]
mov r11, qword [rsp + 0x10]
xor rbx, rcx
ror rsi, 9
rol rbx, 2
mov qword [rsp + 0x48], rsi
mov rsi, qword [rsp + 0x38]
xor rdi, rcx
mov qword [rsp + 0xd8], rbx
mov rbx, qword [rsp + 0x68]
xor r11, r9
ror rdi, 0x13
ror r11, 0x1c
xor r10, rax
xor rax, qword [rsp + 0x88]
xor rsi, rcx
xor rcx, qword [rsp + 0x28]
xor r9, qword [rsp + 0x18]
rol r10, 0x1c
xor rbx, r8
xor r8, qword [rsp + 0x58]
rol rbx, 0xf
rol rsi, 0xa
rol rax, 0x15
and r15, rax
rol r9, 3
rol rcx, 1
xor rbp, r15
mov r15, rax
rol r8, 6
mov qword [rsp + 0x28], rbp
mov rbp, qword [rsp + 0xa0]
not r15
and r15, r13
xor rbp, r15
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rbp
mov rbp, r13
not rbp
and r15, rbp
xor r15, rax
mov qword [rsp + 0x70], r15
mov r15, qword [rsp + 0xa8]
mov rbp, r15
not rbp
and rbp, qword [rsp + 8]
mov rax, rbp
xor rax, r13
mov qword [rsp + 0x90], rax
mov rax, r14
not rax
mov rbp, rax
mov rax, r9
and rbp, r9
not rax
mov r13, rbp
mov rbp, rax
mov rax, rdi
xor r13, r10
and rbp, rdi
not rax
mov qword [rsp + 0x10], r13
mov r13, rbp
mov rbp, rax
mov rax, rdx
xor r13, r14
and rbp, rdx
not rax
mov qword [rsp + 0x30], r13
mov r13, rbp
mov rbp, rax
xor r13, r9
mov rax, r12
and rbp, r10
not r10
not rax
mov r9, rbp
and r14, r10
mov rbp, rax
xor r9, rdi
mov rdi, qword [rsp + 0x60]
xor r14, rdx
mov rdx, r8
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x58], r13
not rdx
and rbp, rdi
and rdx, r12
mov rax, rdi
mov r10, rbp
xor rdx, rcx
not rax
xor r10, r8
mov qword [rsp + 0x18], rdx
mov rbp, rax
mov qword [rsp + 0x38], r10
mov r13, qword [rsp + 0x98]
mov r10, r11
not r10
mov rax, rbx
mov rdx, r10
not rax
and rbp, r13
and rdx, rsi
mov r9, rbp
mov rbp, qword [rsp + 0x20]
xor r9, r12
mov r12, r13
not r12
mov qword [rsp + 0x60], r9
and r12, rcx
not rcx
xor r12, rdi
and rcx, r8
mov rdi, rsi
xor rcx, r13
not rdi
mov r13, qword [rsp + 0xc8]
mov r8, rdx
mov rdx, rdi
mov qword [rsp + 0x98], rcx
and rdx, rbx
xor r8, rbp
mov qword [rsp + 0x80], r12
mov rcx, rdx
mov rdx, rax
mov rax, r13
and rdx, r13
not rax
xor rcx, r11
mov r9, rdx
mov rdx, rax
mov r12, qword [rsp + 0xb8]
and rdx, rbp
not rbp
xor r9, rsi
and rbp, r11
mov r11, qword [rsp + 0x48]
mov qword [rsp + 0x68], r9
mov r9, qword [rsp + 0xd8]
mov qword [rsp + 0x40], rcx
mov rsi, rdx
mov rcx, qword [rsp + 0xc0]
xor rsi, rbx
mov rbx, qword [rsp + 0xd0]
mov r10, r11
mov qword [rsp + 0x88], rsi
mov rsi, qword [rsp + 0xb0]
not r10
mov rdi, r9
xor rbp, r13
and r10, r12
not rdi
mov qword [rsp + 0x20], r8
and rdi, rcx
xor r10, rcx
not rcx
mov r13, rcx
mov rcx, qword [rsp + 8]
mov rax, qword [rsi]
mov r8, r12
mov rdx, rbx
and r13, r11
not r8
not rdx
xor rdi, rbx
not rcx
and rcx, qword [rsp + 0xa0]
and r8, rbx
and rdx, r9
xor r8, r11
xor r13, r9
xor rdx, r12
xor rax, r15
lea r15, [0x004ad740]
add rsi, 8
mov qword [rsp + 0x48], r8
xor rcx, rax
cmp rsi, r15
mov qword [rsp + 0xb0], rsi
jne 0x41ae70
mov r11, rbp
mov rbp, qword [rsp + 0x130]
mov r12, qword [rsp + 0x10]
mov r8, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov qword [rbp + 0xa0], r10
mov r10, qword [rsp + 0x28]
mov qword [rbp], rcx
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x78], rbx
mov qword [rbp + 8], r10
mov rax, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov qword [rbp + 0xb0], rdx
mov r10, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x80], rax
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x40], r10
mov r9, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0x48], r14
mov rdi, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov qword [rbp + 0x68], r9
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], r11
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x70], r14
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret