Function at 0x1800f0c30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x78
mov rax, qword [rcx]
mov rbp, r9
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
call qword [rax + 0x20]
test al, al
jne 0x1800f0c65
mov rcx, rbx
call fcn.1800a53c0
test rbp, rbp
je 0x1800f2460
mov qword [rsp + 0x70], r12
lea r10, [0x180000000]
mov qword [rsp + 0x68], r13
sub rdi, rsi
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], r15
mov qword [rsp + 0xa8], rdi
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rdi + rsi]
lea rbx, [0x180000000]
mov r9, qword [rdi + rsi + 8]
movzx eax, dl
movzx eax, byte [rax + r10 + 0x34ae00]
shl rax, 4
mov qword [rsp + 0x40], rax
mov rax, rdx
shr rax, 8
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x34ae00]
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x34ae00]
shl rax, 4
mov qword [rsp + 0x28], rax
mov rax, rdx
shr rax, 0x18
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x34ae00]
shl rax, 4
mov qword [rsp + 0x30], rax
mov rax, rdx
shr rax, 0x20
movzx ecx, al
mov rax, rdx
shr rax, 0x28
movzx r13d, byte [rcx + r10 + 0x34ae00]
movzx ecx, al
add r13, r13
mov rax, rdx
shr rdx, 0x38
shr rax, 0x30
movzx r12d, byte [rcx + r10 + 0x34ae00]
movzx r14d, byte [rdx + r10 + 0x34ae00]
add r12, r12
movzx ecx, al
add r14, r14
movzx eax, r9b
movzx r15d, byte [rcx + r10 + 0x34ae00]
movzx ebp, byte [rax + r10 + 0x34ae00]
add r15, r15
mov rax, r9
add rbp, rbp
shr rax, 8
movzx ecx, al
mov rax, r9
shr rax, 0x10
movzx esi, byte [rcx + r10 + 0x34ae00]
movzx ecx, al
add rsi, rsi
mov rax, r9
shr rax, 0x18
movzx edi, byte [rcx + r10 + 0x34ae00]
movzx ecx, al
add rdi, rdi
mov rax, r9
shr rax, 0x20
movzx r11d, byte [rcx + r10 + 0x34ae00]
movzx ecx, al
add r11, r11
mov rax, r9
shr rax, 0x28
movzx r10d, byte [rcx + r10 + 0x34ae00]
movzx ecx, al
add r10, r10
mov rax, r9
shr r9, 0x38
shr rax, 0x30
movzx r8d, byte [rcx + rbx + 0x34ae00]
movzx ecx, al
add r8, r8
movzx eax, byte [r9 + rbx + 0x34ae00]
add rax, rax
movzx edx, byte [rcx + rbx + 0x34ae00]
add rdx, rdx
mov r9, qword [rbx + rax*8 + 0x36a000]
xor r9, qword [rbx + rdx*8 + 0x369000]
xor r9, qword [rbx + r8*8 + 0x368000]
xor r9, qword [rbx + r10*8 + 0x367000]
xor r9, qword [rbx + r11*8 + 0x366000]
xor r9, qword [rbx + rdi*8 + 0x365000]
xor r9, qword [rbx + rsi*8 + 0x364000]
xor r9, qword [rbx + rbp*8 + 0x363000]
xor r9, qword [rbx + r14*8 + 0x362000]
xor r9, qword [rbx + r15*8 + 0x361000]
xor r9, qword [rbx + r12*8 + 0x360000]
xor r9, qword [rbx + r13*8 + 0x35f000]
mov rcx, qword [rsp + 0x30]
xor r9, qword [rcx + rbx + 0x35e000]
lea rcx, [0x180000000]
mov qword [rsp + 0x20], r9
mov r9, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
xor rbx, qword [r9 + rcx + 0x35d000]
mov r9, qword [rsp + 0x38]
xor rbx, qword [r9 + rcx + 0x35c000]
mov r9, qword [rsp + 0x40]
xor rbx, qword [r9 + rcx + 0x35b000]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
mov r9, qword [rbx + rax*8 + 0x36a008]
xor r9, qword [rbx + rdx*8 + 0x369008]
xor r9, qword [rbx + r8*8 + 0x368008]
xor r9, qword [rbx + r10*8 + 0x367008]
xor r9, qword [rbx + r11*8 + 0x366008]
xor r9, qword [rbx + rdi*8 + 0x365008]
xor r9, qword [rbx + rsi*8 + 0x364008]
xor r9, qword [rbx + rbp*8 + 0x363008]
xor r9, qword [rbx + r14*8 + 0x362008]
xor r9, qword [rbx + r15*8 + 0x361008]
xor r9, qword [rbx + r12*8 + 0x360008]
xor r9, qword [rbx + r13*8 + 0x35f008]
xor r9, qword [rcx + rbx + 0x35e008]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
xor r9, qword [rax + rbx + 0x35d008]
mov rax, qword [rsp + 0x38]
xor r9, qword [rax + rbx + 0x35c008]
mov rax, qword [rsp + 0x40]
xor r9, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor rcx, qword [rbx + 0xa8]
xor r9, qword [rbx + 0xb0]
movzx eax, cl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rcx
shr rax, 8
movzx r13d, al
mov rax, rcx
shr rax, 0x10
movzx r12d, al
mov rax, rcx
shr rax, 0x18
add r12, r12
movzx r15d, al
mov rax, rcx
shr rax, 0x20
add r15, r15
movzx r14d, al
mov rax, rcx
shr rax, 0x28
add r14, r14
movzx ebp, al
mov rax, rcx
shr rax, 0x30
add rbp, rbp
shr rcx, 0x38
shl r13, 4
shl rcx, 4
movzx esi, al
add rsi, rsi
movzx edi, r9b
add rdi, rdi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x28]
lea rbx, [0x180000000]
mov rax, r9
lea r13, [0x180000000]
shr rax, 8
movzx r11d, al
mov rax, r9
shr rax, 0x10
add r11, r11
movzx r10d, al
mov rax, r9
shr rax, 0x18
add r10, r10
movzx r9d, al
mov rax, rcx
shr rax, 0x20
add r9, r9
movzx r8d, al
mov rax, rcx
shr rax, 0x28
add r8, r8
movzx edx, al
mov rax, rcx
shr rax, 0x30
add rdx, rdx
movzx ecx, al
mov rax, qword [rsp + 0x28]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x28], rax
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov rbx, qword [rsp + 0x20]
xor rax, qword [rbx + r13 + 0x362000]
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
mov r13, qword [rsp + 0x40]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x28]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x30], rbx
lea rbx, [0x180000000]
mov rax, qword [rax + rbx + 0x36a008]
xor rax, qword [rbx + rcx*8 + 0x369008]
mov rcx, rax
mov qword [rsp + 0x28], rax
xor rcx, qword [rbx + rdx*8 + 0x368008]
xor rcx, qword [rbx + r8*8 + 0x367008]
xor rcx, qword [rbx + r9*8 + 0x366008]
xor rcx, qword [rbx + r10*8 + 0x365008]
xor rcx, qword [rbx + r11*8 + 0x364008]
xor rcx, qword [rbx + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + rsi*8 + 0x361008]
xor rcx, qword [rbx + rbp*8 + 0x360008]
xor rcx, qword [rbx + r14*8 + 0x35f008]
xor rcx, qword [rbx + r15*8 + 0x35e008]
xor rcx, qword [rbx + r12*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor rdx, qword [rbx + 0xb8]
xor rcx, qword [rbx + 0xc0]
lea rbx, [0x180000000]
movzx eax, dl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 8
movzx r13d, al
mov rax, rdx
shr rax, 0x10
movzx r15d, al
mov rax, rdx
shr rax, 0x18
add r15, r15
movzx ebp, al
mov rax, rdx
shr rax, 0x20
add rbp, rbp
movzx edi, al
mov rax, rdx
shr rax, 0x28
add rdi, rdi
movzx r10d, al
mov rax, rdx
shr rax, 0x30
add r10, r10
movzx r8d, al
mov rax, rcx
shr rax, 8
add r8, r8
mov qword [rsp + 0x28], rcx
mov r9, qword [rsp + 0x28]
shr rdx, 0x38
shl rdx, 4
mov qword [rsp + 0x30], rdx
movzx edx, cl
movzx ecx, al
add rdx, rdx
mov rax, r9
shl r13, 4
shr rax, 0x10
add rcx, rcx
movzx r12d, al
mov rax, r9
shr rax, 0x18
add r12, r12
movzx r14d, al
mov rax, r9
shr rax, 0x20
add r14, r14
movzx esi, al
mov rax, r9
shr rax, 0x28
add rsi, rsi
movzx r11d, al
mov rax, r9
shr rax, 0x30
add r11, r11
movzx r9d, al
mov rax, qword [rsp + 0x28]
add r9, r9
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + rcx*8 + 0x364000]
xor rax, qword [rbx + rdx*8 + 0x363000]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x40], r13
lea r13, [0x180000000]
xor rbx, qword [rax + r13 + 0x362000]
mov r13, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + r8*8 + 0x361000]
xor rax, qword [rbx + r10*8 + 0x360000]
xor rax, qword [rbx + rdi*8 + 0x35f000]
xor rax, qword [rbx + rbp*8 + 0x35e000]
xor rax, qword [rbx + r15*8 + 0x35d000]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x20], rax
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x28]
xor rbx, qword [rax + r13 + 0x36a000]
mov r13, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + r9*8 + 0x369000]
xor rax, qword [rbx + r11*8 + 0x368000]
xor rax, qword [rbx + rsi*8 + 0x367000]
xor rax, qword [rbx + r14*8 + 0x366000]
xor rax, qword [rbx + r12*8 + 0x365000]
mov rcx, qword [rbx + rcx*8 + 0x364008]
xor rcx, qword [rbx + rdx*8 + 0x363008]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + r8*8 + 0x361008]
xor rcx, qword [rbx + r10*8 + 0x360008]
xor rcx, qword [rbx + rdi*8 + 0x35f008]
xor rcx, qword [rbx + rbp*8 + 0x35e008]
xor rcx, qword [rbx + r15*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rax, qword [rsp + 0x28]
xor rcx, qword [rbx + rax + 0x36a008]
xor rcx, qword [rbx + r9*8 + 0x369008]
xor rcx, qword [rbx + r11*8 + 0x368008]
xor rcx, qword [rbx + rsi*8 + 0x367008]
xor rcx, qword [rbx + r14*8 + 0x366008]
xor rcx, qword [rbx + r12*8 + 0x365008]
mov rbx, qword [rsp + 0xa0]
xor rdx, qword [rbx + 0xc8]
xor rcx, qword [rbx + 0xd0]
movzx eax, dl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 8
movzx r13d, al
mov rax, rdx
shr rax, 0x10
movzx r12d, al
mov rax, rdx
shr rax, 0x18
add r12, r12
movzx r15d, al
mov rax, rdx
shr rax, 0x20
add r15, r15
movzx r14d, al
mov rax, rdx
shr rax, 0x28
add r14, r14
movzx ebp, al
mov rax, rdx
shr rax, 0x30
add rbp, rbp
movzx esi, al
mov rax, rcx
shr rax, 8
add rsi, rsi
movzx r11d, al
mov rax, rcx
shr rdx, 0x38
add r11, r11
shl r13, 4
shl rdx, 4
movzx edi, cl
add rdi, rdi
mov qword [rsp + 0x30], rcx
shr rax, 0x10
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], rdx
movzx r10d, al
lea rbx, [0x180000000]
mov rax, rcx
lea r13, [0x180000000]
shr rax, 0x18
add r10, r10
movzx r9d, al
mov rax, rcx
shr rax, 0x20
add r9, r9
movzx r8d, al
mov rax, rcx
shr rax, 0x28
add r8, r8
movzx edx, al
mov rax, rcx
shr rax, 0x30
add rdx, rdx
movzx ecx, al
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
xor rbx, qword [rax + r13 + 0x362000]
mov r13, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
mov rax, qword [rax + rbx + 0x36a008]
xor rax, qword [rbx + rcx*8 + 0x369008]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rcx, qword [rbx + rdx*8 + 0x368008]
xor rcx, qword [rbx + r8*8 + 0x367008]
xor rcx, qword [rbx + r9*8 + 0x366008]
xor rcx, qword [rbx + r10*8 + 0x365008]
xor rcx, qword [rbx + r11*8 + 0x364008]
xor rcx, qword [rbx + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + rsi*8 + 0x361008]
xor rcx, qword [rbx + rbp*8 + 0x360008]
xor rcx, qword [rbx + r14*8 + 0x35f008]
xor rcx, qword [rbx + r15*8 + 0x35e008]
xor rcx, qword [rbx + r12*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor rdx, qword [rbx + 0xd8]
xor rcx, qword [rbx + 0xe0]
mov qword [rsp + 0x30], rcx
movzx eax, dl
shl rax, 4
lea rbx, [0x180000000]
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 8
movzx r13d, al
mov rax, rdx
shr rax, 0x10
movzx r12d, al
mov rax, rdx
shr rax, 0x18
add r12, r12
movzx r15d, al
mov rax, rdx
shr rax, 0x20
add r15, r15
movzx r14d, al
mov rax, rdx
shr rax, 0x28
add r14, r14
movzx ebp, al
mov rax, rdx
shr rax, 0x30
add rbp, rbp
movzx esi, al
mov rax, rcx
shr rax, 8
add rsi, rsi
movzx r11d, al
mov rax, rcx
shr rax, 0x10
add r11, r11
movzx r10d, al
mov rax, rcx
shr rax, 0x18
add r10, r10
movzx r9d, al
mov rax, rcx
shr rax, 0x20
add r9, r9
movzx r8d, al
mov rax, rcx
shr rax, 0x28
add r8, r8
shr rdx, 0x38
shl rdx, 4
mov qword [rsp + 0x28], rdx
movzx edx, al
mov rax, rcx
shr rax, 0x30
add rdx, rdx
movzx edi, cl
movzx ecx, al
add rdi, rdi
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
shl r13, 4
mov qword [rsp + 0x40], r13
lea r13, [0x180000000]
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
xor rbx, qword [rax + r13 + 0x362000]
mov rax, rbx
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
mov r13, qword [rsp + 0x40]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x20]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
mov rax, qword [rax + rbx + 0x36a008]
xor rax, qword [rbx + rcx*8 + 0x369008]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rcx, qword [rbx + rdx*8 + 0x368008]
xor rcx, qword [rbx + r8*8 + 0x367008]
xor rcx, qword [rbx + r9*8 + 0x366008]
xor rcx, qword [rbx + r10*8 + 0x365008]
xor rcx, qword [rbx + r11*8 + 0x364008]
xor rcx, qword [rbx + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + rsi*8 + 0x361008]
xor rcx, qword [rbx + rbp*8 + 0x360008]
xor rcx, qword [rbx + r14*8 + 0x35f008]
xor rcx, qword [rbx + r15*8 + 0x35e008]
xor rcx, qword [rbx + r12*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor rdx, qword [rbx + 0xe8]
xor rcx, qword [rbx + 0xf0]
movzx eax, dl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 8
movzx r13d, al
mov rax, rdx
shr rax, 0x10
movzx r12d, al
mov rax, rdx
shr rax, 0x18
add r12, r12
movzx r15d, al
mov rax, rdx
shr rax, 0x20
add r15, r15
movzx r14d, al
mov rax, rdx
shr rax, 0x28
add r14, r14
movzx ebp, al
mov rax, rdx
shr rax, 0x30
add rbp, rbp
movzx esi, al
mov rax, rcx
shr rax, 8
add rsi, rsi
movzx r11d, al
mov rax, rcx
shr rax, 0x10
add r11, r11
movzx r10d, al
mov rax, rcx
shr rdx, 0x38
add r10, r10
shl r13, 4
shl rdx, 4
movzx edi, cl
add rdi, rdi
mov qword [rsp + 0x30], rcx
shr rax, 0x18
movzx r9d, al
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], rdx
mov rax, rcx
lea rbx, [0x180000000]
shr rax, 0x20
lea r13, [0x180000000]
movzx r8d, al
add r9, r9
mov rax, rcx
add r8, r8
shr rax, 0x28
movzx edx, al
mov rax, rcx
shr rax, 0x30
add rdx, rdx
movzx ecx, al
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
xor rbx, qword [rax + r13 + 0x362000]
mov r13, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
mov rax, qword [rax + rbx + 0x36a008]
xor rax, qword [rbx + rcx*8 + 0x369008]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rcx, qword [rbx + rdx*8 + 0x368008]
xor rcx, qword [rbx + r8*8 + 0x367008]
xor rcx, qword [rbx + r9*8 + 0x366008]
xor rcx, qword [rbx + r10*8 + 0x365008]
xor rcx, qword [rbx + r11*8 + 0x364008]
xor rcx, qword [rbx + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + rsi*8 + 0x361008]
xor rcx, qword [rbx + rbp*8 + 0x360008]
xor rcx, qword [rbx + r14*8 + 0x35f008]
xor rcx, qword [rbx + r15*8 + 0x35e008]
xor rcx, qword [rbx + r12*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor r9, qword [rbx + 0xf8]
xor rcx, qword [rbx + 0x100]
mov rax, r9
shr rax, 8
movzx r13d, r9b
movzx r15d, al
add r13, r13
add r15, r15
mov qword [rsp + 0x30], rcx
mov rax, r9
lea rbx, [0x180000000]
shr rax, 0x10
movzx ebp, al
mov rax, r9
shr rax, 0x18
add rbp, rbp
movzx edi, al
mov rax, r9
shr rax, 0x20
add rdi, rdi
movzx r10d, al
mov rax, r9
shr rax, 0x28
add r10, r10
movzx r8d, al
mov rax, r9
shr rax, 0x30
add r8, r8
movzx edx, al
shr r9, 0x38
add rdx, rdx
shl r9, 4
movzx eax, cl
shl rax, 4
mov rbx, qword [rbx + rdx*8 + 0x361000]
mov qword [rsp + 0x38], rax
mov rax, rcx
shr rax, 8
movzx r12d, al
mov rax, rcx
shr rax, 0x10
movzx r14d, al
mov rax, rcx
shr rax, 0x18
add r14, r14
movzx esi, al
mov rax, rcx
shr rax, 0x20
add rsi, rsi
movzx r11d, al
mov rax, rcx
shr rax, 0x28
add r11, r11
shl r12, 4
mov qword [rsp + 0x40], r12
lea r12, [0x180000000]
mov qword [rsp + 0x28], r9
movzx r9d, al
mov rax, rcx
shr rax, 0x30
add r9, r9
movzx ecx, al
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
lea rax, [0x180000000]
xor rbx, qword [rax + r8*8 + 0x360000]
xor rbx, qword [rax + r10*8 + 0x35f000]
xor rbx, qword [rax + rdi*8 + 0x35e000]
xor rbx, qword [rax + rbp*8 + 0x35d000]
xor rbx, qword [rax + r15*8 + 0x35c000]
xor rbx, qword [rax + r13*8 + 0x35b000]
mov rax, qword [rsp + 0x30]
xor rbx, qword [r12 + rax + 0x36a000]
mov r12, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + r9*8 + 0x368000]
xor rax, qword [rbx + r11*8 + 0x367000]
xor rax, qword [rbx + rsi*8 + 0x366000]
xor rax, qword [rbx + r14*8 + 0x365000]
xor rax, qword [r12 + rbx + 0x364000]
lea r12, [0x180000000]
mov qword [rsp + 0x20], rax
mov rbx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
xor rbx, qword [rax + r12 + 0x363000]
mov rax, qword [rsp + 0x28]
xor rbx, qword [rax + r12 + 0x362000]
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
lea rbx, [0x180000000]
mov rdx, qword [rbx + rdx*8 + 0x361008]
xor rdx, qword [rbx + r8*8 + 0x360008]
xor rdx, qword [rbx + r10*8 + 0x35f008]
xor rdx, qword [rbx + rdi*8 + 0x35e008]
xor rdx, qword [rbx + rbp*8 + 0x35d008]
xor rdx, qword [rbx + r15*8 + 0x35c008]
xor rdx, qword [rbx + r13*8 + 0x35b008]
mov r8, qword [rsp + 0x30]
xor rdx, qword [rbx + r8 + 0x36a008]
xor rdx, qword [rbx + rcx*8 + 0x369008]
xor rdx, qword [rbx + r9*8 + 0x368008]
xor rdx, qword [rbx + r11*8 + 0x367008]
xor rdx, qword [rbx + rsi*8 + 0x366008]
xor rdx, qword [rbx + r14*8 + 0x365008]
xor rdx, qword [r12 + rbx + 0x364008]
xor rdx, qword [rax + rbx + 0x363008]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
xor rdx, qword [rax + rbx + 0x362008]
mov rbx, qword [rsp + 0xa0]
xor rcx, qword [rbx + 0x108]
xor rdx, qword [rbx + 0x110]
movzx eax, cl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rcx
shr rax, 8
movzx r13d, al
mov rax, rcx
shr rax, 0x10
movzx r12d, al
mov rax, rcx
shr rax, 0x18
add r12, r12
movzx r15d, al
mov rax, rcx
shr rax, 0x20
add r15, r15
movzx r14d, al
mov rax, rcx
shr rax, 0x28
add r14, r14
movzx ebp, al
mov rax, rcx
shr rax, 0x30
add rbp, rbp
movzx esi, al
mov rax, rdx
shr rax, 8
add rsi, rsi
movzx r11d, al
mov rax, rdx
shr rax, 0x10
add r11, r11
movzx r10d, al
mov rax, rdx
shr rax, 0x18
add r10, r10
movzx r9d, al
mov rax, rdx
shr rax, 0x20
add r9, r9
movzx r8d, al
mov rax, rdx
shr rcx, 0x38
add r8, r8
shl r13, 4
shl rcx, 4
movzx edi, dl
add rdi, rdi
mov qword [rsp + 0x30], rdx
shr rax, 0x28
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], rcx
movzx edx, al
lea rbx, [0x180000000]
mov rax, qword [rsp + 0x30]
lea r13, [0x180000000]
shr rax, 0x30
add rdx, rdx
movzx ecx, al
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
xor rbx, qword [rax + r13 + 0x362000]
mov r13, qword [rsp + 0x40]
mov rax, rbx
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
xor rax, qword [rbx + r13 + 0x35c000]
lea r13, [0x180000000]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
xor rbx, qword [rax + r13 + 0x35b000]
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov qword [rsp + 0x28], rbx
lea rbx, [0x180000000]
mov rax, qword [rax + rbx + 0x36a008]
xor rax, qword [rbx + rcx*8 + 0x369008]
mov rcx, rax
mov qword [rsp + 0x30], rax
xor rcx, qword [rbx + rdx*8 + 0x368008]
xor rcx, qword [rbx + r8*8 + 0x367008]
xor rcx, qword [rbx + r9*8 + 0x366008]
xor rcx, qword [rbx + r10*8 + 0x365008]
xor rcx, qword [rbx + r11*8 + 0x364008]
xor rcx, qword [rbx + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
xor rcx, qword [rax + rbx + 0x362008]
xor rcx, qword [rbx + rsi*8 + 0x361008]
xor rcx, qword [rbx + rbp*8 + 0x360008]
xor rcx, qword [rbx + r14*8 + 0x35f008]
xor rcx, qword [rbx + r15*8 + 0x35e008]
xor rcx, qword [rbx + r12*8 + 0x35d008]
xor rcx, qword [rbx + r13 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor rcx, qword [rax + rbx + 0x35b008]
mov rbx, qword [rsp + 0xa0]
xor rdx, qword [rbx + 0x118]
xor rcx, qword [rbx + 0x120]
movzx eax, dl
shl rax, 4
mov qword [rsp + 0x38], rax
mov rax, rdx
shr rax, 8
movzx r13d, al
mov rax, rdx
shr rax, 0x10
movzx r12d, al
mov rax, rdx
shl r13, 4
add r12, r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x40], r13
shr rax, 0x18
lea rbx, [0x180000000]
movzx r15d, al
lea r13, [0x180000000]
mov rax, rdx
movzx edi, cl
shr rax, 0x20
add rdi, rdi
movzx r14d, al
add r15, r15
mov rax, rdx
add r14, r14
shr rax, 0x28
movzx ebp, al
mov rax, rdx
shr rax, 0x30
add rbp, rbp
movzx esi, al
mov rax, rcx
shr rax, 8
add rsi, rsi
movzx r11d, al
mov rax, rcx
shr rax, 0x10
add r11, r11
movzx r10d, al
mov rax, rcx
shr rax, 0x18
add r10, r10
movzx r9d, al
mov rax, rcx
shr rax, 0x20
add r9, r9
movzx r8d, al
mov rax, rcx
shr rax, 0x28
add r8, r8
shr rdx, 0x38
shl rdx, 4
mov qword [rsp + 0x28], rdx
movzx edx, al
mov rax, rcx
shr rax, 0x30
add rdx, rdx
movzx ecx, al
mov rax, qword [rsp + 0x30]
add rcx, rcx
shr rax, 0x38
shl rax, 4
mov qword [rsp + 0x30], rax
mov rax, qword [rax + rbx + 0x36a000]
xor rax, qword [rbx + rcx*8 + 0x369000]
xor rax, qword [rbx + rdx*8 + 0x368000]
xor rax, qword [rbx + r8*8 + 0x367000]
xor rax, qword [rbx + r9*8 + 0x366000]
xor rax, qword [rbx + r10*8 + 0x365000]
xor rax, qword [rbx + r11*8 + 0x364000]
xor rax, qword [rbx + rdi*8 + 0x363000]
mov rbx, qword [rsp + 0x28]
xor rax, qword [rbx + r13 + 0x362000]
lea rbx, [0x180000000]
xor rax, qword [rbx + rsi*8 + 0x361000]
xor rax, qword [rbx + rbp*8 + 0x360000]
xor rax, qword [rbx + r14*8 + 0x35f000]
xor rax, qword [rbx + r15*8 + 0x35e000]
xor rax, qword [rbx + r12*8 + 0x35d000]
mov r13, qword [rsp + 0x40]
xor rax, qword [rbx + r13 + 0x35c000]
mov r13, qword [rsp + 0x38]
xor rax, qword [rbx + r13 + 0x35b000]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov r13, qword [rax + rbx + 0x36a008]
xor r13, qword [rbx + rcx*8 + 0x369008]
xor r13, qword [rbx + rdx*8 + 0x368008]
xor r13, qword [rbx + r8*8 + 0x367008]
xor r13, qword [rbx + r9*8 + 0x366008]
xor r13, qword [rbx + r10*8 + 0x365008]
lea r10, [0x180000000]
xor r13, qword [r10 + r11*8 + 0x364008]
xor r13, qword [r10 + rdi*8 + 0x363008]
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x20]
xor r13, qword [rax + r10 + 0x362008]
xor rdx, qword [rbx + 0x128]
xor r13, qword [r10 + rsi*8 + 0x361008]
xor r13, qword [r10 + rbp*8 + 0x360008]
xor r13, qword [r10 + r14*8 + 0x35f008]
xor r13, qword [r10 + r15*8 + 0x35e008]
xor r13, qword [r10 + r12*8 + 0x35d008]
mov rax, qword [rsp + 0x40]
xor r13, qword [rax + r10 + 0x35c008]
mov rax, qword [rsp + 0x38]
xor r13, qword [rax + r10 + 0x35b008]
mov rax, rdx
xor r13, qword [rbx + 0x130]
shr rax, 0x38
movzx r8d, byte [rax + r10 + 0x34af00]
mov rax, rdx
shr rax, 0x30
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
mov rax, rdx
shr rax, 0x28
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
mov rax, rdx
shr rax, 0x20
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
mov rax, rdx
shr rax, 0x18
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
mov rax, rdx
shr rax, 0x10
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
mov rax, rdx
shr rax, 8
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or r8, rax
movzx eax, dl
shl r8, 8
movzx eax, byte [rax + r10 + 0x34af00]
or r8, rax
mov rax, r13
shr rax, 0x38
movzx edx, byte [rax + r10 + 0x34af00]
mov rax, r13
shr rax, 0x30
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
mov rax, r13
shr rax, 0x28
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
mov rax, r13
shr rax, 0x20
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
mov rax, r13
shl rdx, 8
mov rsi, qword [rsp + 0xb0]
xor r8, qword [rbx + 0x138]
mov rdi, qword [rsp + 0xa8]
shr rax, 0x18
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
mov rax, r13
shr rax, 0x10
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
mov rax, r13
shr rax, 8
shl rdx, 8
movzx ecx, al
movzx eax, byte [rcx + r10 + 0x34af00]
or rdx, rax
movzx eax, r13b
shl rdx, 8
movzx eax, byte [rax + r10 + 0x34af00]
or rdx, rax
xor rdx, qword [rbx + 0x140]
mov qword [rsi + 8], rdx
mov qword [rsi], r8
add rsi, 0x10
sub qword [rsp + 0xb8], 1
mov qword [rsp + 0xb0], rsi
jne 0x1800f0ca0
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
add rsp, 0x78
pop rdi
pop rsi
pop rbp
pop rbx
ret