Function at 0x521bc0
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
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x120], rcx
mov rbx, qword [rsp + 0x120]
mov qword [rsp + 0x130], r8
mov rcx, qword [rcx + 0x18]
mov r13, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x30]
mov qword [rsp + 0xc8], rax
add rax, r9
mov r12, qword [rbx + 0x38]
mov r14, qword [rbx + 0x40]
mov qword [rsp + 0x28], rcx
mov r8, qword [rbx + 0x48]
mov rbx, qword [rbx + 0x50]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x18], rbx
mov rbx, qword [rsp + 0x120]
mov rcx, qword [rcx + 0x20]
shl rax, 6
mov qword [rsp + 0x138], r9
mov r15, qword [rbx + 0x58]
add rax, rdx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r15
nop
mov rcx, qword [rsp + 8]
xor rcx, qword [rsp + 0x10]
movabs rax, 0x1bd11bdaa9fc1a22
mov rsi, rcx
mov rdi, qword [rsp + 0x18]
mov r10, qword [rsp + 0x28]
xor rsi, r13
mov rcx, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x128]
xor rsi, rbp
mov r9, qword [rsp + 0x128]
mov r15, r10
add r10, rdi
xor rsi, r12
mov rdx, qword [rcx]
mov r11, qword [rcx + 8]
xor rsi, r14
mov rcx, qword [rcx + 0x10]
mov rbx, qword [rbx + 0x20]
xor rsi, r8
mov r9, qword [r9 + 0x18]
mov qword [rsp + 0xa8], rdx
xor rsi, rdi
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x128]
xor rsi, rax
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x128]
mov rcx, qword [rcx + 0x28]
xor r15, rax
add rax, r8
mov qword [rsp + 0x60], r9
mov rbx, qword [rsi + 0x30]
mov rsi, qword [rsi + 0x38]
lea r9, [r11 + r13]
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0xb8], rcx
add rcx, rax
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x70], rbx
mov rbx, qword [rsp + 8]
mov qword [rsp + 0x78], rsi
add r11, r14
lea rsi, [rdx + rbx]
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x58]
mov rax, rcx
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
add rsi, r9
add r11, rax
mov qword [rsp + 0x38], r10
ror r9, 0x12
add rbx, rbp
rol rax, 0x13
add rcx, r10
mov rdi, qword [rsp + 0x78]
add rdx, r12
xor r9, rsi
mov r10, rcx
mov rcx, qword [rsp + 0x10]
add rbx, rdx
ror rdx, 0x1c
xor rdx, rbx
xor rax, r11
add rbx, r9
ror r9, 0x1f
add rdi, rcx
mov qword [rsp + 0x48], r15
add qword [rsp + 0x128], 0x40
add r10, rdi
ror rdi, 0x1b
xor rdi, r10
xor r9, rbx
add r10, rax
rol rax, 0xe
add r11, rdi
rol rdi, 0x1b
xor rax, r10
add rsi, rdx
xor rdi, r11
ror rdx, 0x16
add r11, r9
xor rdx, rsi
add rbx, rdi
add rsi, rax
rol r9, 0x11
ror rax, 0x1c
ror rdi, 0x19
xor r9, r11
add r10, rdx
xor rax, rsi
xor rdi, rbx
ror rdx, 0xf
add rsi, rdi
add rbx, rax
xor rdx, r10
rol rdi, 9
add r10, r9
ror rax, 0xa
xor rdi, rsi
add r11, rdx
ror r9, 0x14
xor rax, rbx
xor r9, r10
ror rdx, 8
add r15, rcx
mov rcx, qword [rsp + 0x20]
add r9, rbp
add rax, qword [rsp + 0x38]
xor rdx, r11
add rsi, r13
add r11, r8
add r10, r15
lea rdi, [rcx + rdi + 1]
add rdx, r14
add rsi, r9
add r11, rax
add r10, rdi
add rbx, r12
ror r9, 0x19
ror rax, 0x1e
add rbx, rdx
mov qword [rsp + 0x50], r15
rol rdi, 0x18
xor r9, rsi
xor rax, r11
rol rdx, 0x1e
xor rdi, r10
xor rdx, rbx
add r10, rax
add rbx, r9
add r11, rdi
rol r9, 0xd
add rsi, rdx
mov r15, rcx
ror rdi, 0xe
rol rax, 0xa
xor r9, rbx
xor rdi, r11
xor rax, r10
rol rdx, 0x11
add r11, r9
xor rdx, rsi
rol r9, 0x19
add rsi, rax
add rbx, rdi
ror rax, 0x19
add r10, rdx
rol rdx, 0x1d
xor r9, r11
xor rdx, r10
ror rdi, 0x15
xor rax, rsi
add r10, r9
xor rdi, rbx
add r11, rdx
rol r9, 8
add rbx, rax
rol rdx, 0x16
add rsi, rdi
xor r9, r10
ror rdi, 0x1d
xor rdx, r11
ror rax, 8
add r9, r12
xor rdi, rsi
add rdx, r8
xor rax, rbx
add rsi, rbp
add rax, qword [rsp + 0x50]
add rbx, r14
add r11, qword [rsp + 0x18]
add r15, qword [rsp + 0x30]
add rsi, r9
mov rcx, r15
add r10, r15
mov r15, qword [rsp + 8]
add rbx, rdx
ror r9, 0x12
ror rdx, 0x1c
add r11, rax
mov qword [rsp + 0x80], rcx
lea rdi, [r15 + rdi + 2]
xor r9, rsi
xor rdx, rbx
rol rax, 0x13
add r10, rdi
ror rdi, 0x1b
xor rax, r11
add rbx, r9
xor rdi, r10
add rsi, rdx
ror r9, 0x1f
add r10, rax
ror rdx, 0x16
xor r9, rbx
add r11, rdi
rol rax, 0xe
xor rdx, rsi
rol rdi, 0x1b
xor rax, r10
mov r15, qword [rsp + 0x28]
xor rdi, r11
add r10, rdx
add r11, r9
ror rdx, 0xf
rol r9, 0x11
xor rdx, r10
xor r9, r11
add rsi, rax
add rbx, rdi
ror rax, 0x1c
ror rdi, 0x19
xor rax, rsi
add r10, r9
ror r9, 0x14
xor rdi, rbx
add r11, rdx
add rbx, rax
xor r9, r10
add rsi, rdi
ror rax, 0xa
add r15, qword [rsp + 8]
add r9, r14
rol rdi, 9
ror rdx, 8
xor rax, rbx
add rbx, r8
xor rdi, rsi
xor rdx, r11
add rsi, r12
add rdx, qword [rsp + 0x18]
add rsi, r9
add rbx, rdx
add rax, rcx
add r10, r15
lea rdi, [r13 + rdi + 3]
add r11, qword [rsp + 0x10]
ror r9, 0x19
mov qword [rsp + 0x88], r15
rol rdx, 0x1e
xor r9, rsi
xor rdx, rbx
add r11, rax
add r10, rdi
ror rax, 0x1e
rol rdi, 0x18
xor rax, r11
add rbx, r9
rol r9, 0xd
xor rdi, r10
xor r9, rbx
add r10, rax
add rsi, rdx
rol rax, 0xa
add r11, rdi
rol rdx, 0x11
ror rdi, 0xe
xor rax, r10
xor rdx, rsi
xor rdi, r11
add r11, r9
rol r9, 0x19
add r10, rdx
xor r9, r11
add rsi, rax
rol rdx, 0x1d
add rbx, rdi
ror rax, 0x19
xor rdx, r10
ror rdi, 0x15
add r10, r9
xor rax, rsi
rol r9, 8
xor rdi, rbx
xor r9, r10
add rbx, rax
ror rax, 8
add rsi, rdi
xor rax, rbx
ror rdi, 0x1d
add r11, rdx
add r9, r8
add rax, r15
mov r15, qword [rsp + 0x48]
xor rdi, rsi
rol rdx, 0x16
add rsi, r14
xor rdx, r11
add rbx, qword [rsp + 0x18]
add rdx, qword [rsp + 0x10]
add r15, r13
add rsi, r9
add r11, qword [rsp + 0x20]
ror r9, 0x12
xor r9, rsi
add rbx, rdx
add r11, rax
add r10, r15
lea rdi, [rbp + rdi + 4]
ror rdx, 0x1c
rol rax, 0x13
mov qword [rsp + 0x90], r15
xor rdx, rbx
xor rax, r11
add r10, rdi
add rbx, r9
ror rdi, 0x1b
ror r9, 0x1f
xor rdi, r10
xor r9, rbx
add r10, rax
rol rax, 0xe
add r11, rdi
xor rax, r10
add rsi, rdx
rol rdi, 0x1b
ror rdx, 0x16
xor rdi, r11
add r11, r9
rol r9, 0x11
xor rdx, rsi
add rsi, rax
ror rax, 0x1c
add rbx, rdi
xor rax, rsi
ror rdi, 0x19
xor r9, r11
add r10, rdx
xor rdi, rbx
ror rdx, 0xf
add rbx, rax
ror rax, 0xa
add rsi, rdi
xor rdx, r10
rol rdi, 9
add r10, r9
xor rax, rbx
ror r9, 0x14
xor rdi, rsi
xor r9, r10
add r11, rdx
ror rdx, 8
add rax, r15
mov r15, qword [rsp + 0x30]
add r9, qword [rsp + 0x18]
xor rdx, r11
add rsi, r8
add r11, qword [rsp + 8]
lea rdi, [r12 + rdi + 5]
add rdx, qword [rsp + 0x20]
add rsi, r9
add r15, rbp
add r11, rax
add rbx, qword [rsp + 0x10]
ror r9, 0x19
add r10, r15
ror rax, 0x1e
xor r9, rsi
add rbx, rdx
add r10, rdi
rol rdi, 0x18
xor rax, r11
xor rdi, r10
rol rdx, 0x1e
add r10, rax
add r11, rdi
xor rdx, rbx
ror rdi, 0xe
add rbx, r9
rol rax, 0xa
rol r9, 0xd
xor rdi, r11
add rsi, rdx
xor r9, rbx
xor rax, r10
rol rdx, 0x11
add rbx, rdi
xor rdx, rsi
add rsi, rax
ror rax, 0x19
add r11, r9
ror rdi, 0x15
xor rax, rsi
rol r9, 0x19
add r10, rdx
xor r9, r11
xor rdi, rbx
rol rdx, 0x1d
add rbx, rax
ror rax, 8
xor rdx, r10
add rsi, rdi
add r10, r9
ror rdi, 0x1d
xor rax, rbx
rol r9, 8
add r11, rdx
add rax, r15
xor r9, r10
xor rdi, rsi
add r9, qword [rsp + 0x10]
add rsi, qword [rsp + 0x18]
add rbx, qword [rsp + 0x20]
rol rdx, 0x16
mov qword [rsp + 0x98], r15
mov r15, qword [rsp + 0x28]
xor rdx, r11
add r11, r13
add rdx, qword [rsp + 8]
lea rdi, [r14 + rdi + 6]
mov rcx, qword [rsp + 0x40]
add r15, r12
add rsi, r9
add rbx, rdx
ror r9, 0x12
add r10, r15
ror rdx, 0x1c
xor r9, rsi
add r11, rax
xor rdx, rbx
add r10, rdi
rol rax, 0x13
add rbx, r9
ror rdi, 0x1b
xor rax, r11
add rsi, rdx
ror r9, 0x1f
xor rdi, r10
ror rdx, 0x16
xor r9, rbx
add r10, rax
add r11, rdi
xor rdx, rsi
rol rdi, 0x1b
mov qword [rsp + 0xa0], r15
rol rax, 0xe
xor rdi, r11
add r11, r9
rol r9, 0x11
xor rax, r10
add r10, rdx
ror rdx, 0xf
xor r9, r11
xor rdx, r10
add rsi, rax
ror rax, 0x1c
add rbx, rdi
xor rax, rsi
ror rdi, 0x19
add r11, rdx
add r10, r9
ror rdx, 8
xor rdi, rbx
add rbx, rax
ror rax, 0xa
xor rax, rbx
add rsi, rdi
xor rdx, r11
ror r9, 0x14
add rax, r15
mov r15, qword [rsp + 0x48]
rol rdi, 9
add rdx, r13
xor r9, r10
xor rdi, rsi
add r9, qword [rsp + 0x20]
add rsi, qword [rsp + 0x10]
add r15, r14
add rbx, qword [rsp + 8]
add rsi, r9
add r11, rbp
add rbx, rdx
add r10, r15
lea rdi, [r8 + rdi + 7]
ror r9, 0x19
rol rdx, 0x1e
xor r9, rsi
mov qword [rsp + 0x48], r15
xor rdx, rbx
add r11, rax
add r10, rdi
ror rax, 0x1e
rol rdi, 0x18
xor rax, r11
add rbx, r9
rol r9, 0xd
xor rdi, r10
xor r9, rbx
add r10, rax
add rsi, rdx
rol rax, 0xa
add r11, rdi
rol rdx, 0x11
ror rdi, 0xe
xor rax, r10
xor rdx, rsi
xor rdi, r11
add r11, r9
rol r9, 0x19
add r10, rdx
xor r9, r11
add rsi, rax
rol rdx, 0x1d
add rbx, rdi
ror rax, 0x19
xor rdx, r10
ror rdi, 0x15
add r10, r9
xor rax, rsi
rol r9, 8
xor rdi, rbx
xor r9, r10
add rbx, rax
ror rax, 8
add rsi, rdi
xor rax, rbx
add r11, rdx
ror rdi, 0x1d
add r9, qword [rsp + 8]
add rax, r15
rol rdx, 0x16
mov r15, qword [rsp + 0x18]
xor rdi, rsi
xor rdx, r11
add rsi, qword [rsp + 0x20]
add rbx, r13
add r11, r12
add rdx, rbp
add rsi, r9
add r10, rcx
ror r9, 0x12
lea rdi, [r15 + rdi + 8]
xor r9, rsi
add rbx, rdx
add r11, rax
ror rdx, 0x1c
add r10, rdi
rol rax, 0x13
mov r15, qword [rsp + 0x38]
ror rdi, 0x1b
xor rdx, rbx
xor rax, r11
add rbx, r9
xor rdi, r10
ror r9, 0x1f
xor r9, rbx
add r11, rdi
add r10, rax
rol rax, 0xe
xor rax, r10
add rsi, rdx
rol rdi, 0x1b
ror rdx, 0x16
xor rdi, r11
add r11, r9
rol r9, 0x11
xor rdx, rsi
add rsi, rax
ror rax, 0x1c
add rbx, rdi
add r10, rdx
xor rax, rsi
ror rdx, 0xf
xor r9, r11
ror rdi, 0x19
xor rdx, r10
add r10, r9
ror r9, 0x14
xor rdi, rbx
add rbx, rax
ror rax, 0xa
add r11, rdx
add rsi, rdi
xor rax, rbx
rol rdi, 9
xor r9, r10
ror rdx, 8
xor rdi, rsi
xor rdx, r11
add rax, rcx
mov rcx, qword [rsp + 0x10]
add r9, r13
add rsi, qword [rsp + 8]
add r11, r14
add rdx, r12
add rbx, rbp
add rsi, r9
add r11, rax
add r10, r15
ror r9, 0x19
lea rdi, [rcx + rdi + 9]
ror rax, 0x1e
xor r9, rsi
add rbx, rdx
xor rax, r11
add r10, rdi
rol rdx, 0x1e
mov rcx, qword [rsp + 0x50]
rol rdi, 0x18
xor rdx, rbx
add rbx, r9
rol r9, 0xd
xor rdi, r10
add r10, rax
rol rax, 0xa
add rsi, rdx
xor rax, r10
xor r9, rbx
add r11, rdi
rol rdx, 0x11
ror rdi, 0xe
xor rdx, rsi
xor rdi, r11
add r11, r9
add rsi, rax
ror rax, 0x19
add r10, rdx
xor rax, rsi
add rbx, rdi
rol r9, 0x19
rol rdx, 0x1d
ror rdi, 0x15
xor r9, r11
xor rdx, r10
xor rdi, rbx
add rbx, rax
ror rax, 8
add r10, r9
add r11, rdx
xor rax, rbx
rol r9, 8
rol rdx, 0x16
add rsi, rdi
add rax, r15
xor r9, r10
mov r15, qword [rsp + 0x20]
xor rdx, r11
ror rdi, 0x1d
add r9, rbp
add rdx, r14
xor rdi, rsi
add rbx, r12
add rsi, r13
add r11, r8
add r10, rcx
lea rdi, [r15 + rdi + 0xa]
add rsi, r9
ror r9, 0x12
add rbx, rdx
add r11, rax
ror rdx, 0x1c
rol rax, 0x13
xor r9, rsi
xor rdx, rbx
add r10, rdi
xor rax, r11
ror rdi, 0x1b
add rsi, rdx
add rbx, r9
ror rdx, 0x16
xor rdi, r10
ror r9, 0x1f
add r10, rax
rol rax, 0xe
add r11, rdi
xor rdx, rsi
xor r9, rbx
xor rax, r10
rol rdi, 0x1b
add r10, rdx
mov r15, qword [rsp + 8]
add rsi, rax
xor rdi, r11
ror rdx, 0xf
add r11, r9
ror rax, 0x1c
rol r9, 0x11
xor rdx, r10
xor r9, r11
xor rax, rsi
add rbx, rdi
ror rdi, 0x19
xor rdi, rbx
add rbx, rax
ror rax, 0xa
add r10, r9
add r11, rdx
xor rax, rbx
ror r9, 0x14
add rsi, rdi
ror rdx, 8
add rax, rcx
xor r9, r10
rol rdi, 9
xor rdx, r11
add r9, r12
xor rdi, rsi
add rbx, r14
add rdx, r8
add rsi, rbp
lea rdi, [r15 + rdi + 0xb]
add r11, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x80]
add rsi, r9
add rbx, rdx
add r11, rax
ror r9, 0x19
rol rdx, 0x1e
add r10, rcx
ror rax, 0x1e
xor r9, rsi
xor rdx, rbx
xor rax, r11
add r10, rdi
rol rdi, 0x18
add rbx, r9
xor rdi, r10
rol r9, 0xd
add r10, rax
add rsi, rdx
rol rax, 0xa
add r11, rdi
ror rdi, 0xe
xor r9, rbx
xor rdi, r11
rol rdx, 0x11
xor rax, r10
add r11, r9
xor rdx, rsi
add rbx, rdi
rol r9, 0x19
add rsi, rax
ror rdi, 0x15
xor r9, r11
add r10, rdx
ror rax, 0x19
xor rdi, rbx
rol rdx, 0x1d
xor rax, rsi
xor rdx, r10
add rsi, rdi
add r10, r9
ror rdi, 0x1d
rol r9, 8
xor rdi, rsi
xor r9, r10
add rbx, rax
ror rax, 8
add r11, rdx
xor rax, rbx
add r9, r14
add rsi, r12
rol rdx, 0x16
add rax, rcx
lea rdi, [r13 + rdi + 0xc]
add rsi, r9
xor rdx, r11
mov rcx, qword [rsp + 0x88]
add rdx, qword [rsp + 0x18]
add rbx, r8
ror r9, 0x12
add r11, qword [rsp + 0x10]
xor r9, rsi
add rbx, rdx
ror rdx, 0x1c
add r10, rcx
add r11, rax
rol rax, 0x13
xor rdx, rbx
add r10, rdi
ror rdi, 0x1b
add rbx, r9
xor rax, r11
xor rdi, r10
ror r9, 0x1f
add r10, rax
add r11, rdi
rol rdi, 0x1b
xor r9, rbx
xor rdi, r11
rol rax, 0xe
add rsi, rdx
add r11, r9
ror rdx, 0x16
xor rax, r10
rol r9, 0x11
add rbx, rdi
xor rdx, rsi
add rsi, rax
ror rax, 0x1c
xor r9, r11
add r10, rdx
xor rax, rsi
ror rdx, 0xf
ror rdi, 0x19
xor rdx, r10
add r10, r9
ror r9, 0x14
xor rdi, rbx
add rbx, rax
ror rax, 0xa
add r11, rdx
add rsi, rdi
xor r9, r10
xor rax, rbx
rol rdi, 9
ror rdx, 8
add r9, r8
xor rdi, rsi
add rbx, qword [rsp + 0x18]
add rsi, r14
xor rdx, r11
lea rdi, [rbp + rdi + 0xd]
add rdx, qword [rsp + 0x10]
add rax, rcx
add rsi, r9
add r11, qword [rsp + 0x20]
ror r9, 0x19
mov rcx, qword [rsp + 0x90]
xor r9, rsi
add rbx, rdx
add r11, rax
rol rdx, 0x1e
ror rax, 0x1e
add r10, rcx
xor rdx, rbx
xor rax, r11
add rbx, r9
add r10, rdi
rol rdi, 0x18
add rsi, rdx
rol r9, 0xd
xor rdi, r10
rol rdx, 0x11
add r10, rax
xor r9, rbx
add r11, rdi
rol rax, 0xa
xor rdx, rsi
ror rdi, 0xe
xor rax, r10
add r10, rdx
xor rdi, r11
add r11, r9
rol r9, 0x19
xor r9, r11
rol rdx, 0x1d
add rsi, rax
add rbx, rdi
ror rax, 0x19
ror rdi, 0x15
xor rdx, r10
add r10, r9
xor rax, rsi
xor rdi, rbx
add r11, rdx
rol r9, 8
add rbx, rax
ror rax, 8
add rsi, rdi
xor r9, r10
ror rdi, 0x1d
xor rax, rbx
rol rdx, 0x16
add r9, qword [rsp + 0x18]
add rax, rcx
xor rdi, rsi
xor rdx, r11
add rsi, r8
add rdx, qword [rsp + 0x20]
add rbx, qword [rsp + 0x10]
add rsi, r9
ror r9, 0x12
add r11, qword [rsp + 8]
add rbx, rdx
ror rdx, 0x1c
xor r9, rsi
mov rcx, qword [rsp + 0x98]
lea rdi, [r12 + rdi + 0xe]
mov r15, qword [rsp + 0x18]
add r10, rcx
xor rdx, rbx
add r11, rax
rol rax, 0x13
xor rax, r11
add r10, rdi
ror rdi, 0x1b
add rbx, r9
xor rdi, r10
ror r9, 0x1f
add r10, rax
add rsi, rdx
rol rax, 0xe
xor r9, rbx
add r11, rdi
ror rdx, 0x16
xor rax, r10
rol rdi, 0x1b
xor rdx, rsi
xor rdi, r11
add rsi, rax
add r11, r9
ror rax, 0x1c
rol r9, 0x11
add r10, rdx
xor rax, rsi
add rbx, rdi
ror rdx, 0xf
xor r9, r11
ror rdi, 0x19
xor rdx, r10
xor rdi, rbx
add r10, r9
ror r9, 0x14
add rbx, rax
ror rax, 0xa
add rsi, rdi
add r11, rdx
rol rdi, 9
xor rax, rbx
xor r9, r10
ror rdx, 8
add r9, qword [rsp + 0x10]
add rax, rcx
xor rdi, rsi
add rsi, qword [rsp + 0x18]
add rsi, r9
xor rdx, r11
add rbx, qword [rsp + 0x20]
add rdx, qword [rsp + 8]
add r11, r13
ror r9, 0x19
add rbx, rdx
lea rdi, [r14 + rdi + 0xf]
mov rcx, qword [rsp + 0xa0]
xor r9, rsi
add r11, rax
rol rdx, 0x1e
ror rax, 0x1e
xor rdx, rbx
add rbx, r9
rol r9, 0xd
add r10, rcx
xor rax, r11
add r10, rdi
rol rdi, 0x18
xor rdi, r10
xor r9, rbx
add r10, rax
rol rax, 0xa
add r11, rdi
xor rax, r10
add rsi, rdx
ror rdi, 0xe
rol rdx, 0x11
xor rdi, r11
add r11, r9
rol r9, 0x19
xor rdx, rsi
add rsi, rax
ror rax, 0x19
add rbx, rdi
xor rax, rsi
ror rdi, 0x15
xor r9, r11
add r10, rdx
xor rdi, rbx
rol rdx, 0x1d
add rbx, rax
ror rax, 8
add rsi, rdi
xor rdx, r10
ror rdi, 0x1d
add r10, r9
xor rax, rbx
rol r9, 8
xor rdi, rsi
xor r9, r10
add r11, rdx
rol rdx, 0x16
add rax, rcx
mov rcx, qword [rsp + 0x48]
xor rdx, r11
add r9, qword [rsp + 0x20]
add r11, rbp
add rbx, qword [rsp + 8]
add rdx, r13
add rsi, qword [rsp + 0x10]
add r11, rax
add r10, rcx
lea r8, [r8 + rdi + 0x10]
add rsi, r9
add rbx, rdx
ror r9, 0x12
add r10, r8
ror rdx, 0x1c
rol rax, 0x13
ror r8, 0x1b
xor r9, rsi
xor rdx, rbx
xor rax, r11
xor r8, r10
add rbx, r9
add rsi, rdx
ror r9, 0x1f
add r11, r8
add r10, rax
rol r8, 0x1b
rol rax, 0xe
ror rdx, 0x16
xor r9, rbx
xor r8, r11
xor rax, r10
xor rdx, rsi
add r11, r9
add rbx, r8
rol r9, 0x11
add r10, rdx
add rsi, rax
ror rdx, 0xf
ror rax, 0x1c
xor rdx, r10
ror r8, 0x19
xor r9, r11
xor rax, rsi
xor r8, rbx
add r11, rdx
ror rdx, 8
add rbx, rax
ror rax, 0xa
add r10, r9
add rsi, r8
ror r9, 0x14
xor rax, rbx
xor rdx, r11
rol r8, 9
add rdx, rbp
add rax, rcx
xor r9, r10
xor r8, rsi
add r9, qword [rsp + 8]
add rbx, r13
add r11, r12
add rsi, qword [rsp + 0x20]
add r10, qword [rsp + 0x40]
lea r8, [r15 + r8 + 0x11]
add rsi, r9
add rbx, rdx
add r11, rax
ror r9, 0x19
add r10, r8
mov rcx, qword [rsp + 8]
rol rdx, 0x1e
ror rax, 0x1e
xor r9, rsi
xor rdx, rbx
xor rax, r11
rol r8, 0x18
add rbx, r9
xor r8, r10
add rsi, rdx
add r10, rax
rol r9, 0xd
rol rax, 0xa
rol rdx, 0x11
xor r9, rbx
add r11, r8
xor rax, r10
xor rdx, rsi
ror r8, 0xe
xor r8, r11
add r10, rdx
add r11, r9
add rsi, rax
rol r9, 0x19
rol rdx, 0x1d
ror rax, 0x19
xor r9, r11
xor rdx, r10
xor rax, rsi
add rbx, r8
ror r8, 0x15
add r10, r9
xor r8, rbx
add r11, rdx
add rbx, rax
rol r9, 8
add rsi, r8
ror r8, 0x1d
xor r9, r10
add rbp, rbx
xor r8, rsi
add rcx, rsi
ror rax, 8
xor rbp, qword [rsp + 0x58]
rol rdx, 0x16
xor rax, rbx
mov rdi, r8
mov rbx, qword [rsp + 0x40]
xor rdx, r11
add r13, r9
add r14, r11
xor r14, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x120]
add r12, rdx
xor r13, qword [rsp + 0xb0]
xor r12, qword [rsp + 0x60]
xor rsi, rcx
mov rdx, r8
mov qword [r8 + 0x28], r13
add r10, qword [rsp + 0x38]
mov qword [r8 + 0x20], rsi
movabs rcx, 0xbfffffffffffffff
mov qword [r8 + 0x30], rbp
mov qword [r8 + 0x38], r12
mov qword [r8 + 0x40], r14
lea r8, [rax + rbx]
xor r8, qword [rsp + 0xb8]
mov qword [rsp + 8], rsi
mov qword [rdx + 0x48], r8
xor r10, qword [rsp + 0x70]
mov rax, qword [rsp + 0x10]
and qword [rsp + 0x28], rcx
mov qword [rsp + 0x18], r10
lea r15, [rax + rdi + 0x12]
xor r15, qword [rsp + 0x78]
mov rax, qword [rsp + 0x138]
mov qword [rdx + 0x50], r10
add qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x10], r15
mov qword [rdx + 0x58], r15
cmp qword [rsp + 0x128], rax
jne 0x521c70
mov r8, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x28]
imul r8, qword [rsp + 0x138]
add r8, qword [rsp + 0xc8]
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], rcx
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret