Function at 0x140042590
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
mov r14, r9
mov rbx, r8
mov r12, rdx
mov r15, qword [rsp + 0x278]
mov rbp, qword [rsp + 0x270]
movzx esi, byte [rsp + 0x288]
movzx r13d, byte [rsp + 0x280]
cmp cl, 2
jne 0x1400425f9
mov eax, dword [0x141f32ce8]
xor edx, edx
div dword [0x141f32cec]
imul eax, eax, 0x6d1ee4e3
add eax, 0xc5c23f4c
and eax, 0xa4ece030
cmp eax, 0xf6e4491a
jbe 0x140042633
jmp 0x140042673
mov r15, qword [r14]
mov r8, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
mov rsi, qword [r14 + 0x18]
mov rdi, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x110], rax
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0xf8], rax
xor eax, eax
test al, al
je 0x1400426c9
jmp 0x14004274b
mov eax, dword [0x141f32cf0]
or eax, dword [0x141f32cf4]
imul edi, eax, 0xae420fe8
xor edi, 0xf691c112
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, rbx
mov r8, r14
mov r9, rbp
call fcn.140044270
cmp edi, 0x32a95ba5
jae 0x1400426a0
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x28], r13b
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, rbx
mov r8, r14
mov r9, rbp
call fcn.140044270
jmp 0x140042633
mov eax, dword [0x141f32cf8]
mov ecx, dword [0x141f32cfc]
add eax, ecx
add eax, 0xb9f546f4
and eax, 0x595f82d5
add eax, 0xc377cde6
cmp eax, 0xc2e8e7a8
jae 0x1400426a0
jmp 0x140044230
mov eax, dword [0x141f32d00]
add eax, dword [0x141f32d04]
imul eax, eax, 0xace464a8
imul rcx, rax, 0x52aa2cb1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
xor r9d, r9d
mov rcx, rbx
sub rcx, 1
cmovae r9, rcx
mov rcx, qword [r14 + 0x38]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
cmp eax, 0x1d309d12
jbe 0x140042793
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
jmp 0x1400426c9
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xe0], r8
and r9, 0xffffffffffffff80
cmp r9, rbx
mov rdx, rbx
cmovb rdx, r9
mov r8, rbx
sub r8, rdx
add rdx, r12
mov eax, 0x80
mov qword [rsp + 0x120], rax
cmp r8, 0x7f
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x138], rbp
mov qword [rsp + 0x128], r9
mov qword [rsp + 0xf0], r15
jbe 0x14004280a
mov qword [rsp + 0x118], rdx
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x108], rax
mov rbp, rcx
jmp 0x140042884
mov qword [rsp + 0xd8], rcx
mov r12, rdi
lea rcx, [rsp + 0x180]
mov rdi, r8
call sub.VCRUNTIME140.dll_memcpy
nop word cs:[rax + rax]
mov eax, dword [0x141f32d08]
or eax, dword [0x141f32d0c]
imul eax, eax, 0x62af6448
cmp eax, 0xa24f090d
je 0x140042830
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdi
mov rdi, r12
mov rbp, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x128]
mov qword [rsp + 0x160], rbx
movzx ecx, byte [rsp + 0x288]
or r13b, cl
movzx eax, r13b
dec rax
mov qword [rsp + 0x148], rax
movzx eax, cl
dec rax
mov qword [rsp + 0x140], rax
xor r12d, r12d
mov qword [rsp + 0x150], r14
mov r14, qword [rsp + 0x110]
mov r13, qword [rsp + 0xf8]
jmp 0x1400440a5
add r9, rcx
adc r11, 0
mov rcx, rax
mov rax, qword [rax]
mov qword [rsp + 0xd0], rax
mov rbx, qword [rcx + 8]
mov r12, rcx
mov qword [rsp + 0x88], rbx
mov rcx, qword [rsp + 0xf0]
lea r8, [rcx + rdi]
add r8, rax
mov qword [rsp + 0x138], r9
movabs rcx, 0x510e527fade682d1
xor r9, rcx
xor r9, r8
rol r9, 0x20
movabs rcx, 0x6a09e667f3bcc908
add rcx, r9
mov qword [rsp + 0x100], rdi
mov rax, rcx
xor rax, qword [rsp + 0x100]
rol rax, 0x28
add r8, rbx
add r8, rax
xor r9, r8
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x48], rcx
xor rax, rcx
rol rax, 1
mov r15, rax
mov rbx, r12
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0xe0]
lea rdi, [rcx + r14]
add rdi, rax
mov qword [rsp + 0x108], r11
movabs rcx, 0x9b05688c2b3e6c1f
xor r11, rcx
xor r11, rdi
rol r11, 0x20
movabs rcx, 0xbb67ae8584caa73b
add rcx, r11
mov r12, rcx
xor r12, r14
rol r12, 0x28
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x70], rax
add rdi, rax
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rcx, r11
mov qword [rsp + 0x40], rcx
xor r12, rcx
rol r12, 1
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x110], r14
mov rcx, qword [rsp + 0xe8]
lea r14, [rcx + r13]
add r14, rax
movabs rcx, 0x1f83d9abfb41bd6b
xor r10, rcx
xor r10, r14
rol r10, 0x20
mov qword [rsp + 0xf8], r13
movabs rcx, 0x3c6ef372fe94f82b
add rcx, r10
mov r13, rcx
xor r13, qword [rsp + 0xf8]
rol r13, 0x28
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x90], rax
add r14, rax
add r14, r13
xor r10, r14
rol r10, 0x30
add rcx, r10
mov qword [rsp + 0x38], rcx
xor r13, rcx
rol r13, 1
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0xd8], rbp
add rsi, rbp
add rsi, rax
movabs rcx, 0x5be0cd19137e2179
xor rdx, rcx
xor rdx, rsi
rol rdx, 0x20
movabs rcx, 0xa54ff53a5f1d36f1
add rcx, rdx
mov rbp, rcx
xor rbp, qword [rsp + 0xd8]
rol rbp, 0x28
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x60], rax
add rsi, rax
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
mov qword [rsp + 0x50], rcx
xor rbp, rcx
rol rbp, 1
mov rcx, rbx
mov rbx, qword [rbx + 0x40]
mov qword [rsp + 0x80], rbx
add r8, rbx
add r8, r12
xor rdx, r8
rol rdx, 0x20
mov rbx, qword [rsp + 0x38]
add rbx, rdx
xor r12, rbx
rol r12, 0x28
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0xc0], rax
add r8, rax
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rbx, rdx
mov qword [rsp + 0x38], rbx
xor r12, rbx
rol r12, 1
mov rbx, rcx
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x98], rax
add rdi, rax
add rdi, r13
xor r9, rdi
rol r9, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, r9
xor r13, rcx
rol r13, 0x28
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0xb0], rax
add rdi, rax
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x50], rcx
xor r13, rcx
rol r13, 1
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x68], rax
add r14, rax
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rax, qword [rsp + 0x48]
add rax, r11
xor rbp, rax
mov rcx, rax
rol rbp, 0x28
mov rax, rbx
mov rbx, qword [rbx + 0x68]
mov qword [rsp + 0x78], rbx
add r14, rbx
add r14, rbp
xor r11, r14
rol r11, 0x30
add rcx, r11
mov qword [rsp + 0x48], rcx
xor rbp, rcx
rol rbp, 1
mov rbx, qword [rax + 0x70]
mov rcx, qword [rax + 0x78]
add rsi, rbx
mov rax, rbx
mov qword [rsp + 0xc8], rbx
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rbx, qword [rsp + 0x40]
add rbx, r10
xor r15, rbx
rol r15, 0x28
add rsi, rcx
mov qword [rsp + 0xb8], rcx
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rbx, r10
xor r15, rbx
rol r15, 1
add r8, rax
add r8, r15
xor r9, r8
rol r9, 0x20
mov rax, qword [rsp + 0x48]
add rax, r9
xor r15, rax
rol r15, 0x28
add r8, qword [rsp + 0x98]
add r8, r15
xor r9, r8
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x48], rax
xor r15, rax
rol r15, 1
add rdi, qword [rsp + 0xa8]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rbx, r11
xor r12, rbx
rol r12, 0x28
add rdi, qword [rsp + 0x80]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rbx, r11
mov qword [rsp + 0x40], rbx
xor r12, rbx
rol r12, 1
add r14, qword [rsp + 0xc0]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, rcx
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
mov rcx, rax
rol r13, 1
add rsi, qword [rsp + 0x78]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rax, qword [rsp + 0x50]
add rax, rdx
xor rbp, rax
rol rbp, 0x28
add rsi, qword [rsp + 0xa0]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rax, rdx
xor rbp, rax
rol rbp, 1
add r8, qword [rsp + 0x88]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rcx, rdx
xor r12, rcx
rol r12, 0x28
add r8, qword [rsp + 0x68]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rcx, rdx
mov qword [rsp + 0x38], rcx
xor r12, rcx
rol r12, 1
add rdi, qword [rsp + 0xd0]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rax, r9
xor r13, rax
rol r13, 0x28
add rdi, qword [rsp + 0x58]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x50], rax
xor r13, rax
rol r13, 1
add r14, qword [rsp + 0xb0]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rbx, qword [rsp + 0x48]
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, qword [rsp + 0x60]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
xor rbp, rbx
rol rbp, 1
mov rcx, qword [rsp + 0x90]
add rsi, rcx
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rax, qword [rsp + 0x40]
add rax, r10
xor r15, rax
rol r15, 0x28
add rsi, qword [rsp + 0x70]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rax, r10
xor r15, rax
rol r15, 1
add r8, qword [rsp + 0xb0]
add r8, r15
xor r9, r8
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, qword [rsp + 0x80]
add r8, r15
xor r9, r8
rol r9, 0x30
add rbx, r9
xor r15, rbx
rol r15, 1
add rdi, qword [rsp + 0x68]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0xd0]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, rcx
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0x58]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
mov rcx, rax
rol r13, 1
add rsi, qword [rsp + 0xb8]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rax, qword [rsp + 0x50]
add rax, rdx
xor rbp, rax
rol rbp, 0x28
add rsi, qword [rsp + 0x78]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rax, rdx
xor rbp, rax
rol rbp, 1
add r8, qword [rsp + 0x98]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rcx, rdx
xor r12, rcx
rol r12, 0x28
add r8, qword [rsp + 0xc8]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rcx, rdx
mov qword [rsp + 0x38], rcx
xor r12, rcx
rol r12, 1
add rdi, qword [rsp + 0x70]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rax, r9
xor r13, rax
rol r13, 0x28
add rdi, qword [rsp + 0xa0]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x50], rax
xor r13, rax
rol r13, 1
add r14, qword [rsp + 0x60]
add r14, rbp
xor r11, r14
rol r11, 0x20
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, qword [rsp + 0x88]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
xor rbp, rbx
rol rbp, 1
mov rcx, qword [rsp + 0xc0]
add rsi, rcx
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rax, qword [rsp + 0x40]
add rax, r10
xor r15, rax
rol r15, 0x28
add rsi, qword [rsp + 0xa8]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rax, r10
xor r15, rax
rol r15, 1
add r8, qword [rsp + 0x60]
add r8, r15
xor r9, r8
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, rcx
add r8, r15
xor r9, r8
rol r9, 0x30
add rbx, r9
xor r15, rbx
rol r15, 1
add rdi, qword [rsp + 0x70]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0x88]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0x78]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0x68]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0xb0]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0xc8]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0x58]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0xa0]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0x90]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0x98]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x50], rcx
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0xa8]
add r14, rbp
xor r11, r14
rol r11, 0x20
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
mov rcx, qword [rsp + 0xd0]
add r14, rcx
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
xor rbp, rbx
rol rbp, 1
add rsi, qword [rsp + 0xb8]
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rax, qword [rsp + 0x40]
add rax, r10
xor r15, rax
rol r15, 0x28
add rsi, qword [rsp + 0x80]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rax, r10
xor r15, rax
rol r15, 1
add r8, qword [rsp + 0xc0]
add r8, r15
xor r9, r8
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, rcx
add r8, r15
xor r9, r8
rol r9, 0x30
add rbx, r9
xor r15, rbx
rol r15, 1
add rdi, qword [rsp + 0x90]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0x60]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0x58]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0xa8]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0x98]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0xb8]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0xc8]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0x88]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0xb0]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0x68]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0xa0]
add r14, rbp
xor r11, r14
rol r11, 0x20
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, qword [rsp + 0x80]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
xor rbp, rbx
rol rbp, 1
add rsi, qword [rsp + 0x70]
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rax, qword [rsp + 0x40]
add rax, r10
xor r15, rax
rol r15, 0x28
add rsi, qword [rsp + 0x78]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rax, r10
xor r15, rax
rol r15, 1
add r8, qword [rsp + 0x58]
add r8, r15
xor r9, r8
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, qword [rsp + 0x68]
add r8, r15
xor r9, r8
rol r9, 0x30
add rbx, r9
xor r15, rbx
rol r15, 1
add rdi, qword [rsp + 0xa0]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0x98]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0xd0]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0xb0]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0x80]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0x70]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0xa8]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0x78]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0x60]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0x90]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x50], rcx
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0xb8]
add r14, rbp
xor r11, r14
rol r11, 0x20
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, qword [rsp + 0xc8]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
xor rbp, rbx
rol rbp, 1
mov rcx, qword [rsp + 0x88]
add rsi, rcx
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rax, qword [rsp + 0x40]
add rax, r10
xor r15, rax
rol r15, 0x28
add rsi, qword [rsp + 0xc0]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rax, r10
xor r15, rax
rol r15, 1
add r8, qword [rsp + 0x68]
add r8, r15
xor r9, r8
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, qword [rsp + 0x90]
add r8, r15
xor r9, r8
rol r9, 0x30
add rbx, r9
xor r15, rbx
rol r15, 1
add rdi, rcx
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0xb8]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0xc8]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0x78]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0xa8]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0x98]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0xd0]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0x60]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0xa0]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0x70]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x50], rcx
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0xc0]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rax, rbx
add rax, r11
xor rbp, rax
rol rbp, 0x28
add r14, qword [rsp + 0x58]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rax, r11
xor rbp, rax
rol rbp, 1
add rsi, qword [rsp + 0x80]
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rcx, qword [rsp + 0x40]
add rcx, r10
xor r15, rcx
mov rbx, rcx
rol r15, 0x28
mov rcx, qword [rsp + 0xb0]
add rsi, rcx
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rbx, r10
xor r15, rbx
rol r15, 1
add r8, qword [rsp + 0x78]
add r8, r15
xor r9, r8
rol r9, 0x20
add rax, r9
xor r15, rax
rol r15, 0x28
add r8, rcx
add r8, r15
xor r9, r8
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x48], rax
xor r15, rax
rol r15, 1
mov qword [rsp + 0x168], r15
add rdi, qword [rsp + 0x60]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rbx, r11
xor r12, rbx
rol r12, 0x28
add rdi, qword [rsp + 0xc8]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rbx, r11
mov qword [rsp + 0x40], rbx
xor r12, rbx
rol r12, 1
add r14, qword [rsp + 0x68]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0x88]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0x70]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0xc0]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0x90]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0xd0]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0xb8]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0xa8]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0x80]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rbx, qword [rsp + 0x48]
add rbx, r11
xor rbp, rbx
mov rax, rbx
rol rbp, 0x28
mov rbx, qword [rsp + 0xa0]
add r14, rbx
add r14, rbp
xor r11, r14
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x48], rax
xor rbp, rax
rol rbp, 1
add rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x168]
add rsi, rax
xor r10, rsi
rol r10, 0x20
mov r15, qword [rsp + 0x40]
add r15, r10
xor rax, r15
rol rax, 0x28
add rsi, qword [rsp + 0x98]
add rsi, rax
xor r10, rsi
rol r10, 0x30
add r15, r10
mov qword [rsp + 0x40], r15
xor rax, r15
mov r15, rax
rol r15, 1
add r8, rbx
add r8, r15
xor r9, r8
rol r9, 0x20
mov rax, qword [rsp + 0x48]
add rax, r9
xor r15, rax
rol r15, 0x28
add r8, qword [rsp + 0xb8]
add r8, r15
xor r9, r8
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x48], rax
xor r15, rax
rol r15, 1
add rdi, qword [rsp + 0xc8]
add rdi, r12
xor r11, rdi
rol r11, 0x20
mov rax, qword [rsp + 0x40]
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, qword [rsp + 0xc0]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0xb0]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0x70]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0xd0]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0x80]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0x68]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0x58]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0x78]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0x60]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x50], rcx
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0x88]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rcx, qword [rsp + 0x48]
add rcx, r11
xor rbp, rcx
rol rbp, 0x28
mov rax, qword [rsp + 0xa8]
add r14, rax
add r14, rbp
xor r11, r14
rol r11, 0x30
add rcx, r11
mov qword [rsp + 0x48], rcx
xor rbp, rcx
rol rbp, 1
mov rcx, qword [rsp + 0x98]
add rsi, rcx
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rbx, qword [rsp + 0x40]
add rbx, r10
xor r15, rbx
rol r15, 0x28
add rsi, qword [rsp + 0x90]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rbx, r10
xor r15, rbx
rol r15, 1
add r8, rcx
add r8, r15
xor r9, r8
rol r9, 0x20
mov rcx, qword [rsp + 0x48]
add rcx, r9
xor r15, rcx
rol r15, 0x28
add r8, qword [rsp + 0x58]
add r8, r15
xor r9, r8
rol r9, 0x30
add rcx, r9
mov qword [rsp + 0x48], rcx
xor r15, rcx
rol r15, 1
add rdi, qword [rsp + 0x80]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rbx, r11
xor r12, rbx
rol r12, 0x28
add rdi, rax
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rbx, r11
xor r12, rbx
rol r12, 1
add r14, qword [rsp + 0x60]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, qword [rsp + 0xa0]
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rsi, qword [rsp + 0x88]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
mov rcx, qword [rsp + 0x50]
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0x90]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
xor rbp, rcx
rol rbp, 1
add r8, qword [rsp + 0xb8]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, qword [rsp + 0xb0]
add r8, r12
xor rdx, r8
rol rdx, 0x30
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add rdi, qword [rsp + 0xc0]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0xc8]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rcx, r9
xor r13, rcx
rol r13, 1
add r14, qword [rsp + 0x70]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rax, qword [rsp + 0x48]
add rax, r11
xor rbp, rax
rol rbp, 0x28
add r14, qword [rsp + 0x68]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x48], rax
xor rbp, rax
rol rbp, 1
add rsi, qword [rsp + 0x78]
add rsi, r15
xor r10, rsi
rol r10, 0x20
add rbx, r10
xor r15, rbx
rol r15, 0x28
mov rax, qword [rsp + 0xd0]
add rsi, rax
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rbx, r10
xor r15, rbx
rol r15, 1
add r8, rax
add r8, r15
xor r9, r8
rol r9, 0x20
mov rax, qword [rsp + 0x48]
add rax, r9
xor r15, rax
rol r15, 0x28
add r8, qword [rsp + 0x88]
add r8, r15
xor r9, r8
rol r9, 0x30
add rax, r9
mov qword [rsp + 0x48], rax
xor r15, rax
rol r15, 1
add rdi, qword [rsp + 0x58]
add rdi, r12
xor r11, rdi
rol r11, 0x20
add rbx, r11
xor r12, rbx
rol r12, 0x28
add rdi, qword [rsp + 0x70]
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rbx, r11
mov qword [rsp + 0x40], rbx
xor r12, rbx
rol r12, 1
add r14, qword [rsp + 0xa8]
add r14, r13
xor r10, r14
rol r10, 0x20
mov rbx, qword [rsp + 0x38]
add rbx, r10
xor r13, rbx
rol r13, 0x28
add r14, qword [rsp + 0x90]
add r14, r13
xor r10, r14
rol r10, 0x30
add rbx, r10
xor r13, rbx
rol r13, 1
add rsi, qword [rsp + 0xa0]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x20
add rcx, rdx
xor rbp, rcx
mov rax, rcx
rol rbp, 0x28
add rsi, qword [rsp + 0x60]
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rax, rdx
add r8, qword [rsp + 0x80]
add r8, r12
xor rdx, r8
rol rdx, 0x20
add rbx, rdx
mov qword [rsp + 0x38], rbx
xor r12, rbx
rol r12, 0x28
add r8, qword [rsp + 0xc0]
add r8, r12
xor rdx, r8
mov rcx, qword [rsp + 0xc8]
add rsi, rcx
add r8, rcx
mov rcx, rax
xor rbp, rax
add rdi, qword [rsp + 0x98]
add rdi, r13
xor r9, rdi
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, qword [rsp + 0xb0]
add rdi, r13
xor r9, rdi
rol r9, 0x30
add rsi, r15
xor r10, rsi
rol r10, 0x20
mov rbx, qword [rsp + 0x40]
add rbx, r10
xor r15, rbx
rol r15, 0x28
add rcx, r9
add rsi, qword [rsp + 0xb8]
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rbx, r10
mov qword [rsp + 0x40], rbx
xor r15, rbx
rol r15, 1
add r8, r15
xor r9, r8
add r8, qword [rsp + 0x98]
add rdi, qword [rsp + 0xa8]
rol rbp, 1
rol rdx, 0x30
mov rax, qword [rsp + 0x38]
add rax, rdx
mov qword [rsp + 0x38], rax
xor r12, rax
rol r12, 1
add r14, qword [rsp + 0x68]
add r14, rbp
xor r11, r14
rol r11, 0x20
mov rbx, qword [rsp + 0x48]
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, qword [rsp + 0x78]
add r14, rbp
xor r11, r14
rol r11, 0x30
add rbx, r11
add rdi, r12
xor r11, rdi
add rdi, qword [rsp + 0x80]
add r14, qword [rsp + 0xc0]
xor r13, rcx
rol r13, 1
add r14, r13
xor r10, r14
add r14, qword [rsp + 0xb8]
add rsi, qword [rsp + 0x78]
xor rbp, rbx
rol rbp, 1
add rsi, rbp
xor rdx, rsi
add rsi, qword [rsp + 0xa0]
rol r9, 0x20
add rbx, r9
xor r15, rbx
rol r15, 0x28
add r8, r15
xor r9, r8
rol r11, 0x20
mov rax, qword [rsp + 0x40]
add rax, r11
xor r12, rax
rol r12, 0x28
add rdi, r12
xor r11, rdi
rol r11, 0x30
add rax, r11
mov qword [rsp + 0x40], rax
xor r12, rax
rol r12, 1
add r8, qword [rsp + 0x88]
rol rdx, 0x20
add rcx, rdx
xor rbp, rcx
rol rbp, 0x28
add rsi, rbp
xor rdx, rsi
rol rdx, 0x30
add rcx, rdx
add r8, r12
xor rdx, r8
add r8, qword [rsp + 0x68]
add rdi, qword [rsp + 0xd0]
rol r9, 0x30
rol r10, 0x20
mov rax, qword [rsp + 0x38]
add rax, r10
xor r13, rax
rol r13, 0x28
add r14, r13
xor r10, r14
rol r10, 0x30
add rax, r10
xor r13, rax
rol r13, 1
add rbx, r9
add rdi, r13
xor r9, rdi
add rdi, qword [rsp + 0x58]
add r14, qword [rsp + 0xb0]
xor rbp, rcx
rol rbp, 1
add r14, rbp
xor r11, r14
add r14, qword [rsp + 0x60]
add rsi, qword [rsp + 0x90]
xor r15, rbx
rol r15, 1
add rsi, r15
xor r10, rsi
add rsi, qword [rsp + 0x70]
rol rdx, 0x20
add rax, rdx
xor r12, rax
rol r12, 0x28
add r8, r12
xor rdx, r8
rol r11, 0x20
add rbx, r11
xor rbp, rbx
rol rbp, 0x28
add r14, rbp
xor r11, r14
rol r11, 0x30
xor qword [rsp + 0xf0], r8
add rbx, r11
xor rbp, rbx
xor qword [rsp + 0xf0], rbx
rol r9, 0x20
add rcx, r9
xor r13, rcx
rol r13, 0x28
add rdi, r13
xor r9, rdi
mov r8, qword [rsp + 0xe0]
xor r8, rdi
rol r10, 0x20
mov rdi, qword [rsp + 0x40]
add rdi, r10
xor r15, rdi
rol r15, 0x28
add rsi, r15
xor r10, rsi
rol r10, 0x30
add rdi, r10
xor r15, rdi
xor r8, rdi
mov qword [rsp + 0xe0], r8
rol rdx, 0x30
mov rbx, qword [rsp + 0xe8]
xor rbx, r14
mov r14, qword [rsp + 0x110]
add rax, rdx
xor r12, rax
xor rbx, rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xe8], rbx
mov rbx, qword [rsp + 0x170]
xor rbx, rsi
rol r9, 0x30
add rcx, r9
xor r13, rcx
xor rbx, rcx
mov rsi, rbx
rol r15, 1
xor qword [rsp + 0x100], r9
xor qword [rsp + 0x100], r15
mov rdi, qword [rsp + 0x100]
rol r12, 1
xor r14, r11
xor r14, r12
rol r13, 1
xor rax, r10
xor rax, r13
mov r13, rax
rol rbp, 1
mov rcx, qword [rsp + 0xd8]
xor rcx, rdx
xor rcx, rbp
mov rbp, rcx
mov r9, qword [rsp + 0x128]
cmp qword [rsp + 0x178], r9
mov r12, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x150]
je 0x140044179
mov eax, dword [str.7q4]
mov ecx, dword [0x141f32d14]
add eax, ecx
add eax, 0x9cd0fcc7
and eax, 0x53e107b3
imul eax, eax, 0x2f39f566
cmp eax, 0xf3837947
ja 0x1400440a5
cmp r12, r9
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
mov r11, qword [rsp + 0x108]
mov r9, qword [rsp + 0x138]
mov qword [rsp + 0x178], r12
jne 0x140044150
lea rcx, [r12 + 0x80]
nop
mov eax, dword [0x141f32d18]
xor edx, edx
div dword [0x141f32d1c]
add eax, 0xd996dff5
or eax, 0xba54ca06
cmp eax, 0x3cac7f9b
je 0x140044100
mov qword [rsp + 0x130], rcx
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x118]
mov r10, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
jmp 0x1400428e0
mov rdx, r12
sub rdx, 0xffffffffffffff80
je 0x1400441b7
cmp rdx, rax
ja 0x1400441b7
mov qword [rsp + 0x130], rdx
lea rax, [rcx + r12]
mov ecx, 0x80
xor r10d, r10d
xor edx, edx
jmp 0x1400428e0
mov eax, dword [0x141f32d20]
or eax, dword [0x141f32d24]
imul rax, rax, 0x52076565
shr rax, 0x3d
imul eax, eax, 0xcaa5a870
cmp eax, 0xd530d731
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
jne 0x1400441b9
jmp 0x14004420f
ud2
mov eax, dword [0x141f32d28]
imul eax, dword [0x141f32d2c]
shr eax, 1
mov ecx, 0x9cf8b109
imul rcx, rax
shr rcx, 0x3d
imul eax, ecx, 0x802122e4
mov ecx, 0xbd3b8d31
imul rcx, rax
shr rcx, 0x3d
mov qword [rdx], r8
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], r9
mov qword [rdx + 0x18], rsi
mov qword [rdx + 0x20], rdi
mov qword [rdx + 0x28], r14
mov qword [rdx + 0x30], r13
mov qword [rdx + 0x38], rbp
cmp ecx, 0xb2fb380b
jbe 0x140044230
mov qword [rdx], r8
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], r9
mov qword [rdx + 0x18], rsi
mov qword [rdx + 0x20], rdi
mov qword [rdx + 0x28], r14
mov qword [rdx + 0x30], r13
mov qword [rdx + 0x38], rbp
jmp 0x1400441b9
mov eax, dword [0x141f32d30]
xor eax, dword [0x141f32d34]
add eax, 0xa8d32266
xor eax, 0x5662a042
and eax, 0x57f6e457
cmp eax, 0xe8c2cd7f
ja 0x140044230
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret