Function at 0x1401cde69
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
mov qword [rsp + 0x2d0], rcx
mov r10d, edx
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x2e8], r9
mov r9, qword [rcx + 0x80]
mov ecx, r8d
sar edx, cl
mov eax, edx
neg eax
and eax, r10d
or eax, edx
mov byte [rsp + 0x1f8], al
mov rax, qword [rsp + 0x2d0]
mov rax, qword [rax + 0x108]
cmp r9, 0x77
ja 0x1401cded4
mov r8d, pe_nt_image_headers64
lea rdx, [rax + 1]
sub r8, r9
jmp 0x1401cdee1
mov r8d, 0x100
lea rdx, [rax + 2]
sub r8, r9
lea r9, [rsp + 0x1f9]
xor eax, eax
lea rcx, [r8 - 9]
mov rdi, r9
lea r10, [rsp + 0x1f8]
rep stosb byte [rdi], al
mov rax, rdx
bswap rax
mov qword [rsp + r8 + 0x1f0], rax
mov rcx, qword [rsp + 0x2d0]
mov rdx, r10
lea rbx, [0x14048a380]
call fcn.1401ca9ee
mov rax, qword [rsp + 0x2d0]
mov ecx, 0x20
lea r10, [0x140486b80]
lea r9, [0x140489380]
lea r8, [0x140488b80]
add rax, 0x88
lea r11, [0x140487380]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xf8]
mov rsi, qword [rsp + 0xe8]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rsi, rax
lea rdi, [rsp + 0x178]
mov ecx, 0x20
rep movsd dword [rdi], dword [rsi]
lea rsi, [0x140489b80]
lea rcx, [0x140488380]
mov rax, qword [rsp + 0x178]
mov r14, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x1e0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x88], rax
mov rbp, qword [rsp + 0x1e8]
xor eax, eax
mov rdi, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x28]
lea r15, [rax + 0x10]
xor rdx, rax
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x30]
xor rdx, r15
lea r15, [rax + 0x20]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x38]
xor rdx, r15
lea r15, [rax + 0x30]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x40]
xor rdx, r15
lea r15, [rax + 0x40]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x48]
xor rdx, r15
lea r15, [rax + 0x50]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0x50]
xor rdx, r15
lea r15, [rax + 0x60]
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x68]
xor rdx, r15
lea r15, [rax + 0x70]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x70]
xor rdx, r15
lea r15, [rax + 0x80]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x78]
xor rdx, r15
lea r15, [rax + 0x90]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x80]
xor rdx, r15
lea r15, [rax + 0xa0]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x88]
xor rdx, r15
lea r15, [rax + 0xb0]
xor r14, r15
lea r15, [rax + 0xc0]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x30]
xor r15, r13
lea r13, [rax + 0xd0]
xor r12, r13
lea r13, [rax + 0xe0]
xor r13, rbp
lea rbp, [rax + 0xf0]
xor rbp, rdi
lea rdi, [rax + 1]
mov qword [rsp + 0x80], r13
lea r13, [0x140487b80]
mov qword [rsp + 0x88], rbp
movzx ebp, byte [rsp + 0x28]
xor rdi, qword [rbx + rbp*8]
mov rbp, r14
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x38]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x40]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x50]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x30]
mov qword [rsp + 0x90], rdi
mov rdi, r15
shr rdi, 0x38
mov rbp, qword [rbx + rbp*8]
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x11]
xor rdi, rbp
movzx ebp, dh
mov rdx, qword [rsp + 0x40]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x40]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x48]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x50]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x38]
mov qword [rsp + 0x98], rdi
mov rdi, r12
shr rdi, 0x38
mov rbp, qword [rbx + rbp*8]
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x21]
xor rdi, rbp
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x48]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x50]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x68]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x40]
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x31]
xor rdi, rbp
movzx ebp, dh
mov rdx, qword [rsp + 0x50]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x50]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x68]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x70]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x48]
mov qword [rsp + 0xa8], rdi
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x41]
xor rdi, rbp
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x68]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x70]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x78]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0x28]
mov qword [rsp + 0xb0], rdi
lea rdi, [rax + 0x51]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, byte [rsp + 0x50]
xor rdi, qword [rbx + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0x60]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x68]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x70]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x78]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, r14
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x58]
mov qword [rsp + 0xb8], rdi
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x61]
xor rdi, rbp
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x68]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x70]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x78]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r14
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, r15
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x60]
mov qword [rsp + 0xc0], rdi
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x71]
xor rdi, rbp
movzx ebp, dh
mov rdx, qword [rsp + 0x70]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x70]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x78]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, r14
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r15
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, r12
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x68]
mov qword [rsp + 0xc8], rdi
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x81]
xor rdi, rbp
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x78]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, r14
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, r15
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r12
mov rdx, qword [rsp + 0x78]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x80]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x70]
mov qword [rsp + 0xd0], rdi
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rbx + rbp*8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
lea rdi, [rax + 0x91]
xor rdi, rbp
movzx ebp, dh
mov rdx, r14
xor rdi, qword [rsi + rbp*8]
mov rbp, r14
movzx r14d, r14b
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, r15
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, r12
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x80]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov rbp, qword [rsp + 0x88]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0x28]
mov qword [rsp + 0xd8], rdi
movzx edi, byte [rsp + 0x78]
shr rbp, 0x30
movzx ebp, bpl
mov rbp, qword [r11 + rbp*8]
xor rbp, qword [rbx + rdi*8]
lea rdi, [rax + 0xa1]
xor rdi, rbp
mov rbp, qword [rsp + 0x50]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, r15
xor rdi, qword [rsi + rbp*8]
mov rbp, r15
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, r12
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x80]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x88]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r13 + rbp*8]
mov qword [rsp + 0xe0], rdi
mov rdi, qword [rsp + 0x28]
shr rdi, 0x28
movzx edi, dil
mov rbp, qword [r13 + rdi*8]
lea rdi, [rax + 0xb1]
xor rbp, qword [rbx + r14*8]
movzx r14d, r15b
xor rdi, rbp
mov rbp, qword [rsp + 0x58]
lea r15, [0x140487b80]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, r12
xor rdi, qword [rsi + rbp*8]
mov rbp, r12
movzx r12d, r12b
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x80]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x88]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x30]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov r13, rdi
mov rdi, qword [rsp + 0x28]
shr rdi, 0x20
movzx edi, dil
mov rbp, qword [rcx + rdi*8]
lea rdi, [rax + 0xc1]
xor rbp, qword [rbx + r14*8]
xor rdi, rbp
mov rbp, qword [rsp + 0x60]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x80]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x88]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x30]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r15 + rbp*8]
mov rbp, qword [rsp + 0x38]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0x28]
shr rdi, 0x18
movzx edi, dil
mov rbp, qword [r8 + rdi*8]
lea rdi, [rax + 0xd1]
xor rbp, qword [rbx + r12*8]
xor rdi, rbp
mov rbp, qword [rsp + 0x68]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
mov rdx, qword [rsp + 0x80]
movzx r14d, byte [rsp + 0x80]
movzx ebp, dh
mov rdx, qword [rsp + 0x88]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x88]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x30]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x38]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r15 + rbp*8]
mov rbp, qword [rsp + 0x40]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov r12, rdi
mov rdi, qword [rsp + 0x28]
shr rdi, 0x10
movzx edi, dil
mov rbp, qword [r9 + rdi*8]
lea rdi, [rax + 0xe1]
xor rbp, qword [rbx + r14*8]
movzx r14d, byte [rsp + 0x88]
xor rdi, rbp
mov rbp, qword [rsp + 0x70]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0x28]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x30]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x38]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x40]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r15 + rbp*8]
mov rbp, qword [rsp + 0x48]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov qword [rsp + 0x60], rdi
movzx edi, dh
mov rbp, qword [rsi + rdi*8]
lea rdi, [rax + 0xf1]
xor rbp, qword [rbx + r14*8]
mov r14, r15
xor rdi, rbp
mov rbp, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x98]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
mov rbp, qword [rsp + 0x30]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x38]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x40]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x48]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r15 + rbp*8]
mov rbp, qword [rsp + 0x50]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, r13
mov r15, rdi
mov rdi, qword [rsp + 0xb8]
shr rbp, 0x38
shr rdi, 0x28
movzx edi, dil
mov rdi, qword [r14 + rdi*8]
xor rdi, qword [r10 + rbp*8]
movzx ebp, byte [rsp + 0x90]
xor rdi, qword [rbx + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xa0]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xa8]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xb0]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0xc0]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0x98]
mov qword [rsp + 0x28], rdi
mov rdi, qword [rsp + 0xb8]
shr rdi, 0x20
movzx edi, dil
mov rdi, qword [rcx + rdi*8]
xor rdi, qword [rbx + rbp*8]
mov rbp, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xa0]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0xa8]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xa8]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xb0]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xc0]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0xc8]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0xa0]
mov qword [rsp + 0x30], rdi
mov rdi, qword [rsp + 0xb8]
shr rdi, 0x18
movzx edi, dil
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rbx + rbp*8]
mov rbp, r12
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xb0]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xc0]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0xc8]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0xd0]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0xa8]
mov qword [rsp + 0x38], rdi
mov rdi, qword [rsp + 0xb8]
shr rdi, 0x10
movzx edi, dil
mov rdi, qword [r9 + rdi*8]
xor rdi, qword [rbx + rbp*8]
mov rbp, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xb0]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0xb8]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xc0]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xc8]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0xd0]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0xd8]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0xb0]
mov qword [rsp + 0x40], rdi
movzx edi, dh
mov rdi, qword [rsi + rdi*8]
xor rdi, qword [rbx + rbp*8]
mov rbp, r15
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
mov rbp, qword [rsp + 0xc0]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xc8]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xd0]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0xd8]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0xe0]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0x90]
mov qword [rsp + 0x48], rdi
movzx edi, byte [rsp + 0xb8]
shr rbp, 0x38
mov rdi, qword [rbx + rdi*8]
mov rdx, qword [rsp + 0xc0]
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0xc8]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xc8]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xd0]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xd8]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0xe0]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, r13
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0x98]
mov qword [rsp + 0x50], rdi
movzx edi, byte [rsp + 0xc0]
shr rbp, 0x38
mov rdi, qword [rbx + rdi*8]
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xd0]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xd8]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0xe0]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r13
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rdi
movzx edi, byte [rsp + 0xc8]
shr rbp, 0x38
mov rdi, qword [rbx + rdi*8]
mov rdx, qword [rsp + 0xd0]
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0xd8]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xd8]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0xe0]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, r13
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, r12
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rdi
movzx edi, byte [rsp + 0xd0]
shr rbp, 0x38
mov rdi, qword [rbx + rdi*8]
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0xe0]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, r13
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r12
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
mov rbp, qword [rsp + 0xb0]
mov qword [rsp + 0x78], rdi
movzx edi, byte [rsp + 0xd8]
shr rbp, 0x38
mov rdi, qword [rbx + rdi*8]
xor rdi, qword [r10 + rbp*8]
mov rdx, qword [rsp + 0xe0]
movzx ebp, dh
mov rdx, r13
xor rdi, qword [rsi + rbp*8]
mov rbp, r13
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, r12
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, r15
shr rbp, 0x30
movzx ebp, bpl
xor rdi, qword [r11 + rbp*8]
movzx ebp, byte [rsp + 0xe0]
mov qword [rsp + 0x80], rdi
mov rdi, qword [rsp + 0x90]
shr rdi, 0x30
movzx edi, dil
mov rdi, qword [r11 + rdi*8]
xor rdi, qword [rbx + rbp*8]
mov rbp, qword [rsp + 0xb8]
shr rbp, 0x38
xor rdi, qword [r10 + rbp*8]
movzx ebp, dh
mov rdx, qword [rsp + 0x58]
xor rdi, qword [rsi + rbp*8]
mov rbp, qword [rsp + 0x58]
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [r9 + rbp*8]
mov rbp, r12
shr rbp, 0x18
movzx ebp, bpl
xor rdi, qword [r8 + rbp*8]
mov rbp, qword [rsp + 0x60]
shr rbp, 0x20
movzx ebp, bpl
xor rdi, qword [rcx + rbp*8]
mov rbp, r15
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [r14 + rbp*8]
mov rbp, qword [rsp + 0x90]
mov qword [rsp + 0x88], rdi
movzx edi, r13b
shr rbp, 0x28
movzx ebp, bpl
mov r14, qword [r14 + rbp*8]
xor r14, qword [rbx + rdi*8]
mov rdi, qword [rsp + 0xc0]
shr rdi, 0x38
xor r14, qword [r10 + rdi*8]
movzx edi, dh
mov rdx, r12
xor r14, qword [rsi + rdi*8]
mov rdi, r12
shr rdi, 0x10
movzx edi, dil
xor r14, qword [r9 + rdi*8]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x90]
shr rdi, 0x18
movzx edi, dil
shr rbp, 0x20
xor r14, qword [r8 + rdi*8]
mov rdi, r15
movzx ebp, bpl
shr rdi, 0x20
mov r13, qword [rcx + rbp*8]
mov rbp, qword [rsp + 0x90]
movzx edi, dil
xor r14, qword [rcx + rdi*8]
mov rdi, qword [rsp + 0x98]
shr rbp, 0x18
movzx ebp, bpl
shr rdi, 0x30
movzx edi, dil
xor r14, qword [r11 + rdi*8]
movzx edi, byte [rsp + 0x58]
xor r13, qword [rbx + rdi*8]
mov rdi, qword [rsp + 0xc8]
shr rdi, 0x38
xor r13, qword [r10 + rdi*8]
movzx edi, dh
lea rdx, [0x140487b80]
xor r13, qword [rsi + rdi*8]
mov rdi, qword [rsp + 0x60]
shr rdi, 0x10
movzx edi, dil
xor r13, qword [r9 + rdi*8]
mov rdi, r15
shr rdi, 0x18
movzx edi, dil
xor r13, qword [r8 + rdi*8]
mov rdi, qword [rsp + 0x98]
shr rdi, 0x28
movzx edi, dil
xor r13, qword [rdx + rdi*8]
mov rdi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
shr rdi, 0x30
movzx edi, dil
xor r13, qword [r11 + rdi*8]
movzx edi, r12b
mov r12, qword [r8 + rbp*8]
xor r12, qword [rbx + rdi*8]
mov rdi, qword [rsp + 0xd0]
shr rdi, 0x38
xor r12, qword [r10 + rdi*8]
movzx edi, dh
lea rdx, [0x140487b80]
xor r12, qword [rsi + rdi*8]
mov rdi, r15
shr rdi, 0x10
movzx edi, dil
xor r12, qword [r9 + rdi*8]
mov rdi, qword [rsp + 0x98]
shr rdi, 0x20
movzx edi, dil
xor r12, qword [rcx + rdi*8]
mov rdi, qword [rsp + 0xa0]
shr rdi, 0x28
movzx edi, dil
xor r12, qword [rdx + rdi*8]
mov rdi, qword [rsp + 0xa8]
mov rdx, r15
movzx r15d, r15b
shr rdi, 0x30
movzx edi, dil
xor r12, qword [r11 + rdi*8]
mov rbp, qword [rsp + 0x90]
movzx edi, byte [rsp + 0x60]
shr rbp, 0x10
movzx ebp, bpl
mov rbp, qword [r9 + rbp*8]
xor rbp, qword [rbx + rdi*8]
mov rdi, qword [rsp + 0xd8]
shr rdi, 0x38
xor rbp, qword [r10 + rdi*8]
movzx edi, dh
lea rdx, [0x140487b80]
xor rbp, qword [rsi + rdi*8]
mov rdi, qword [rsp + 0x98]
shr rdi, 0x18
movzx edi, dil
xor rbp, qword [r8 + rdi*8]
mov rdi, qword [rsp + 0xa0]
shr rdi, 0x20
movzx edi, dil
xor rbp, qword [rcx + rdi*8]
mov rdi, qword [rsp + 0xa8]
shr rdi, 0x28
movzx edi, dil
xor rbp, qword [rdx + rdi*8]
mov rdi, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x90]
shr rdi, 0x30
movzx edi, dil
xor rbp, qword [r11 + rdi*8]
movzx edi, dh
lea rdx, [0x140487b80]
mov rdi, qword [rsi + rdi*8]
xor rdi, qword [rbx + r15*8]
mov r15, qword [rsp + 0xb8]
shr r15, 0x30
movzx r15d, r15b
xor rdi, qword [r11 + r15*8]
mov r15, qword [rsp + 0xe0]
shr r15, 0x38
xor rdi, qword [r10 + r15*8]
mov r15, qword [rsp + 0x98]
shr r15, 0x10
movzx r15d, r15b
xor rdi, qword [r9 + r15*8]
mov r15, qword [rsp + 0xa0]
shr r15, 0x18
movzx r15d, r15b
xor rdi, qword [r8 + r15*8]
mov r15, qword [rsp + 0xa8]
shr r15, 0x20
movzx r15d, r15b
xor rdi, qword [rcx + r15*8]
mov r15, qword [rsp + 0xb0]
shr r15, 0x28
movzx r15d, r15b
xor rdi, qword [rdx + r15*8]
add rax, 2
cmp rax, 0xe
jne 0x1401ce04c
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x1d0], r14
xor ecx, ecx
lea r8, [rsp + 0x178]
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x1e8], rbp
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x1f0], rdi
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x1c8], rax
lea rdx, [rsp + 0xf8]
mov rax, qword [rdx + rcx*8]
xor rax, qword [r8 + rcx*8]
mov qword [rdx + rcx*8], rax
inc rcx
cmp rcx, 0x10
jne 0x1401cf34c
lea rax, [rsp + 0x1f8]
lea rsi, [rsp + 0x138]
xor edx, edx
mov rbx, qword [rsp + 0x2d0]
mov rdi, rax
sub rax, qword [rsp + 0x2f0]
rep movsd dword [rdi], dword [rsi]
lea rsi, [rax + 0x40]
mov rax, qword [rsp + 0x2d0]
mov ecx, dword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x2e8]
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0xe8]
mov qword [rax + 0x80], rdx
xor eax, eax
mov ecx, 0x1e
rep stosd dword [rdi], eax
mov rax, qword [rsp + 0x2f0]
xor ecx, ecx
mov qword [rbx + 0x108], rcx
lea eax, [rax*8]
bswap rax
mov qword [rbx + 0x100], rax
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret