Function at 0x437580
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rax, qword [rcx + 0x20]
mov r15, qword [rcx + 0x80]
mov rsi, rcx
mov rdx, qword [rcx + 0x90]
mov rbx, qword [rcx + 0x60]
mov r8, qword [rcx + 0x30]
mov r12, qword [rcx + 0x70]
mov rcx, qword [rcx + 0x40]
mov rdi, qword [rsi + 0x88]
mov rbp, qword [rsi + 0x98]
mov r9, qword [rsi + 0x28]
mov r10, qword [rsi + 0x68]
mov r11, qword [rsi + 0x38]
mov qword [rsp + 0x58], rcx
mov r13, qword [rsi + 0x78]
mov r14, qword [rsi + 0x48]
mov rcx, qword [rsi + 0x58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rdi
lea rdi, [0x00519620]
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x10], r13
mov qword [rsp + 0x20], r14
mov qword [rsp + 8], rcx
mov qword [rsp], rdi
mov qword [rsp + 0x28], r15
mov r11, qword [rsp + 0x28]
mov r9, rdx
mov r14, rbx
not r9
not r14
mov rbp, qword [rsp + 0x58]
mov qword [rsi + 0x90], r9
mov r15, r12
mov r13, rbx
not r11
not r15
mov rcx, rax
mov qword [rsi + 0x80], r11
mov r10, qword [rdi]
and r13, r11
not rcx
and rcx, r12
and r14, r10
xor r14, qword [rsp + 0x50]
xor rdx, rcx
mov qword [rsi + 0x20], r14
mov rdi, qword [rdi + 0x10]
and r15, rdi
xor r8, r15
mov r15, rbp
and r15, r14
xor r14, r13
mov r13, r12
xor r15, r10
and r13, r9
mov r10, rax
xor r13, r8
and r10, r8
mov r8, rbp
not rbp
xor r10, rdi
mov rdi, rbx
and rbp, rbx
and rdi, r14
and rdx, r13
xor r11, rbp
xor rbp, qword [rsp + 0x28]
xor rdi, r8
mov r8, r12
xor r9, rcx
xor r12, rdx
and r8, r13
mov rdx, r11
mov rcx, r15
xor r8, rax
or rdx, rdi
mov rax, rdi
and rbp, r14
xor r14, rdx
xor rbp, rbx
mov rbx, r9
or rbx, r8
and rax, rbp
xor r13, rbx
xor r11, rax
and rcx, r14
xor rbp, r15
mov r15, r8
and r8, r12
xor r9, r8
xor rdi, rcx
xor r15, rbp
xor r9, r14
mov rdx, r13
mov rcx, r10
and r13, r10
xor rdx, rdi
xor rbp, r9
xor r13, r15
xor rcx, r12
mov rbx, rbp
xor rcx, r14
lea r12, [rdx + rdx]
xor r14, r13
lea r10, [r13 + r13]
xor rbx, rdx
xor rcx, r11
mov qword [rsi + 0x20], r14
xor r11, rdx
movabs rbp, 0x5555555555555555
mov qword [rsp + 0x50], r14
shr rdx, 1
movabs r14, 0xaaaaaaaaaaaaaaaa
movabs r8, 0xaaaaaaaaaaaaaaaa
and rdx, rbp
and r12, r14
and r10, r8
shr r13, 1
or r12, rdx
and r13, rbp
mov rdx, r10
lea r10, [rcx + rcx]
xor rdi, rcx
or rdx, r13
shr rcx, 1
movabs r13, 0xaaaaaaaaaaaaaaaa
movabs r15, 0x5555555555555555
mov qword [rsi + 0x40], rdi
and rcx, r15
and r10, r13
mov qword [rsi + 0x80], r11
or r10, rcx
lea rcx, [r9 + r9]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], r11
movabs rdi, 0xaaaaaaaaaaaaaaaa
movabs r11, 0x5555555555555555
shr r9, 1
and rcx, rdi
mov r8, qword [rsp + 0x68]
and r9, r11
mov r11, qword [rsp + 0x18]
mov qword [rsi + 0x60], rbx
or rcx, r9
mov r9, qword [rsp]
mov qword [rsi + 0x50], rdx
mov qword [rsi + 0x90], rcx
mov qword [rsp + 0x48], rcx
mov r15, r8
mov rcx, qword [rsp + 0x38]
not r11
mov qword [rsi + 0x70], r10
mov qword [rsi + 0x98], r11
mov qword [rsp + 0x70], r12
not r15
mov qword [rsi + 0x30], r12
mov qword [rsp + 0x28], rdx
mov r14, r8
not rcx
mov qword [rsi + 0x88], rcx
mov r12, qword [r9 + 8]
and r14, rcx
and r15, r12
xor r15, qword [rsp + 0x60]
mov qword [rsi + 0x28], r15
mov rax, qword [r9 + 0x18]
mov r13, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x20]
mov rbp, r13
mov rdi, rdx
mov r9, r13
not rbp
and rdi, r15
and r9, r11
and rbp, rax
xor rbp, qword [rsp + 0x30]
xor rdi, r12
mov r12, qword [rsp + 8]
xor r15, r14
and r12, rbp
xor rbp, r9
xor r12, rax
mov rax, rdx
mov rdx, r8
not rax
mov r14, rdx
mov r9, rdx
and rax, r8
mov r8, qword [rsp + 8]
and r14, r15
mov rdx, r13
xor r14, qword [rsp + 0x20]
xor rcx, rax
xor rax, qword [rsp + 0x38]
and rdx, rbp
xor rdx, qword [rsp + 8]
not r8
and r8, r13
mov r13, qword [rsp + 0x18]
xor r11, r8
and rax, r15
xor r13, r8
mov r8, rcx
xor rax, r9
or r8, r14
and r13, rbp
xor r13, qword [rsp + 0x10]
xor r15, r8
mov r8, r11
or r8, rdx
xor rbp, r8
mov r8, r14
and r8, rax
xor rax, rdi
mov r9, rbp
xor rcx, r8
mov r8, rdi
mov rdi, rdx
and rdx, r13
and r8, r15
xor rdi, rax
and rbp, r12
xor r11, rdx
xor r12, r13
xor rbp, rdi
xor r11, r15
xor r14, r8
xor r12, r15
xor r9, r14
xor r15, rbp
xor r12, rcx
xor rax, r11
mov qword [rsi + 0x28], r15
xor r14, r12
mov qword [rsp + 0x60], r15
mov r15, rax
lea rax, [r9 + r9]
mov qword [rsi + 0x48], r14
mov qword [rsp + 0x68], r14
movabs r14, 0xaaaaaaaaaaaaaaaa
xor r15, r9
xor rcx, r9
and rax, r14
shr r9, 1
movabs rdx, 0x5555555555555555
and r9, rdx
mov r13, rax
lea r8, [rbp + rbp]
or r13, r9
movabs r9, 0xaaaaaaaaaaaaaaaa
movabs rdi, 0x5555555555555555
and r8, r9
shr rbp, 1
mov qword [rsi + 0x88], rcx
and rbp, rdi
mov qword [rsp + 0x30], rcx
mov rcx, r8
lea r8, [r12 + r12]
or rcx, rbp
shr r12, 1
movabs rbp, 0xaaaaaaaaaaaaaaaa
and r12, rdi
movabs r14, 0xaaaaaaaaaaaaaaaa
and r8, rbp
mov r9, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
or r8, r12
lea r12, [r11 + r11]
mov qword [rsi + 0x38], r13
mov qword [rsp + 0x78], r13
mov qword [rsi + 0x68], r15
and r12, r14
shr r11, 1
not rbp
and r11, rdi
mov rdi, qword [rsp]
mov r13, r12
or r13, r11
not r9
mov qword [rsi + 0x78], r8
mov qword [rsi + 0x98], r13
mov qword [rsi + 0x80], rbp
mov r14, rbx
mov qword [rsi + 0x90], r9
mov qword [rsp + 0x10], rcx
not r14
mov qword [rsi + 0x58], rcx
mov rcx, qword [rdi + 0x20]
mov r12, r10
mov qword [rsp + 0x38], r13
not r12
and r14, rcx
xor r14, qword [rsp + 0x50]
mov qword [rsi + 0x20], r14
mov r11, qword [rsp + 0x58]
mov rax, qword [rdi + 0x30]
mov rdi, rbp
and rdi, rbx
mov r13, r11
and r13, r14
and r12, rax
xor r12, qword [rsp + 0x70]
xor r13, rcx
mov rcx, qword [rsp + 0x28]
xor r14, rdi
mov rdi, r14
and rdi, rbx
mov rdx, rcx
not rcx
and rdx, r12
and rcx, r10
xor rdx, rax
mov rax, r9
xor r9, rcx
and rax, r10
xor rcx, qword [rsp + 0x48]
xor r12, rax
mov rax, r11
not r11
and r11, rbx
xor rdi, rax
mov rax, r12
xor rbp, r11
xor r11, qword [rsp + 0x40]
and rax, r10
and rcx, r12
xor rax, qword [rsp + 0x28]
xor r10, rcx
mov rcx, rbp
or rcx, rdi
and r11, r14
xor r14, rcx
mov rcx, r9
xor r11, rbx
or rcx, rax
xor r12, rcx
mov rcx, rdi
and rcx, r11
xor r11, r13
xor rbp, rcx
mov rcx, r13
mov r13, rax
and rcx, r14
xor r13, r11
xor rdi, rcx
mov rcx, r12
and r12, rdx
xor rdx, r10
and r10, rax
xor rcx, rdi
xor r10, r14
xor rdx, r14
xor r12, r13
xor r9, r10
xor rdx, rbp
lea r10, [rcx*4]
xor rbp, rcx
xor r11, r9
lea rbx, [r12*4]
xor r11, rcx
mov qword [rsi + 0x80], rbp
mov qword [rsp + 0x18], rbp
movabs rbp, 0xcccccccccccccccc
mov r13, r11
mov qword [rsi + 0x60], r11
and r10, rbp
shr rcx, 2
movabs r11, 0x3333333333333333
and rcx, r11
mov rax, r10
xor r14, r12
or rax, rcx
movabs rcx, 0xcccccccccccccccc
xor rdi, rdx
mov qword [rsi + 0x20], r14
and rbx, rcx
mov qword [rsp + 0x40], r14
shr r12, 2
movabs r14, 0x3333333333333333
mov qword [rsi + 0x40], rdi
and r12, r14
mov qword [rsp + 0x48], rdi
lea r11, [rdx*4]
mov rdi, rbx
movabs r10, 0x3333333333333333
shr rdx, 2
or rdi, r12
movabs r12, 0xcccccccccccccccc
lea rbp, [r9*4]
and r11, r12
and rdx, r10
shr r9, 2
or r11, rdx
movabs rdx, 0xcccccccccccccccc
mov qword [rsi + 0x30], rax
and rbp, rdx
and r9, r10
mov qword [rsp + 0x50], rax
mov rbx, qword [rsp + 0x30]
mov rax, rbp
mov r10, qword [rsp + 0x38]
or rax, r9
mov r9, qword [rsp]
mov qword [rsi + 0x50], rdi
mov qword [rsi + 0x70], r11
mov qword [rsi + 0x90], rax
mov rbp, r15
not rbx
not r10
not rbp
mov qword [rsi + 0x88], rbx
mov qword [rsi + 0x98], r10
mov r14, qword [r9 + 0x28]
mov qword [rsp + 0x20], rax
mov qword [rsp + 8], rdi
mov rdi, r8
mov rcx, qword [rsp + 0x68]
not rdi
and rbp, r14
xor rbp, qword [rsp + 0x60]
mov r12, rcx
mov qword [rsi + 0x28], rbp
mov rax, qword [r9 + 0x38]
and r12, rbp
xor r12, r14
and rdi, rax
xor rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x10]
mov rdx, r9
not r9
and rdx, rdi
and r9, r8
xor rdx, rax
mov rax, rbx
and rax, r15
xor rbp, rax
mov rax, r10
xor r10, r9
and rax, r8
mov r14, rbp
xor r9, qword [rsp + 0x38]
xor rdi, rax
mov rax, rcx
not rcx
and rcx, r15
and r14, r15
xor rbx, rcx
xor rcx, qword [rsp + 0x30]
xor r14, rax
mov rax, rdi
and r9, rdi
and rax, r8
xor rax, qword [rsp + 0x10]
xor r8, r9
mov r9, r10
and rcx, rbp
xor r15, rcx
mov rcx, rbx
or rcx, r14
or r9, rax
xor rdi, r9
mov r9, r14
xor rbp, rcx
and r9, r15
xor r15, r12
mov rcx, rax
xor r9, rbx
mov rbx, r12
mov r12, rdi
and rdi, rdx
xor rdx, r8
and r8, rax
and rbx, rbp
xor r8, rbp
xor rcx, r15
xor r10, r8
xor r14, rbx
xor rdx, rbp
xor r12, r14
xor r15, r10
xor rdx, r9
xor r15, r12
lea r8, [r12*4]
xor rdi, rcx
mov rbx, r15
xor r14, rdx
mov qword [rsi + 0x68], r15
movabs r15, 0xcccccccccccccccc
xor r9, r12
mov qword [rsi + 0x48], r14
and r8, r15
mov qword [rsp + 0x60], r14
shr r12, 2
movabs r14, 0x3333333333333333
lea r15, [rdi*4]
mov qword [rsi + 0x88], r9
and r12, r14
mov qword [rsp + 0x28], r9
mov rax, r8
movabs r9, 0xcccccccccccccccc
xor rbp, rdi
or rax, r12
and r15, r9
shr rdi, 2
movabs r12, 0x3333333333333333
and rdi, r12
mov rcx, r15
lea r9, [rdx*4]
or rcx, rdi
movabs rdi, 0xcccccccccccccccc
mov qword [rsi + 0x28], rbp
and r9, rdi
mov qword [rsp + 0x58], rbp
shr rdx, 2
movabs rbp, 0x3333333333333333
movabs r8, 0xcccccccccccccccc
movabs r14, 0x3333333333333333
and rdx, rbp
mov qword [rsi + 0x38], rax
mov qword [rsp + 0x68], rax
or r9, rdx
lea rdx, [r10*4]
shr r10, 2
and r10, r14
mov r15, qword [rsp]
mov qword [rsi + 0x58], rcx
and rdx, r8
mov r8, qword [rsp + 0x20]
mov qword [rsi + 0x78], r9
mov rax, rdx
mov r14, r13
mov qword [rsp + 0x10], rcx
or rax, r10
mov r10, qword [rsp + 0x18]
not r14
not r8
mov qword [rsi + 0x98], rax
mov rcx, qword [rsp + 0x48]
mov qword [rsi + 0x90], r8
mov r12, r11
mov qword [rsp + 0x30], rax
not r10
not r12
mov qword [rsi + 0x80], r10
mov rdi, qword [r15 + 0x40]
mov rax, r10
and rax, r13
and r14, rdi
xor r14, qword [rsp + 0x40]
mov qword [rsi + 0x20], r14
mov rbp, qword [r15 + 0x50]
mov r15, rcx
and r15, r14
xor r14, rax
mov rax, rcx
xor r15, rdi
mov rdi, qword [rsp + 8]
and r12, rbp
xor r12, qword [rsp + 0x50]
mov rdx, rdi
and rdx, r12
xor rdx, rbp
mov rbp, r8
and rbp, r11
xor r12, rbp
mov rbp, rcx
mov rcx, rdi
not rbp
mov rdi, r14
not rcx
and rbp, r13
and rdi, r13
and rcx, r11
xor rdi, rax
xor r10, rbp
mov rax, r12
xor rbp, qword [rsp + 0x18]
xor r8, rcx
and rax, r11
xor rax, qword [rsp + 8]
xor rcx, qword [rsp + 0x20]
and rbp, r14
xor rbp, r13
and rcx, r12
mov r13, r10
xor r11, rcx
mov rcx, r8
or r13, rdi
or rcx, rax
xor r14, r13
mov r13, rdi
xor r12, rcx
and r13, rbp
mov rcx, r15
xor rbp, r15
mov r15, r12
and r12, rdx
xor rdx, r11
and r11, rax
and rcx, r14
xor r11, r14
xor rdi, rcx
mov rcx, rax
xor r8, r11
xor r15, rdi
xor r10, r13
xor rcx, rbp
xor rdx, r14
xor rbp, r8
xor rcx, r12
xor rdx, r10
xor rbp, r15
xor r10, r15
mov r11, r15
movabs rax, 0xf0f0f0f0f0f0f0f
shr r15, 4
mov r12, rbp
mov qword [rsi + 0x60], rbp
and r15, rax
shl r11, 4
movabs rbp, 0xf0f0f0f0f0f0f0f0
mov rax, rcx
and r11, rbp
xor r14, rcx
shl rax, 4
or r11, r15
movabs r13, 0xf0f0f0f0f0f0f0f0
mov r15, rax
xor rdi, rdx
mov qword [rsi + 0x20], r14
and r15, r13
mov qword [rsp + 0x38], r14
shr rcx, 4
movabs r14, 0xf0f0f0f0f0f0f0f
mov r13, rdx
mov qword [rsi + 0x40], rdi
and rcx, r14
shl r13, 4
mov qword [rsp + 0x40], rdi
or r15, rcx
movabs rcx, 0xf0f0f0f0f0f0f0f0
shr rdx, 4
and r13, rcx
movabs rdi, 0xf0f0f0f0f0f0f0f
mov rcx, r8
and rdx, rdi
shl rcx, 4
mov qword [rsi + 0x80], r10
or r13, rdx
mov qword [rsp + 0x18], r10
movabs rdx, 0xf0f0f0f0f0f0f0f0
mov r10, rcx
mov qword [rsi + 0x30], r11
mov qword [rsp + 0x48], r11
and r10, rdx
shr r8, 4
movabs r11, 0xf0f0f0f0f0f0f0f
and r8, r11
mov rbp, r10
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
or rbp, r8
mov r8, qword [rsp]
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x70], r13
mov rdi, r9
not r11
mov qword [rsi + 0x90], rbp
mov qword [rsp + 0x20], rbp
not r10
mov qword [rsi + 0x88], r11
mov rbp, rbx
mov qword [rsi + 0x98], r10
mov r14, qword [r8 + 0x48]
not rbp
not rdi
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 8], r15
and rbp, r14
xor rbp, qword [rsp + 0x58]
mov r15, rcx
mov qword [rsi + 0x28], rbp
mov rax, qword [r8 + 0x58]
and r15, rbp
mov r8, qword [rsp + 0x10]
xor r15, r14
and rdi, rax
xor rdi, qword [rsp + 0x68]
mov rdx, r8
not r8
and r8, r9
and rdx, rdi
xor rdx, rax
mov rax, r11
and rax, rbx
xor rbp, rax
mov rax, r10
xor r10, r8
and rax, r9
mov r14, rbp
xor rdi, rax
and r14, rbx
mov rax, rcx
not rcx
xor r14, rax
mov rax, rdi
and rcx, rbx
xor r11, rcx
and rax, r9
xor rcx, qword [rsp + 0x28]
xor r8, qword [rsp + 0x30]
xor rax, qword [rsp + 0x10]
and rcx, rbp
and r8, rdi
xor rcx, rbx
mov rbx, r11
xor r9, r8
mov r8, r10
or rbx, r14
or r8, rax
xor rbp, rbx
mov rbx, r14
xor rdi, r8
mov r8, r15
and rbx, rcx
and r8, rbp
xor rcx, r15
mov r15, rax
xor r14, r8
mov r8, rdi
and rdi, rdx
xor rdx, r9
and r9, rax
xor r8, r14
xor r9, rbp
xor r11, rbx
xor r15, rcx
xor r10, r9
xor rdx, rbp
xor rdi, r15
xor rcx, r10
xor rdx, r11
mov rax, r8
mov r15, rcx
xor rbp, rdi
xor r14, rdx
xor r15, r8
xor r11, r8
shl rax, 4
mov r9, rax
movabs rcx, 0xf0f0f0f0f0f0f0f0
mov qword [rsp + 0x50], rbp
and r9, rcx
mov qword [rsi + 0x28], rbp
shr r8, 4
mov qword [rsp + 0x58], r14
mov qword [rsi + 0x48], r14
movabs r14, 0xf0f0f0f0f0f0f0f
and r8, r14
mov rbx, r9
mov rax, rdi
or rbx, r8
shl rax, 4
movabs rbp, 0xf0f0f0f0f0f0f0f0
mov qword [rsi + 0x38], rbx
mov qword [rsp + 0x60], rbx
mov rbx, rax
mov qword [rsi + 0x88], r11
and rbx, rbp
mov qword [rsp + 0x28], r11
shr rdi, 4
movabs r11, 0xf0f0f0f0f0f0f0f
mov r9, rbx
and rdi, r11
mov r8, rdx
movabs rcx, 0xf0f0f0f0f0f0f0f
or r9, rdi
shl r8, 4
movabs rdi, 0xf0f0f0f0f0f0f0f0
mov qword [rsi + 0x58], r9
mov qword [rsp + 0x10], r9
shr rdx, 4
mov r9, r10
and rdx, rcx
and r8, rdi
shl r9, 4
or r8, rdx
movabs r14, 0xf0f0f0f0f0f0f0f0
mov rdx, r9
shr r10, 4
movabs rax, 0xf0f0f0f0f0f0f0f
and r10, rax
and rdx, r14
mov r11, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
or rdx, r10
mov r10, qword [rsp]
mov qword [rsi + 0x68], r15
mov qword [rsi + 0x78], r8
mov r14, r12
not r11
mov qword [rsi + 0x98], rdx
not r14
not r9
mov qword [rsi + 0x80], r11
mov rcx, qword [rsp + 0x40]
mov qword [rsi + 0x90], r9
mov rdi, qword [r10 + 0x60]
mov rbx, r13
not rbx
mov qword [rsp + 0x30], rdx
mov rbp, rcx
and r14, rdi
xor r14, qword [rsp + 0x38]
mov qword [rsi + 0x20], r14
mov rax, qword [r10 + 0x70]
and rbp, r14
xor rbp, rdi
mov rdi, qword [rsp + 8]
mov r10, rcx
not r10
and rbx, rax
xor rbx, qword [rsp + 0x48]
mov rdx, rdi
and rdx, rbx
xor rdx, rax
mov rax, r11
and rax, r12
xor r14, rax
mov rax, r9
and rax, r13
xor rbx, rax
mov rax, rcx
mov rcx, rdi
and r10, r12
not rcx
mov rdi, r14
xor r11, r10
and rcx, r13
xor r10, qword [rsp + 0x18]
xor r9, rcx
and rdi, r12
xor rcx, qword [rsp + 0x20]
xor rdi, rax
mov rax, rbx
and rax, r13
xor rax, qword [rsp + 8]
and r10, r14
xor r10, r12
and rcx, rbx
mov r12, r11
xor r13, rcx
or r12, rdi
mov rcx, r9
xor r14, r12
or rcx, rax
mov r12, rdi
xor rbx, rcx
and r12, r10
mov rcx, rbp
xor r11, r12
and rcx, r14
xor r10, rbp
mov r12, rax
mov rbp, rbx
and rbx, rdx
xor rdx, r13
and r13, rax
xor rdi, rcx
xor r12, r10
xor rdx, r14
xor r13, r14
xor rbp, rdi
xor rbx, r12
xor rdx, r11
xor r9, r13
mov rax, rbp
xor r14, rbx
xor r10, r9
xor rdi, rdx
xor r11, rbp
xor r10, rbp
shl rax, 8
mov qword [rsp + 0x38], r14
mov qword [rsi + 0x20], r14
mov qword [rsp + 0x40], rdi
mov r13, rax
mov qword [rsi + 0x40], rdi
mov qword [rsi + 0x60], r10
mov rcx, r10
mov qword [rsp + 0x18], r11
mov qword [rsi + 0x80], r11
movabs r11, 0xff00ff00ff00ff00
and r13, r11
shr rbp, 8
movabs r10, 0xff00ff00ff00ff
mov rax, rbx
and rbp, r10
mov r12, r13
shl rax, 8
or r12, rbp
movabs rbp, 0xff00ff00ff00ff00
mov r10, rax
shr rbx, 8
movabs r14, 0xff00ff00ff00ff
and r10, rbp
and rbx, r14
movabs r13, 0xff00ff00ff00ff
mov rdi, r10
mov r10, rdx
shr rdx, 8
or rdi, rbx
shl r10, 8
movabs rbx, 0xff00ff00ff00ff00
and rdx, r13
and r10, rbx
mov qword [rsi + 0x30], r12
or r10, rdx
mov rdx, r9
mov qword [rsp + 0x48], r12
shl rdx, 8
movabs r11, 0xff00ff00ff00ff00
shr r9, 8
movabs r12, 0xff00ff00ff00ff
mov qword [rsi + 0x50], rdi
and rdx, r11
and r9, r12
mov qword [rsp + 8], rdi
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
or rdx, r9
mov r9, qword [rsp]
mov qword [rsi + 0x70], r10
mov qword [rsi + 0x90], rdx
mov rbp, r15
not r12
not rbp
mov r13, r8
not rdi
mov qword [rsi + 0x88], r12
mov r11, qword [rsp + 0x58]
mov qword [rsi + 0x98], rdi
mov r14, qword [r9 + 0x68]
not r13
mov qword [rsp + 0x20], rdx
mov rbx, r11
and rbp, r14
xor rbp, qword [rsp + 0x50]
mov qword [rsi + 0x28], rbp
mov rax, qword [r9 + 0x78]
and rbx, rbp
mov r9, qword [rsp + 0x10]
xor rbx, r14
mov r14, r12
and r13, rax
xor r13, qword [rsp + 0x60]
mov rdx, r9
not r9
and rdx, r13
and r14, r15
and r9, r8
xor rdx, rax
mov rax, rdi
xor rbp, r14
and rax, r8
mov r14, rbp
xor rdi, r9
xor r13, rax
mov rax, r11
not r11
and r11, r15
and r14, r15
xor r9, qword [rsp + 0x30]
xor r12, r11
xor r11, qword [rsp + 0x28]
xor r14, rax
mov rax, r13
and rax, r8
xor rax, qword [rsp + 0x10]
and r9, r13
and r11, rbp
xor r8, r9
mov r9, r14
xor r15, r11
mov r11, r12
or r11, r14
and r9, r15
xor r15, rbx
xor rbp, r11
mov r11, rdi
xor r12, r9
or r11, rax
xor r13, r11
mov r11, rbx
movabs rbx, 0xff00ff00ff00ff
and r11, rbp
mov r9, r13
and r13, rdx
xor r14, r11
mov r11, rax
xor r11, r15
xor r9, r14
xor r13, r11
xor rdx, r8
and r8, rax
xor r8, rbp
mov rax, r9
xor rdx, rbp
xor rdi, r8
xor rbp, r13
shl rax, 8
xor r15, rdi
xor rdx, r12
mov qword [rsp + 0x30], rbp
xor r15, r9
xor r12, r9
mov qword [rsi + 0x28], rbp
mov qword [rsi + 0x68], r15
mov rbp, r15
mov r8, rax
movabs r15, 0xff00ff00ff00ff00
xor r14, rdx
mov qword [rsp + 0x10], r12
and r8, r15
mov qword [rsi + 0x88], r12
shr r9, 8
movabs r12, 0xff00ff00ff00ff
mov qword [rsp + 0x58], r14
mov qword [rsi + 0x48], r14
and r9, r12
mov r14, r8
movabs r11, 0xff00ff00ff00ff00
or r14, r9
mov r9, r13
shr r13, 8
shl r9, 8
and r13, rbx
mov qword [rsp + 0x60], r14
and r9, r11
mov qword [rsi + 0x38], r14
mov rax, rdi
or r9, r13
movabs r13, 0xff00ff00ff00ff00
shl rax, 8
mov qword [rsp + 0x68], r9
mov qword [rsi + 0x58], r9
mov r9, rdx
shl r9, 8
shr rdx, 8
mov r15, rax
and rdx, rbx
and r9, r13
shr rdi, 8
or r9, rdx
movabs rdx, 0xff00ff00ff00ff00
and rdi, rbx
and r15, rdx
mov r13, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov r12, r15
mov qword [rsi + 0x78], r9
mov r14, rcx
or r12, rdi
mov rdi, qword [rsp]
not r14
not r13
not rbx
mov qword [rsi + 0x98], r12
mov qword [rsi + 0x80], r13
mov qword [rsi + 0x90], rbx
mov r15, r10
mov r11, qword [rdi + 0x80]
not r15
mov r8, qword [rsp + 8]
mov qword [rsp + 0x28], r12
and r14, r11
xor r14, qword [rsp + 0x38]
mov rdx, r8
not r8
and r8, r10
mov qword [rsi + 0x20], r14
mov rax, qword [rdi + 0x90]
mov rdi, qword [rsp + 0x40]
and r15, rax
xor r15, qword [rsp + 0x48]
mov r12, rdi
and r12, r14
xor r12, r11
mov r11, rdi
and rdx, r15
not r11
xor rdx, rax
mov rax, r13
and r11, rcx
and rax, rcx
xor r13, r11
xor r11, qword [rsp + 0x18]
xor r14, rax
mov rax, rbx
xor rbx, r8
and rax, r10
xor r8, qword [rsp + 0x20]
xor r15, rax
mov rax, rdi
mov rdi, r14
and rdi, rcx
and r11, r14
xor rdi, rax
mov rax, r15
xor r11, rcx
and rax, r10
xor rax, qword [rsp + 8]
and r8, r15
mov rcx, r13
xor r10, r8
mov r8, rbx
or rcx, rdi
xor r14, rcx
mov rcx, rdi
or r8, rax
and rcx, r11
xor r15, r8
mov r8, r12
xor r13, rcx
and r8, r14
xor r11, r12
mov r12, r15
and r15, rdx
xor rdx, r10
and r10, rax
xor r10, r14
xor rdi, r8
mov rcx, rax
xor rbx, r10
xor r12, rdi
xor rcx, r11
xor r11, rbx
xor rdx, r14
xor r15, rcx
xor r11, r12
xor rdx, r13
xor r13, r12
mov qword [rsp + 0x48], r11
mov qword [rsi + 0x60], r11
mov r11, r12
shl r11, 0x10
mov qword [rsp + 0x18], r13
mov qword [rsi + 0x80], r13
mov r10, r11
movabs r13, 0xffff0000ffff0000
shr r12, 0x10
and r10, r13
movabs rax, 0xffff0000ffff
mov rcx, r15
xor r14, r15
xor rdi, rdx
and r12, rax
shl rcx, 0x10
mov r8, r10
mov qword [rsp + 0x38], r14
or r8, r12
mov qword [rsi + 0x20], r14
mov qword [rsp + 0x40], rdi
mov qword [rsi + 0x40], rdi
mov r12, rcx
movabs r14, 0xffff0000ffff0000
shr r15, 0x10
movabs rdi, 0xffff0000ffff
and r12, r14
and r15, rdi
movabs r10, 0xffff0000ffff
movabs r11, 0xffff0000ffff0000
or r12, r15
mov r15, rdx
shr rdx, 0x10
shl r15, 0x10
and rdx, r10
mov rcx, rbx
and r15, r11
mov qword [rsp + 0x50], r8
mov qword [rsi + 0x30], r8
or r15, rdx
shl rcx, 0x10
movabs rdx, 0xffff0000ffff0000
mov r13, rcx
shr rbx, 0x10
mov qword [rsp + 8], r12
and r13, rdx
and rbx, r10
mov qword [rsi + 0x50], r12
mov r8, r13
mov qword [rsi + 0x70], r15
mov r11, rbp
or r8, rbx
not r11
mov r13, r9
mov qword [rsp + 0x20], r8
mov qword [rsi + 0x90], r8
not r13
mov r10, qword [rsp + 0x10]
mov r8, qword [rsp + 0x28]
mov rbx, qword [rsp]
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
not r10
not r8
mov qword [rsi + 0x88], r10
mov qword [rsi + 0x98], r8
mov rcx, r14
mov r12, qword [rbx + 0x88]
mov rdx, rdi
and r11, r12
xor r11, qword [rsp + 0x30]
mov qword [rsi + 0x28], r11
mov rax, qword [rbx + 0x98]
mov rbx, rdi
and rbx, r11
xor rbx, r12
mov r12, rdi
and r13, rax
xor r13, qword [rsp + 0x60]
not r12
and r12, rbp
and rcx, r13
xor rcx, rax
mov rax, r10
xor r10, r12
and rax, rbp
xor r12, qword [rsp + 0x10]
xor r11, rax
mov rax, r8
and rax, r9
mov rdi, r11
xor r13, rax
mov rax, r14
and rdi, rbp
not rax
xor rdi, rdx
mov rdx, r13
and rax, r9
and rdx, r9
and r12, r11
xor r8, rax
xor rax, qword [rsp + 0x28]
xor rdx, r14
xor r12, rbp
mov rbp, r10
and rax, r13
xor r9, rax
mov rax, r8
or rbp, rdi
or rax, rdx
xor r11, rbp
mov rbp, rdi
xor r13, rax
mov rax, rbx
and rbp, r12
and rax, r11
mov r14, r13
and r13, rcx
xor rcx, r9
and r9, rdx
xor rdi, rax
xor r12, rbx
xor r9, r11
mov rax, rdx
xor r14, rdi
xor r8, r9
xor rax, r12
xor r13, rax
xor r10, rbp
xor rcx, r11
xor r12, r8
mov rax, r14
xor rcx, r10
xor r12, r14
shl rax, 0x10
xor rdi, rcx
mov rbx, r12
mov qword [rsi + 0x68], r12
mov r9, rax
movabs r12, 0xffff0000ffff0000
xor r10, r14
mov qword [rsp + 0x70], rdi
and r9, r12
mov qword [rsi + 0x48], rdi
shr r14, 0x10
movabs rdi, 0xffff0000ffff
mov rdx, r9
mov rax, r13
and r14, rdi
shl rax, 0x10
xor r11, r13
or rdx, r14
movabs r14, 0xffff0000ffff0000
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x78], rdx
mov qword [rsi + 0x38], rdx
mov rdx, rax
and rdx, r14
mov qword [rsi + 0x28], r11
shr r13, 0x10
movabs r11, 0xffff0000ffff
mov qword [rsp + 0x28], r10
mov qword [rsi + 0x88], r10
and r13, r11
mov r10, rdx
mov rdi, rcx
or r10, r13
shl rdi, 0x10
movabs r13, 0xffff0000ffff0000
mov qword [rsp + 0x10], r10
mov qword [rsi + 0x58], r10
shr rcx, 0x10
movabs r9, 0xffff0000ffff
mov r10, r8
and rdi, r13
and rcx, r9
shl r10, 0x10
shr r8, 0x10
or rdi, rcx
mov r14, r10
movabs rcx, 0xffff0000ffff0000
and r14, rcx
movabs r12, 0xffff0000ffff
mov rax, qword [rsp + 0x18]
and r8, r12
mov rbp, r14
mov qword [rsi + 0x78], rdi
or rbp, r8
mov r11, r15
mov qword [rsp + 0x30], rbp
mov qword [rsi + 0x98], rbp
not rax
mov rbp, qword [rsp + 0x20]
mov qword [rsi + 0x80], rax
not r11
not rbp
mov qword [rsi + 0x90], rbp
mov r8, qword [rsp]
mov r9, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov rdx, qword [r8 + 0xa0]
mov r14, r9
mov r13, r12
mov rcx, r9
not r14
and rcx, rax
and r14, rdx
xor r14, qword [rsp + 0x38]
mov qword [rsi + 0x20], r14
mov r10, qword [r8 + 0xb0]
and r13, r14
mov r8, qword [rsp + 8]
xor rdx, r13
mov r13, r12
not r13
xor r14, rcx
mov rcx, rbp
and r11, r10
xor r11, qword [rsp + 0x50]
and r13, r9
and rcx, r15
xor rax, r13
and r8, r11
xor r11, rcx
mov rcx, r12
xor r8, r10
mov r10, r9
mov r9, qword [rsp + 8]
mov r12, r10
and r12, r14
not r9
xor r12, rcx
mov rcx, r11
and r9, r15
and rcx, r15
xor rcx, qword [rsp + 8]
xor rbp, r9
xor r13, qword [rsp + 0x18]
xor r9, qword [rsp + 0x20]
and r13, r14
and r9, r11
xor r13, r10
xor r15, r9
mov r10, rax
mov r9, rbp
or r10, r12
or r9, rcx
xor r14, r10
mov r10, r12
xor r11, r9
mov r9, rdx
and r10, r13
and r9, r14
xor r13, rdx
mov rdx, rcx
xor r12, r9
mov r9, r11
and r11, r8
xor r8, r15
and r15, rcx
xor rax, r10
xor r15, r14
xor rdx, r13
xor r8, r14
xor rbp, r15
xor r9, r12
xor r11, rdx
xor r8, rax
xor r13, rbp
xor r14, r11
xor r13, r9
xor rax, r9
xor r12, r8
rol r9, 0x20
rol r11, 0x20
rol r8, 0x20
rol rbp, 0x20
mov qword [rsp + 0x58], r12
mov qword [rsi + 0x40], r12
mov qword [rsp + 0x20], rbp
mov qword [rsi + 0x90], rbp
mov rdx, r13
mov r12, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov r10, qword [rsp]
mov qword [rsp + 0x50], r14
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x60], r13
mov r13, rdi
not r12
not rbp
mov qword [rsp + 0x18], rax
mov qword [rsi + 0x80], rax
mov qword [rsp + 0x60], r9
not r13
mov qword [rsi + 0x30], r9
mov qword [rsp + 8], r11
mov r14, rbp
mov qword [rsi + 0x50], r11
mov qword [rsi + 0x70], r8
mov r11, rbx
mov qword [rsi + 0x88], r12
mov qword [rsi + 0x98], rbp
not r11
mov rcx, qword [r10 + 0xa8]
and r14, rdi
and r11, rcx
xor r11, qword [rsp + 0x68]
mov qword [rsi + 0x28], r11
mov r15, qword [r10 + 0xb8]
mov r10, qword [rsp + 0x70]
and r13, r15
xor r13, qword [rsp + 0x78]
mov r9, r10
mov rax, r10
and r9, r11
xor r9, rcx
mov rcx, qword [rsp + 0x10]
and rcx, r13
xor r13, r14
mov r14, r10
mov r10, qword [rsp + 0x10]
xor rcx, r15
mov r15, r12
and r15, rbx
not r14
xor r15, r11
and r14, rbx
not r10
xor r12, r14
mov r11, r15
and r10, rdi
xor r14, qword [rsp + 0x28]
and r11, rbx
xor rbp, r10
xor r10, qword [rsp + 0x30]
xor r11, rax
mov rax, r13
and rax, rdi
xor rax, qword [rsp + 0x10]
and r14, r15
and r10, r13
xor rbx, r14
mov r14, r12
xor rdi, r10
or r14, r11
mov r10, rbp
xor r15, r14
or r10, rax
mov r14, r11
xor r13, r10
and r14, rbx
mov r10, r9
xor r12, r14
mov r14, r13
and r13, rcx
xor rcx, rdi
and rdi, rax
and r10, r15
xor rdi, r15
xor r11, r10
xor rbx, r9
xor rbp, rdi
mov r9, rax
xor r14, r11
xor r9, rbx
xor rbx, rbp
rol rbp, 0x20
xor rbx, r14
mov qword [rsi + 0x98], rbp
mov qword [rsp + 0x48], rbp
mov rdi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x18]
xor r13, r9
xor rcx, r15
mov r9, rbx
mov qword [rsi + 0x68], rbx
mov rbx, qword [rsp]
xor rcx, r12
xor r15, r13
xor r11, rcx
xor r12, r14
rol rcx, 0x20
rol r14, 0x20
rol r13, 0x20
not rbp
not rdi
mov qword [rsi + 0x28], r15
mov qword [rsi + 0x48], r11
mov qword [rsi + 0x88], r12
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x58], r13
mov qword [rsi + 0x78], rcx
mov qword [rsi + 0x80], rbp
mov qword [rsi + 0x90], rdi
mov rax, qword [rbx + 0xc0]
mov qword [rsp + 0x78], r14
mov r14, rdx
not r14
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r13
mov r13, r8
and r14, rax
xor r14, qword [rsp + 0x50]
not r13
mov qword [rsi + 0x20], r14
mov r10, qword [rbx + 0xd0]
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 8]
and r13, r10
xor r13, qword [rsp + 0x60]
mov r15, r11
and r15, r14
xor r15, rax
mov rax, rbp
and rbx, r13
xor rbx, r10
and rax, rdx
mov r10, qword [rsp + 8]
xor r14, rax
mov rax, rdi
and rax, r8
mov r12, r14
xor r13, rax
mov rax, r11
not r10
not rax
and r10, r8
and r12, rdx
and rax, rdx
xor rdi, r10
xor r10, qword [rsp + 0x20]
xor rbp, rax
xor rax, qword [rsp + 0x18]
xor r12, r11
mov r11, r13
and r11, r8
xor r11, qword [rsp + 8]
and r10, r13
and rax, r14
xor r8, r10
mov r10, rdi
xor rax, rdx
mov rdx, rbp
or rdx, r12
or r10, r11
xor r14, rdx
xor r13, r10
mov rdx, r12
mov r10, r15
and rdx, rax
xor rax, r15
and r10, r14
xor rbp, rdx
mov rdx, r13
xor r12, r10
and r13, rbx
xor rbx, r8
xor rdx, r12
mov r15, rdx
mov qword [rsi + 0x30], rdx
mov rdx, r11
xor rdx, rax
mov qword [rsp + 0x30], r15
xor r13, rdx
xor rbx, r14
and r8, r11
xor r8, rdi
xor rbx, rbp
xor rbp, r15
xor r8, r14
mov qword [rsi + 0x50], r13
xor r14, r13
xor rax, r8
mov qword [rsi + 0x80], rbp
mov qword [rsp + 8], r13
xor rax, r15
mov qword [rsp + 0x28], rbp
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
xor r12, rbx
mov qword [rsi + 0x70], rbx
mov qword [rsi + 0x60], rax
mov qword [rsp + 0x10], rbx
mov rbx, rax
mov rax, qword [rsp]
not r13
mov qword [rsi + 0x20], r14
not rbp
mov qword [rsi + 0x40], r12
mov qword [rsi + 0x88], r13
mov qword [rsi + 0x98], rbp
mov qword [rsi + 0x90], r8
mov r15, r9
mov qword [rsp + 0x18], r8
mov r8, qword [rax + 0xc8]
not r15
mov qword [rsp + 0x50], r14
mov r14, rcx
mov qword [rsp + 0x58], r12
not r14
mov r10, r13
and r15, r8
xor r15, qword [rsp + 0x68]
and r10, r9
mov qword [rsi + 0x28], r15
mov rdx, qword [rax + 0xd8]
mov rax, rbp
and rax, rcx
and r14, rdx
xor r14, qword [rsp + 0x78]
mov r11, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rdi, r11
and rdi, r15
and r12, r14
xor r15, r10
xor rdi, r8
mov r8, r11
xor r12, rdx
not r8
mov rdx, qword [rsp + 0x40]
xor rax, r14
and r8, r9
mov r14, r15
mov r10, r11
xor r13, r8
xor r8, qword [rsp + 0x38]
and r14, r9
mov r11, rdx
xor r14, r10
mov r10, rax
not r11
and r10, rcx
and r11, rcx
xor r10, rdx
mov rdx, r13
and r8, r15
xor rbp, r11
xor r9, r8
xor r11, qword [rsp + 0x48]
or rdx, r14
xor r15, rdx
mov rdx, r14
add qword [rsp], 0xe0
and rdx, r9
xor r9, rdi
xor r13, rdx
mov rdx, rdi
mov rdi, qword [rsp]
and r11, rax
and rdx, r15
xor rcx, r11
mov r11, rbp
xor r14, rdx
or r11, r10
mov rdx, r10
xor rax, r11
xor rdx, r9
mov r8, rax
and rax, r12
xor r12, rcx
and rcx, r10
xor r8, r14
xor rax, rdx
xor rcx, rbp
xor r12, r15
mov rbp, qword [rsp + 0x18]
xor rcx, r15
xor r12, r13
xor r15, rax
xor r9, rcx
xor r13, r8
mov rdx, rcx
xor r9, r8
mov qword [rsp + 0x60], r15
mov qword [rsi + 0x28], r15
mov qword [rsp + 0x68], r9
mov qword [rsi + 0x68], r9
lea r15, [0x00519b60]
mov qword [rsp + 0x38], r13
mov qword [rsi + 0x88], r13
xor r14, r12
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 8]
cmp r15, rdi
mov r13, qword [rsp + 0x10]
mov qword [rsp + 0x20], r14
mov qword [rsi + 0x48], r14
mov qword [rsi + 0x30], r8
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x50], rax
mov qword [rsi + 0x58], r9
mov qword [rsi + 0x70], r12
mov qword [rsi + 0x78], r13
mov qword [rsi + 0x90], rdx
mov qword [rsi + 0x98], rbp
jne 0x437624
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret