Function at 0x14012c9b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov qword [rsp + 0x1c0], rcx
mov r10d, edx
mov edx, pe_nt_image_headers64
mov rbx, qword [rsp + 0x1c0]
mov qword [rsp + 0x1d8], r9
mov r9, qword [rcx + 0x20]
mov ecx, r8d
mov r8d, 0x20
sar edx, cl
mov eax, edx
lea rcx, [r9 + 1]
neg eax
sub r8, rcx
and eax, r10d
or eax, edx
xor edx, edx
mov byte [rbx + r9], al
mov rax, rcx
add rax, rbx
mov rcx, rax
call fcn.140197fc0
mov rax, qword [rsp + 0x1c0]
pxor xmm0, xmm0
mov eax, dword [rax + 0x28]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x3c]
mov dword [rsp + 0xe4], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x5c]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x64]
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x6c]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x70]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x74]
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x78]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x1c0]
mov r14d, dword [rax + 0x7c]
mov eax, dword [rax + 0x80]
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x1c0]
mov ebx, dword [rbx + 0xac]
mov r13d, dword [rax + 0x84]
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x8c]
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x94]
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x98]
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0x9c]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xa0]
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xa4]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xa8]
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x138], 0
mov dword [rsp + 0x90], r13d
mov ebx, dword [rbx + 0xb0]
mov dword [rsp + 0x88], r14d
mov r14d, eax
mov dword [rsp + 0x28], ebx
mov rbx, qword [rsp + 0x1c0]
mov r15d, dword [rbx + 0xb4]
mov ebx, dword [rbx + 0xb8]
mov dword [rsp + 0x34], ebx
mov rbx, qword [rsp + 0x1c0]
mov ebx, dword [rbx + 0xbc]
mov dword [rsp + 0x24], ebx
mov rbx, qword [rsp + 0x1c0]
mov ebx, dword [rbx + 0xc0]
mov dword [rsp + 0x2c], ebx
mov rbx, qword [rsp + 0x1c0]
mov ebx, dword [rbx + 0xc4]
mov dword [rsp + 0x30], ebx
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax]
bswap eax
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x108], eax
mov r11d, dword [rbx + 4]
bswap r11d
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x98], r11d
mov eax, dword [rbx + 8]
bswap eax
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x110], eax
mov r9d, dword [rbx + 0xc]
bswap r9d
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x118], r9d
mov r13d, dword [rbx + 0x10]
bswap r13d
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x38], r13d
mov ebp, dword [rbx + 0x14]
bswap ebp
mov rbx, qword [rsp + 0x1c0]
mov eax, dword [rbx + 0x18]
bswap eax
mov rbx, qword [rsp + 0x1c0]
mov dword [rsp + 0x40], eax
mov r10d, dword [rbx + 0x1c]
bswap r10d
mov edi, dword [rsp + 0xa4]
mov r9d, dword [rsp + 0x50]
mov dword [rsp + 0x48], r10d
mov ecx, dword [rsp + 0xac]
mov r8d, dword [rsp + 0x58]
mov esi, dword [rsp + 0x68]
xor r9d, edi
mov ebx, dword [rsp + 0xc0]
xor r8d, ecx
mov ecx, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x78]
mov edx, dword [rsp + 0xa8]
mov r12d, dword [rsp + 0xc8]
xor r9d, esi
mov esi, dword [rsp + 0x54]
xor r8d, ecx
xor r9d, ebx
mov ecx, dword [rsp + 0x5c]
mov ebx, dword [rsp + 0xc4]
xor r8d, r12d
mov r12d, dword [rsp + 0xb0]
xor esi, edx
mov edx, dword [rsp + 0x7c]
mov r13d, dword [rsp + 0xe4]
xor esi, r11d
xor ecx, r12d
mov r12d, dword [rsp + 0xb4]
mov eax, dword [rsp + 0xd0]
xor esi, ebx
mov ebx, dword [rsp + 0xcc]
xor ecx, edx
mov edx, dword [rsp + 0xa0]
mov edi, dword [rsp + 0xe8]
mov r10d, dword [rsp + 0xbc]
xor ecx, ebx
mov ebx, dword [rsp + 0x60]
xor ecx, r15d
xor ebx, r12d
mov r12d, dword [rsp + 0xb8]
xor ebx, edx
mov edx, r13d
xor edx, r12d
xor ebx, eax
mov eax, dword [rsp + 0x88]
mov r12d, dword [rsp + 0xd8]
mov r11d, edx
mov edx, dword [rsp + 0x80]
xor r11d, eax
mov eax, edi
xor r11d, r12d
mov r12d, dword [rsp + 0xec]
xor eax, r12d
xor eax, edx
mov edx, dword [rsp + 0xdc]
xor eax, edx
mov edx, dword [rsp + 0x64]
xor edx, r10d
mov r10d, dword [rsp + 0x90]
xor edx, r10d
mov r10d, dword [rsp + 0xe0]
xor edx, r10d
mov r10d, dword [rsp + 0x20]
xor esi, r10d
mov r10d, dword [rsp + 0x34]
xor ebx, r10d
mov r10d, dword [rsp + 0x24]
xor r11d, r10d
mov r10d, dword [rsp + 0x2c]
xor eax, r10d
mov r10d, dword [rsp + 0x30]
xor edx, r10d
mov r10d, dword [rsp + 0x28]
xor ecx, edx
xor r8d, r10d
mov r10d, dword [rsp + 0x50]
xor r8d, edx
xor r9d, r14d
xor edi, r11d
xor r12d, r11d
xor r10d, edx
xor r9d, edx
mov dword [rsp + 0x100], edi
mov edi, dword [rsp + 0xb0]
mov dword [rsp + 0xe4], r10d
mov r10d, dword [rsp + 0x54]
xor edi, r8d
xor r10d, r9d
mov dword [rsp + 0xe8], r10d
mov r10d, dword [rsp + 0x58]
xor r10d, esi
mov dword [rsp + 0xec], r10d
mov r10d, dword [rsp + 0x5c]
xor r10d, r8d
mov dword [rsp + 0xf0], r10d
mov r10d, dword [rsp + 0x60]
xor r10d, ecx
mov dword [rsp + 0x60], r10d
mov r10d, r13d
mov r13d, dword [rsp + 0x64]
xor r10d, ebx
mov dword [rsp + 0x64], edi
mov edi, dword [rsp + 0xb4]
xor r13d, eax
mov dword [rsp + 0xf8], r10d
mov r10d, r13d
mov r13d, dword [rsp + 0xa4]
xor edi, ecx
mov dword [rsp + 0xa4], edi
mov edi, dword [rsp + 0xb8]
xor r13d, edx
mov dword [rsp + 0x58], r13d
mov r13d, dword [rsp + 0xa8]
xor edi, ebx
mov dword [rsp + 0xa8], edi
xor r13d, r9d
mov dword [rsp + 0x5c], r13d
mov r13d, dword [rsp + 0xac]
mov dword [rsp + 0xac], r12d
mov r12d, dword [rsp + 0xbc]
mov edi, dword [rsp + 0x68]
xor r13d, esi
xor r12d, eax
xor edi, edx
mov dword [rsp + 0x120], edi
mov edi, dword [rsp + 0x78]
xor edi, r9d
mov dword [rsp + 0x128], edi
mov edi, dword [rsp + 0x70]
xor edi, esi
mov dword [rsp + 0x68], edi
mov edi, dword [rsp + 0x7c]
xor edi, r8d
mov dword [rsp + 0x78], edi
mov edi, dword [rsp + 0xa0]
xor edi, ecx
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x88]
xor edi, ebx
mov dword [rsp + 0x7c], edi
mov edi, dword [rsp + 0x80]
xor edi, r11d
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0x90]
xor edi, eax
mov dword [rsp + 0x50], edi
mov edi, dword [rsp + 0xc0]
xor edi, edx
mov dword [rsp + 0x130], edi
mov edi, dword [rsp + 0xc4]
xor edi, r9d
mov dword [rsp + 0x80], edi
mov edi, dword [rsp + 0xc8]
xor edi, esi
mov dword [rsp + 0x88], edi
mov edi, dword [rsp + 0xcc]
xor edi, r8d
mov dword [rsp + 0x90], edi
mov edi, dword [rsp + 0xd0]
xor edi, ecx
mov dword [rsp + 0xb0], edi
mov edi, dword [rsp + 0xd8]
xor edi, ebx
xor r14d, edx
xor r15d, r8d
mov dword [rsp + 0xb4], edi
mov edi, dword [rsp + 0xdc]
xor edi, r11d
mov dword [rsp + 0xb8], edi
mov edi, dword [rsp + 0xe0]
xor edi, eax
mov dword [rsp + 0x54], edi
mov edx, dword [rsp + 0x20]
mov edi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x34]
xor edx, r9d
mov r9d, dword [rsp + 0x28]
xor r8d, ecx
mov ecx, dword [rsp + 0xe4]
mov dword [rsp + 0x20], edx
xor r9d, esi
mov esi, dword [rsp + 0x24]
mov edx, dword [rsp + 0xec]
xor ecx, r10d
xor ebx, esi
mov esi, dword [rsp + 0x2c]
xor edx, r10d
xor esi, r11d
mov r11d, edi
xor r11d, r10d
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x30]
mov dword [rsp + 0x28], r11d
mov r11d, dword [rsp + 0x5c]
xor eax, esi
xor r11d, ecx
mov ecx, dword [rsp + 0xe8]
mov dword [rsp + 0xbc], r11d
xor ecx, r13d
xor r13d, r12d
mov dword [rsp + 0xc0], ecx
mov ecx, dword [rsp + 0x64]
xor ecx, edx
mov edx, dword [rsp + 0xf0]
mov dword [rsp + 0xe0], ecx
mov ecx, dword [rsp + 0xa4]
xor edx, ecx
mov ecx, dword [rsp + 0xa8]
mov esi, edx
mov edx, dword [rsp + 0x60]
xor esi, r10d
xor edx, ecx
mov dword [rsp + 0xc4], esi
mov esi, dword [rsp + 0x120]
mov ecx, dword [rsp + 0xac]
mov dword [rsp + 0xc8], edx
mov edx, dword [rsp + 0xf8]
mov r11d, esi
xor r11d, r12d
xor edx, ecx
mov ecx, dword [rsp + 0x100]
mov dword [rsp + 0x2c], edx
mov edx, edi
mov edi, r11d
mov r11d, dword [rsp + 0x128]
xor ecx, r12d
xor edx, r12d
mov dword [rsp + 0x58], ecx
mov ecx, r11d
xor ecx, edx
mov dword [rsp + 0x30], ecx
mov edx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x68]
xor edx, ecx
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0xcc], edx
mov edx, dword [rsp + 0x78]
xor r13d, edx
mov edx, dword [rsp + 0x70]
mov dword [rsp + 0x34], r13d
mov r13d, dword [rsp + 0x64]
xor r13d, edx
xor r13d, r12d
mov r12d, dword [rsp + 0xa4]
mov dword [rsp + 0x64], r13d
mov r13d, dword [rsp + 0x7c]
xor r12d, r13d
mov r13d, dword [rsp + 0xa0]
mov dword [rsp + 0xa4], r12d
mov r12d, dword [rsp + 0xa8]
xor r12d, r13d
mov r13d, dword [rsp + 0x68]
mov dword [rsp + 0xa8], r12d
mov r12d, dword [rsp + 0xac]
xor r12d, ecx
xor esi, ecx
xor r13d, ecx
mov dword [rsp + 0x5c], r12d
mov r12d, ecx
mov ecx, esi
mov edx, r13d
mov esi, dword [rsp + 0x130]
mov r13d, esi
xor r13d, r12d
mov r12d, r13d
mov r13d, dword [rsp + 0x80]
xor r13d, ecx
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x68], r13d
mov r13d, dword [rsp + 0x70]
xor r11d, ecx
mov ecx, dword [rsp + 0xb0]
mov dword [rsp + 0xac], r11d
mov r11d, dword [rsp + 0x90]
xor r11d, edx
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0xd0], r11d
xor edx, ecx
mov ecx, dword [rsp + 0x50]
xor ecx, edx
mov edx, dword [rsp + 0xb4]
mov dword [rsp + 0x50], ecx
xor r13d, edx
mov dword [rsp + 0x120], r13d
mov edx, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0xb8]
mov r13d, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x88]
xor edx, r11d
xor esi, r13d
mov r11d, dword [rsp + 0x54]
mov dword [rsp + 0x78], edx
mov edx, dword [rsp + 0xa0]
xor ecx, r13d
xor edx, r13d
xor r13d, r14d
xor r14d, eax
mov dword [rsp + 0x70], r13d
mov r13d, dword [rsp + 0x20]
xor r13d, esi
mov esi, ecx
mov ecx, dword [rsp + 0x90]
xor esi, r15d
mov dword [rsp + 0x7c], r13d
mov r13d, dword [rsp + 0x80]
xor ecx, r8d
mov dword [rsp + 0xa0], esi
mov esi, dword [rsp + 0xb0]
xor r11d, ecx
mov ecx, dword [rsp + 0x24]
xor r13d, r9d
xor r9d, eax
mov dword [rsp + 0x54], r11d
mov r11d, dword [rsp + 0xb4]
xor esi, ebx
mov dword [rsp + 0x80], esi
mov esi, dword [rsp + 0xb8]
xor r11d, ecx
mov dword [rsp + 0x88], r11d
mov r11d, r14d
xor esi, eax
mov r14d, dword [rsp + 0xe4]
mov ecx, esi
mov esi, dword [rsp + 0x20]
xor r14d, eax
mov dword [rsp + 0x90], r14d
mov r14d, dword [rsp + 0xe8]
xor r14d, r11d
mov r11d, r14d
mov r14d, dword [rsp + 0xec]
xor r14d, esi
mov dword [rsp + 0xb0], r14d
mov r14d, dword [rsp + 0xf0]
xor r14d, r9d
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0xb4], r14d
xor r9d, r15d
xor r9d, eax
mov dword [rsp + 0x60], r9d
mov r9d, dword [rsp + 0xf8]
xor r9d, r8d
mov dword [rsp + 0xe8], r9d
mov r15d, dword [rsp + 0x100]
mov esi, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x98]
mov dword [rsp + 0xe4], r11d
xor r15d, ebx
mov ebx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x20], r13d
mov r14d, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x7c]
mov dword [rsp + 0xec], r15d
xor esi, ebx
xor eax, r10d
xor r8d, esi
mov esi, dword [rsp + 0xb0]
mov r10d, eax
mov eax, ebx
mov dword [rsp + 0xd8], r8d
mov r8d, dword [rsp + 0xbc]
xor eax, r14d
mov r14d, dword [rsp + 0x70]
mov dword [rsp + 0x24], r10d
xor r8d, esi
mov esi, dword [rsp + 0x2c]
mov dword [rsp + 0xf0], eax
xor r14d, r10d
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0xf8], r8d
xor esi, r10d
mov r10d, r12d
xor r10d, ecx
mov dword [rsp + 0x100], esi
mov esi, r13d
mov dword [rsp + 0x13c], r10d
mov r10d, dword [rsp + 0xac]
xor esi, r11d
mov dword [rsp + 0x128], esi
mov r11d, dword [rsp + 0x68]
mov esi, r15d
mov r15d, edi
xor r10d, r9d
mov r9d, dword [rsp + 0x88]
xor r15d, edx
xor esi, ecx
xor eax, r11d
mov dword [rsp + 0x130], esi
xor r9d, edx
mov r8d, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x140], r10d
mov dword [rsp + 0x144], r9d
mov r9d, r15d
mov r15d, dword [rsp + 0x5c]
mov esi, r15d
xor edi, r15d
xor esi, eax
mov eax, dword [rsp + 0x28]
xor eax, r15d
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0xc0]
mov r10d, dword [rsp + 0x30]
mov r11d, dword [rsp + 0xa8]
mov r13d, dword [rsp + 0x38]
xor eax, r10d
mov r10d, dword [rsp + 0x48]
xor r11d, ebx
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x118]
xor eax, r10d
mov ebx, eax
mov eax, dword [rsp + 0x110]
xor eax, r10d
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x108]
xor eax, r10d
xor edi, eax
mov dword [rsp + 0xdc], edi
mov edi, r15d
mov r15d, dword [rsp + 0x34]
xor edi, ebx
xor edi, r15d
mov r15d, dword [rsp + 0xc4]
xor r15d, edi
mov edi, r13d
mov dword [rsp + 0x150], r15d
mov r15d, dword [rsp + 0xc8]
xor edi, r15d
mov r15d, dword [rsp + 0x64]
xor r15d, edi
mov edi, dword [rsp + 0x2c]
mov dword [rsp + 0x154], r15d
mov r15d, dword [rsp + 0xa4]
xor edi, ebp
xor r15d, edi
mov dword [rsp + 0x158], r15d
mov r15d, dword [rsp + 0x40]
mov edi, r15d
xor edi, r11d
mov r11d, dword [rsp + 0xb8]
mov dword [rsp + 0x15c], edi
mov edi, r15d
xor edi, r11d
mov r11d, dword [rsp + 0x98]
xor r10d, r15d
xor esi, ebp
xor r12d, edx
xor r11d, r15d
xor r12d, r10d
mov r15d, r10d
mov r10d, dword [rsp + 0x40]
xor r10d, r9d
mov r9d, dword [rsp + 0x30]
mov dword [rsp + 0x160], r10d
xor r9d, r12d
mov r12d, r8d
xor r12d, eax
mov dword [rsp + 0x164], r9d
mov r9d, dword [rsp + 0x34]
xor eax, ebp
mov dword [rsp + 0x168], r12d
mov r12d, edx
xor edx, edi
xor r12d, r11d
xor r11d, ebp
mov r8d, r12d
xor r8d, r9d
mov r9d, dword [rsp + 0xac]
xor r9d, r8d
mov dword [rsp + 0x16c], r9d
mov r12d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0x13c]
mov r10d, dword [rsp + 0x140]
xor edx, r12d
mov r12d, dword [rsp + 0x64]
xor r8d, ebp
xor r10d, r15d
xor r12d, edx
mov dword [rsp + 0x2c], r12d
mov r12d, dword [rsp + 0xa4]
xor r12d, ebx
mov edx, r12d
mov r12d, dword [rsp + 0x50]
xor r12d, edx
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x30], r12d
mov r12d, dword [rsp + 0x40]
xor edx, r13d
mov r13d, dword [rsp + 0x120]
mov dword [rsp + 0x120], r10d
mov r9d, edx
mov edx, dword [rsp + 0x70]
xor r12d, ebp
mov dword [rsp + 0x70], r8d
mov r8d, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x20]
xor r9d, r13d
xor edx, ecx
xor edx, r12d
xor r8d, edx
mov edx, ecx
xor ecx, r11d
mov dword [rsp + 0x68], r8d
mov r8d, dword [rsp + 0xd0]
xor edx, eax
xor edx, r8d
xor r10d, edx
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0xd0], r10d
mov r10d, dword [rsp + 0x50]
xor ecx, edx
mov edx, r13d
mov r13d, dword [rsp + 0x54]
xor ecx, r10d
xor edx, edi
mov r10d, dword [rsp + 0x144]
rol esi, 2
mov r8d, edx
mov edx, dword [rsp + 0x78]
xor r8d, r13d
mov r13d, dword [rsp + 0x80]
xor edx, ebx
xor edx, r13d
mov r13d, dword [rsp + 0x38]
rol edx, 3
xor r10d, r13d
xor r14d, r13d
xor r13d, ebp
mov dword [rsp + 0x34], r10d
mov r10d, dword [rsp + 0x90]
xor r13d, r10d
mov r10d, dword [rsp + 0x24]
xor r13d, r10d
mov r10d, dword [rsp + 0x7c]
xor r10d, r13d
mov dword [rsp + 0x20], r10d
mov r10d, dword [rsp + 0x128]
xor r10d, r12d
mov dword [rsp + 0x28], r10d
mov r12d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x24]
mov r13d, dword [rsp + 0xb0]
xor r15d, r12d
xor eax, r12d
xor r15d, r10d
mov r10d, dword [rsp + 0xa0]
mov dword [rsp + 0xa0], esi
mov esi, r8d
rol esi, 3
xor r15d, r10d
mov r10d, dword [rsp + 0x24]
xor r15d, r13d
mov r13d, dword [rsp + 0xb4]
xor eax, r10d
mov r10d, dword [rsp + 0x88]
mov dword [rsp + 0x88], edx
xor eax, r13d
mov r13d, dword [rsp + 0x54]
xor r10d, edi
mov edi, dword [rsp + 0x130]
xor eax, r13d
mov r13d, dword [rsp + 0x80]
mov dword [rsp + 0x80], esi
xor ebx, edi
mov edi, dword [rsp + 0x2c]
mov edx, eax
mov esi, dword [rsp + 0xbc]
xor r11d, r13d
mov r13d, dword [rsp + 0x60]
rol edi, 2
mov dword [rsp + 0x38], edi
mov edi, dword [rsp + 0x30]
xor r11d, r13d
mov r13d, dword [rsp + 0xe8]
rol edi, 2
mov dword [rsp + 0x78], edi
mov edi, r9d
xor r10d, r13d
rol edi, 2
mov dword [rsp + 0x7c], edi
mov edi, ecx
mov ecx, dword [rsp + 0x34]
rol edi, 3
rol ecx, 3
rol edx, 4
xor ebp, r13d
lea r13, [0x1402f9380]
mov dword [rsp + 0x34], edx
mov edx, r11d
rol edx, 4
mov dword [rsp + 0x90], ecx
mov ecx, dword [rsp + 0xf0]
mov dword [rsp + 0x24], edx
mov edx, r10d
mov r10d, dword [rsp + 0x48]
rol edx, 4
mov dword [rsp + 0x2c], edx
mov edx, ebx
rol edx, 4
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x148]
xor edx, r10d
mov r10, rdx
mov edx, dword [rsp + 0x108]
shl r10, 0x20
xor edx, ecx
mov ecx, dword [rsp + 0xdc]
or r10, rdx
xor esi, ecx
mov ecx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0x110]
shl rsi, 0x20
mov r9d, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0xe0]
mov r11d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0xc0]
xor ecx, r9d
mov r9d, dword [rsp + 0x14c]
or rsi, rcx
mov ecx, dword [rsp + 0x98]
xor ecx, r9d
mov r9d, dword [rsp + 0xf8]
shl rcx, 0x20
xor edx, r9d
mov r9d, dword [rsp + 0xb8]
or rcx, rdx
mov edx, dword [rsp + 0x5c]
xor edx, r9d
mov r9d, dword [rsp + 0xcc]
xor edx, r8d
xor edx, r9d
mov r9d, dword [rsp + 0x118]
shl rdx, 0x20
xor r9d, r11d
mov eax, r9d
mov r9d, dword [rsp + 0x60]
xor eax, ebx
mov ebx, dword [rsp + 0xb4]
xor eax, ebx
mov ebx, r12d
mov r12d, dword [rsp + 0x40]
mov dword [rsp + 0x40], edi
or rdx, rax
mov eax, dword [rsp + 0x150]
xor ebx, r11d
mov r11d, dword [rsp + 0x48]
xor ebx, r8d
mov r8d, dword [rsp + 0xec]
rol eax, 1
xor ebx, r9d
mov r9d, dword [rsp + 0xc4]
shl rax, 0x20
or rbx, rax
mov eax, dword [rsp + 0x154]
xor ebp, r9d
xor r8d, r12d
mov r9d, dword [rsp + 0x15c]
lea r12, [0x1402f93c0]
rol eax, 1
shl rax, 0x20
rol r9d, 1
or rbp, rax
mov eax, dword [rsp + 0xc8]
shl r9, 0x20
xor r8d, eax
mov eax, dword [rsp + 0x158]
rol eax, 1
shl rax, 0x20
or r8, rax
mov eax, dword [rsp + 0x100]
xor eax, r11d
or r9, rax
mov rax, rsi
nop dword [rax + rax]
mov rsi, r10
mov rdi, rdx
xor rcx, rdx
xor r9, rbx
or rsi, rax
and rdi, r10
xor rsi, rdx
xor rax, rdi
xor rdi, rcx
mov rdx, r9
and rcx, rsi
not rax
mov r11, rcx
mov rcx, rbp
or rcx, r8
xor r11, rax
or rax, rdi
xor rcx, rbx
and rbx, rbp
xor r10, rax
xor rsi, rax
xor r8, rbx
and rdx, rcx
xor rbx, r9
xor rdi, r11
not r8
and r11, rax
mov rax, rsi
mov esi, r10d
xor rdx, r8
or r8, rbx
rol esi, 2
not rax
xor rbx, rdx
xor rbp, r8
and rdx, r8
mov r9, rbx
xor r9, r10
xor esi, r9d
mov rbx, r9
rol r9d, 0xe
xor r9d, esi
shr rbx, 0x20
rol esi, 0xa
shr r10, 0x20
xor rbp, rax
rol r10d, 2
xor esi, r9d
rol r9d, 1
xor r10d, ebx
rol ebx, 0xe
xor ebx, r10d
rol r10d, 0xa
xor r10d, ebx
rol ebx, 1
shl r10, 0x20
shl rbx, 0x20
or r10, rsi
or rbx, r9
mov rsi, rbp
mov r9d, eax
shr rax, 0x20
shr rsi, 0x20
rol eax, 2
rol r9d, 2
xor eax, esi
rol esi, 0xe
xor r9d, ebp
xor esi, eax
rol ebp, 0xe
rol eax, 0xa
xor ebp, r9d
rol r9d, 0xa
xor eax, esi
xor r9d, ebp
rol esi, 1
shl rax, 0x20
or rax, r9
shl rsi, 0x20
xor rcx, r8
xor rdx, rdi
mov r9, rcx
rol ebp, 1
xor r9, r11
or rbp, rsi
mov esi, r11d
shr r11, 0x20
rol r11d, 2
not r9
rol esi, 2
mov r8, r9
xor esi, r9d
rol r9d, 0xe
shr r8, 0x20
xor r9d, esi
rol esi, 0xa
xor r11d, r8d
rol r8d, 0xe
xor esi, r9d
xor r8d, r11d
rol r11d, 0xa
xor r11d, r8d
rol r8d, 1
shl r11, 0x20
rol r9d, 1
mov rcx, r11
shl r8, 0x20
mov r11, rdx
or rcx, rsi
mov esi, edi
or r8, r9
rol r11d, 0xe
rol esi, 2
mov r9, rdx
xor esi, edx
shr r9, 0x20
xor r11d, esi
rol esi, 0xa
shr rdi, 0x20
xor esi, r11d
xor r10, qword [r12]
rol r11d, 1
rol edi, 2
add r12, 8
xor rbx, qword [r13]
add r13, 8
xor edi, r9d
rol r9d, 0xe
xor r9d, edi
rol edi, 0xa
xor edi, r9d
rol r9d, 1
shl rdi, 0x20
shl r9, 0x20
or rdi, rsi
or r9, r11
mov rdx, rdi
lea rdi, [0x1402f9400]
cmp r12, rdi
jne 0x14012d9a0
mov dword [rsp + 0x50], r10d
shr r10, 0x20
mov rsi, rax
mov edi, dword [rsp + 0x40]
shr rsi, 0x20
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x160]
lea r12, [0x1402f9300]
mov qword [rsp + 0xf0], r10
lea r13, [0x1402f92c0]
mov dword [rsp + 0xa4], r10d
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0xf8], rsi
mov dword [rsp + 0xa8], esi
shl r10, 0x20
mov rsi, qword [rsp + 0x68]
mov dword [rsp + 0x5c], edx
or r10, rax
shr rdx, 0x20
mov eax, dword [rsp + 0x164]
mov qword [rsp + 0x108], rdx
shl rsi, 0x20
mov dword [rsp + 0xb0], edx
mov rdx, qword [rsp + 0x120]
or rsi, rax
mov dword [rsp + 0x58], ecx
mov eax, dword [rsp + 0x168]
shr rcx, 0x20
mov qword [rsp + 0x100], rcx
shl rdx, 0x20
mov dword [rsp + 0xac], ecx
mov rcx, qword [rsp + 0xd0]
or rdx, rax
mov dword [rsp + 0x60], ebx
shr rbx, 0x20
mov dword [rsp + 0xe4], ebp
shr rbp, 0x20
shl rcx, 0x20
mov dword [rsp + 0xe8], r8d
shr r8, 0x20
mov dword [rsp + 0x64], r9d
shr r9, 0x20
mov qword [rsp + 0x110], rbx
mov dword [rsp + 0xb4], ebx
mov rbx, rdi
mov qword [rsp + 0x118], rbp
shl rbx, 0x20
mov dword [rsp + 0xb8], ebp
mov qword [rsp + 0x128], r8
mov dword [rsp + 0xec], r8d
mov qword [rsp + 0x130], r9
mov dword [rsp + 0xbc], r9d
mov eax, dword [rsp + 0x16c]
mov rbp, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
or rcx, rax
mov eax, dword [rsp + 0x38]
mov r8, qword [rsp + 0x90]
shl rbp, 0x20
shl r9, 0x20
or rbx, rax
mov eax, dword [rsp + 0x78]
shl r8, 0x20
or rbp, rax
mov eax, dword [rsp + 0x7c]
or r9, rax
mov eax, dword [rsp + 0xa0]
or r8, rax
mov rax, rsi
nop word [rax + rax]
mov rsi, r10
mov rdi, rcx
xor rdx, rcx
xor r8, rbx
or rsi, rax
and rdi, r10
xor rsi, rcx
xor rax, rdi
xor rdi, rdx
and rdx, rsi
not rax
mov r11, rdx
mov rdx, rbp
or rdx, r9
xor r11, rax
or rax, rdi
xor rdx, rbx
and rbx, rbp
xor r10, rax
xor rsi, rax
xor r9, rbx
xor rbx, r8
and r8, rdx
xor rdi, r11
not r9
mov rcx, r8
and r11, rax
mov rax, rsi
xor rcx, r9
or r9, rbx
mov esi, r10d
not rax
xor rbx, rcx
rol esi, 2
xor rbp, r9
and rcx, r9
mov r8, rbx
xor r8, r10
xor esi, r8d
mov rbx, r8
rol r8d, 0xe
xor r8d, esi
shr rbx, 0x20
rol esi, 0xa
shr r10, 0x20
xor rbp, rax
rol r10d, 2
xor esi, r8d
rol r8d, 1
xor r10d, ebx
rol ebx, 0xe
xor ebx, r10d
rol r10d, 0xa
xor r10d, ebx
rol ebx, 1
shl r10, 0x20
shl rbx, 0x20
or r10, rsi
or rbx, r8
mov rsi, rbp
mov r8d, eax
shr rax, 0x20
shr rsi, 0x20
rol eax, 2
rol r8d, 2
xor eax, esi
rol esi, 0xe
xor r8d, ebp
xor esi, eax
rol ebp, 0xe
rol eax, 0xa
xor ebp, r8d
rol r8d, 0xa
xor eax, esi
xor r8d, ebp
rol esi, 1
shl rax, 0x20
or rax, r8
shl rsi, 0x20
xor rdx, r9
xor rcx, rdi
xor rdx, r11
rol ebp, 1
not rdx
or rbp, rsi
mov esi, r11d
shr r11, 0x20
rol esi, 2
mov r9, rdx
rol r11d, 2
xor esi, edx
shr r9, 0x20
rol edx, 0xe
xor r11d, r9d
rol r9d, 0xe
xor edx, esi
xor r9d, r11d
rol esi, 0xa
mov r8d, edx
mov edx, r11d
rol edx, 0xa
xor esi, r8d
rol r8d, 1
xor edx, r9d
rol r9d, 1
shl rdx, 0x20
shl r9, 0x20
or rdx, rsi
mov esi, edi
or r9, r8
mov r8, rcx
rol esi, 2
shr r8, 0x20
xor esi, ecx
rol ecx, 0xe
xor ecx, esi
rol esi, 0xa
shr rdi, 0x20
mov r11d, ecx
xor r10, qword [r12]
add r12, 8
rol edi, 2
xor esi, r11d
rol r11d, 1
xor rbx, qword [r13]
xor edi, r8d
rol r8d, 0xe
add r13, 8
xor r8d, edi
rol edi, 0xa
mov ecx, edi
lea rdi, [0x1402f9340]
xor ecx, r8d
rol r8d, 1
shl rcx, 0x20
shl r8, 0x20
or rcx, rsi
or r8, r11
cmp r12, rdi
jne 0x14012dce0
mov rsi, rax
mov dword [rsp + 0x68], r10d
shr r10, 0x20
mov edi, dword [rsp + 0x2c]
shr rsi, 0x20
mov r12, r10
mov dword [rsp + 0xa0], ebx
shr rbx, 0x20
mov r13, rsi
mov dword [rsp + 0xc4], esi
mov rsi, rbx
lea r11, [0x1402f9280]
mov dword [rsp + 0xd0], ebx
mov rbx, r9
mov dword [rsp + 0x88], ebp
shr rbx, 0x20
shr rbp, 0x20
mov dword [rsp + 0x90], r8d
shr r8, 0x20
mov dword [rsp + 0x70], edx
shr rdx, 0x20
mov dword [rsp + 0x7c], ecx
shr rcx, 0x20
mov dword [rsp + 0xd8], ebp
mov dword [rsp + 0xdc], ebx
mov dword [rsp + 0xe0], r8d
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0xc8], edx
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0x80], r9d
mov r9d, dword [rsp + 0x30]
mov qword [rsp + 0x40], r13
mov r13, rsi
mov esi, dword [rsp + 0x24]
mov qword [rsp + 0x48], rdx
mov edx, dword [rsp + 0x34]
mov qword [rsp + 0x98], rcx
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0xc0], r10d
lea r10, [0x1402f92a0]
nop dword [rax]
mov r12d, r14d
xor ecx, r15d
xor r9d, edx
or r12d, eax
xor r12d, r15d
and r15d, r14d
xor eax, r15d
xor r15d, ecx
and ecx, r12d
not eax
xor ecx, eax
or eax, r15d
xor r12d, eax
xor r14d, eax
xor r15d, ecx
and ecx, eax
mov eax, r12d
mov r12d, esi
or r12d, edi
not eax
xor r12d, edx
and edx, esi
xor edi, edx
xor edx, r9d
and r9d, r12d
not edi
xor r9d, edi
or edi, edx
xor edx, r9d
xor esi, edi
and r9d, edi
xor edx, r14d
rol r14d, 2
xor r14d, edx
rol edx, 0xe
xor edx, r14d
rol r14d, 0xa
xor r14d, edx
rol edx, 1
xor r12d, edi
xor esi, eax
xor r12d, ecx
rol ecx, 2
xor r9d, r15d
xor r14d, dword [r10]
not r12d
rol eax, 2
add r10, 4
xor edx, dword [r11]
xor ecx, r12d
rol r15d, 2
xor eax, esi
add r11, 4
rol r12d, 0xe
xor r15d, r9d
rol esi, 0xe
xor r12d, ecx
rol r9d, 0xe
xor esi, eax
rol ecx, 0xa
xor r9d, r15d
mov edi, r12d
rol eax, 0xa
rol r15d, 0xa
xor ecx, r12d
lea r12, [0x1402f92c0]
xor eax, esi
rol edi, 1
xor r15d, r9d
rol esi, 1
rol r9d, 1
cmp r10, r12
jne 0x14012df78
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x24], esi
mov r12, qword [rsp + 0x38]
mov rsi, r13
mov dword [rsp + 0x28], ecx
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x34], edx
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0x2c], edi
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x30], r9d
cmp eax, 1
je 0x14012e0c0
cmp eax, 2
je 0x14012e220
mov rax, qword [rsp + 0x1c0]
mov dword [rsp + 0x138], 1
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
jmp 0x14012ccdd
mov edi, dword [rsp + 0x50]
mov eax, dword [rsp + 0xf0]
xor eax, edi
mov edi, dword [rsp + 0x68]
xor eax, edi
xor eax, r12d
xor eax, r14d
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi], eax
mov edi, dword [rsp + 0x54]
mov eax, dword [rsp + 0xf8]
xor eax, edi
mov edi, dword [rsp + 0x78]
xor eax, edi
mov edi, dword [rsp + 0x20]
xor eax, r13d
xor eax, edi
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 4], eax
mov edi, dword [rsp + 0x58]
mov eax, dword [rsp + 0x100]
xor eax, edi
mov edi, dword [rsp + 0x70]
xor eax, edi
mov edi, dword [rsp + 0x28]
xor eax, edx
xor eax, edi
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 8], eax
mov edi, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x108]
xor eax, edi
mov edi, dword [rsp + 0x7c]
xor eax, edi
xor eax, ecx
xor eax, r15d
bswap eax
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0xc], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x110]
xor eax, ecx
mov ecx, dword [rsp + 0xa0]
xor eax, ecx
mov ecx, dword [rsp + 0x34]
xor eax, esi
xor eax, ecx
bswap eax
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0x10], eax
mov ecx, dword [rsp + 0xe4]
mov eax, dword [rsp + 0x118]
xor eax, ecx
mov ecx, dword [rsp + 0x88]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
xor eax, ebp
xor eax, ecx
bswap eax
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0x14], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0x128]
xor eax, ecx
mov ecx, dword [rsp + 0x80]
xor eax, ecx
xor eax, ebx
mov ebx, dword [rsp + 0x2c]
xor eax, ebx
bswap eax
mov rbx, qword [rsp + 0x1d8]
mov dword [rbx + 0x18], eax
mov ebx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x130]
xor eax, ebx
mov ebx, dword [rsp + 0x90]
xor eax, ebx
mov ebx, dword [rsp + 0x30]
xor eax, r8d
xor eax, ebx
bswap eax
mov rbx, qword [rsp + 0x1d8]
mov dword [rsp + 0x138], 2
mov dword [rbx + 0x1c], eax
jmp 0x14012ccdd
mov r10d, dword [rsp + 0xf0]
mov eax, dword [rsp + 0x50]
mov r9d, r14d
mov r11, r8
mov r14d, dword [rsp + 0x88]
mov r8, rbp
mov rbp, rcx
mov rcx, rsi
xor eax, r10d
mov r10d, dword [rsp + 0x68]
mov rsi, r13
mov r13d, dword [rsp + 0x90]
xor eax, r10d
xor eax, r12d
xor eax, r9d
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 0x20], eax
mov edi, dword [rsp + 0xf8]
mov eax, dword [rsp + 0x54]
xor eax, edi
mov edi, dword [rsp + 0x78]
xor eax, edi
mov edi, dword [rsp + 0x20]
xor eax, esi
xor eax, edi
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 0x24], eax
mov edi, dword [rsp + 0x100]
mov eax, dword [rsp + 0x58]
xor eax, edi
mov edi, dword [rsp + 0x70]
xor eax, edi
mov edi, dword [rsp + 0x28]
xor eax, edx
xor eax, edi
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 0x28], eax
mov edi, dword [rsp + 0x108]
mov eax, dword [rsp + 0x5c]
xor eax, edi
mov edi, dword [rsp + 0x7c]
xor eax, edi
xor eax, ebp
xor eax, r15d
bswap eax
mov rdi, qword [rsp + 0x1d8]
mov dword [rdi + 0x2c], eax
mov edi, dword [rsp + 0x110]
mov eax, dword [rsp + 0x60]
xor eax, edi
mov edi, dword [rsp + 0xa0]
xor eax, edi
xor eax, ecx
mov ecx, dword [rsp + 0x34]
xor eax, ecx
bswap eax
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0x30], eax
mov ecx, dword [rsp + 0x118]
mov eax, dword [rsp + 0xe4]
xor eax, ecx
mov ecx, dword [rsp + 0x24]
xor eax, r14d
xor eax, r8d
xor eax, ecx
bswap eax
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0x34], eax
mov ecx, dword [rsp + 0x128]
mov eax, dword [rsp + 0xe8]
xor eax, ecx
mov ecx, dword [rsp + 0x80]
xor eax, ecx
xor eax, ebx
mov ebx, dword [rsp + 0x2c]
xor eax, ebx
bswap eax
mov rbx, qword [rsp + 0x1d8]
mov dword [rbx + 0x38], eax
mov ebx, dword [rsp + 0x130]
mov eax, dword [rsp + 0x64]
xor eax, ebx
mov ebx, dword [rsp + 0x30]
xor eax, r13d
xor eax, r11d
xor eax, ebx
bswap eax
mov rbx, qword [rsp + 0x1d8]
mov dword [rbx + 0x3c], eax
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret