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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
mov rax, qword [rcx + 0x20]
mov rbx, rcx
mov r8d, 0x20
xor edx, edx
mov byte [rax + rcx], 0x80
inc rax
sub r8, rax
add rcx, rax
call fcn.140205130
mov eax, dword [rbx + 0x28]
mov edx, dword [rbx + 0x38]
mov esi, dword [rbx + 0x40]
mov r11d, dword [rbx + 0x44]
mov r9d, dword [rbx + 0x78]
mov r8d, dword [rbx + 0x80]
mov r10d, dword [rbx + 0x84]
mov ecx, dword [rbx + 0xbc]
mov ebp, dword [rbx + 0xa8]
mov r12d, dword [rbx + 0xb0]
mov r13d, dword [rbx + 0xb4]
mov r14d, dword [rbx + 0xb8]
mov edi, dword [rbx + 0xc0]
mov qword [rsp + 0xb8], rax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x168], rax
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0x158], rax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0xb0], rax
mov eax, dword [rbx + 0x3c]
mov qword [rsp + 0xc8], rax
mov eax, dword [rbx + 0x48]
mov qword [rsp + 0xe8], rax
mov eax, dword [rbx + 0x4c]
mov qword [rsp + 0x120], rax
mov eax, dword [rbx + 0x50]
mov qword [rsp + 0x130], rax
mov eax, dword [rbx + 0x54]
mov qword [rsp + 0xd8], rax
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0x100], rax
mov eax, dword [rbx + 0x5c]
mov qword [rsp + 0x108], rax
mov eax, dword [rbx + 0x60]
mov qword [rsp + 0x118], rax
mov eax, dword [rbx + 0x64]
mov qword [rsp + 0x140], rax
mov eax, dword [rbx + 0x68]
mov qword [rsp + 0xf0], rax
mov eax, dword [rbx + 0x6c]
mov qword [rsp + 0x48], rax
mov eax, dword [rbx + 0x70]
mov qword [rsp + 0xc0], rax
mov eax, dword [rbx + 0x74]
mov qword [rsp + 0xf8], rax
mov eax, dword [rbx + 0x7c]
mov qword [rsp + 0x98], rax
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0x8c]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0x90]
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x94]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 0x98]
mov qword [rsp + 0x90], rax
mov eax, dword [rbx + 0x9c]
mov qword [rsp + 0xa0], rax
mov eax, dword [rbx + 0xa0]
mov qword [rsp + 0x70], rax
mov eax, dword [rbx + 0xa4]
mov qword [rsp + 0x58], rax
mov eax, dword [rbx + 0xac]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x150], r10
mov dword [rsp + 0x1e0], ecx
mov r15d, dword [rbx + 0xc4]
xor ecx, ecx
mov dword [rsp + 0x114], ecx
mov dword [rsp + 0x1d8], edi
nop dword [rax]
mov ecx, dword [rbx]
bswap ecx
mov dword [rsp + 0x17c], ecx
mov ecx, dword [rbx + 4]
bswap ecx
mov dword [rsp + 0x60], ecx
mov ecx, dword [rbx + 8]
bswap ecx
mov dword [rsp + 0x170], ecx
mov ecx, dword [rbx + 0xc]
bswap ecx
mov dword [rsp + 0x174], ecx
mov ecx, dword [rbx + 0x10]
bswap ecx
mov dword [rsp + 0x80], ecx
mov ecx, dword [rbx + 0x14]
bswap ecx
mov dword [rsp + 0x40], ecx
mov ecx, dword [rbx + 0x18]
bswap ecx
mov dword [rsp + 0xd0], ecx
mov ecx, dword [rbx + 0x1c]
mov ebx, r15d
xor ebx, dword [rsp + 0x58]
xor ebx, r10d
mov r10d, r14d
xor r10d, dword [rsp + 0x90]
xor ebx, dword [rsp + 0x140]
xor r10d, r9d
xor r10d, dword [rsp + 0x100]
xor ebx, r11d
mov r11d, dword [rsp + 0x1e0]
xor r10d, edx
xor r11d, dword [rsp + 0xa0]
mov edx, eax
xor edx, dword [rsp + 0x50]
mov r9d, ebx
xor edx, dword [rsp + 0x48]
xor r9d, r13d
xor r9d, dword [rsp + 0x30]
xor edx, dword [rsp + 0x120]
xor r11d, dword [rsp + 0x98]
xor r9d, dword [rsp + 0xf8]
xor r11d, dword [rsp + 0x108]
xor r11d, dword [rsp + 0xc8]
xor r9d, dword [rsp + 0xd8]
xor r9d, dword [rsp + 0xb0]
xor dword [rsp + 0xa8], r9d
xor dword [rsp + 0xc8], r10d
xor dword [rsp + 0x148], r11d
bswap ecx
mov dword [rsp + 0x3c], ecx
mov rcx, qword [rsp + 0x70]
xor edi, ecx
mov ecx, dword [rsp + 0xe0]
xor edi, r8d
mov r8d, ebx
xor edi, dword [rsp + 0x118]
xor r8d, r12d
xor r8d, dword [rsp + 0x28]
xor edi, esi
mov rsi, qword [rsp + 0x168]
xor r8d, dword [rsp + 0xc0]
xor edx, esi
xor r8d, dword [rsp + 0x130]
mov esi, ebx
xor r8d, dword [rsp + 0x158]
xor esi, ebp
mov rbp, qword [rsp + 0xf0]
xor ecx, esi
xor dword [rsp + 0x158], edx
xor ecx, ebp
xor ecx, dword [rsp + 0xe8]
xor ecx, dword [rsp + 0xb8]
xor dword [rsp + 0x168], ecx
xor dword [rsp + 0x120], ecx
xor dword [rsp + 0xb8], ebx
xor dword [rsp + 0xb0], r8d
xor dword [rsp + 0x78], edi
xor dword [rsp + 0xe8], ebx
xor dword [rsp + 0x130], edx
xor dword [rsp + 0x48], ecx
xor eax, ecx
xor dword [rsp + 0x50], ecx
xor ebp, ebx
xor dword [rsp + 0x108], r10d
xor r12d, edx
xor dword [rsp + 0x140], edi
xor r15d, edi
xor dword [rsp + 0x100], r9d
xor r14d, r9d
xor dword [rsp + 0x98], r10d
xor r13d, r8d
xor dword [rsp + 0xa0], r10d
xor dword [rsp + 0x1e0], r10d
xor dword [rsp + 0x118], r11d
xor dword [rsp + 0xc0], edx
xor dword [rsp + 0x138], r9d
xor dword [rsp + 0xd8], r8d
mov r10, qword [rsp + 0xd8]
xor dword [rsp + 0x68], r11d
xor dword [rsp + 0x150], edi
xor dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x78]
xor dword [rsp + 0x70], r11d
xor dword [rsp + 0x58], edi
mov edi, r10d
xor dword [rsp + 0x1d8], r11d
xor edi, edx
xor dword [rsp + 0x90], r9d
mov r9, qword [rsp + 0x140]
xor dword [rsp + 0xf8], r8d
xor dword [rsp + 0xe0], ebx
mov ecx, dword [rsp + 0xe8]
xor dword [rsp + 0x30], r8d
xor ecx, edx
xor edi, dword [rsp + 0x158]
mov r8, qword [rsp + 0x108]
mov dword [rsp + 0x8c], ecx
mov rcx, qword [rsp + 0x130]
mov ebx, ecx
mov qword [rsp + 0xf0], rbp
mov ebp, dword [rsp + 0x120]
xor ebx, dword [rsp + 0x168]
xor ebp, edx
xor ebp, dword [rsp + 0xb8]
mov dword [rsp + 0x88], r13d
mov r13d, r9d
xor r13d, dword [rsp + 0x148]
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x118]
xor r12d, dword [rsp + 0xc8]
mov dword [rsp + 0x24], r15d
mov r15d, r8d
xor r15d, dword [rsp + 0xa8]
mov dword [rsp + 0x84], r14d
mov r14, qword [rsp + 0x100]
mov r11d, r14d
mov dword [rsp + 0x178], ebx
xor r11d, edx
mov dword [rsp + 0x130], edi
xor r11d, dword [rsp + 0xb0]
mov edx, r9d
xor edx, r10d
mov dword [rsp + 0x160], r11d
mov r10d, r9d
xor r10d, ecx
mov ecx, r9d
xor ecx, dword [rsp + 0xe8]
xor ecx, dword [rsp + 0x48]
xor r9d, dword [rsp + 0xf0]
mov dword [rsp + 0x128], ecx
mov rcx, qword [rsp + 0x120]
xor ecx, dword [rsp + 0xc0]
mov qword [rsp + 0x140], r9
mov r9, qword [rsp + 0xf8]
xor r10d, r9d
mov qword [rsp + 0x120], rcx
mov rcx, qword [rsp + 0x138]
xor edx, ecx
mov dword [rsp + 0xf8], r10d
mov dword [rsp + 0xd8], edx
xor ecx, dword [rsp + 0xa0]
xor r14d, dword [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x138], rcx
xor r8d, edx
xor edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
xor dword [rsp + 0x98], ecx
mov qword [rsp + 0x108], r8
mov r8, qword [rsp + 0x150]
xor dword [rsp + 0x118], r8d
mov r10d, r8d
xor r10d, dword [rsp + 0xf0]
xor r10d, dword [rsp + 0x50]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x58]
mov ecx, edx
mov qword [rsp + 0x100], r14
mov r14d, r8d
mov dword [rsp + 0x110], r10d
mov r10d, edx
xor r14d, r9d
xor r14d, dword [rsp + 0x90]
mov r9d, r8d
xor r8d, dword [rsp + 0xe0]
xor r9d, dword [rsp + 0xc0]
xor r10d, dword [rsp + 0xe0]
mov qword [rsp + 0x150], r8
mov r8, qword [rsp + 0x28]
xor dword [rsp + 0x48], r8d
mov r8, qword [rsp + 0x30]
xor ecx, r8d
mov dword [rsp + 0x30], r10d
xor ecx, dword [rsp + 0x84]
xor r9d, r8d
xor dword [rsp + 0x30], eax
mov r8d, edx
xor r8d, dword [rsp + 0x28]
xor edx, esi
xor r8d, dword [rsp + 0x88]
xor eax, dword [rsp + 0x158]
mov dword [rsp + 0xe8], ecx
mov rcx, qword [rsp + 0x90]
xor ecx, dword [rsp + 0x1e0]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0xa0]
xor ecx, dword [rsp + 0x1d8]
mov qword [rsp + 0xa0], rcx
mov ecx, dword [rsp + 0x24]
xor dword [rsp + 0x70], ecx
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x50]
xor edx, dword [rsp + 0x20]
mov qword [rsp + 0x50], rdx
mov edx, ecx
mov ecx, dword [rsp + 0x1d8]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x1e0]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x1d8], ecx
mov ecx, edx
xor ecx, dword [rsp + 0x88]
mov dword [rsp + 0x1e0], ecx
mov ecx, edx
xor ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0xb0]
mov dword [rsp + 0x20], edx
xor dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x168]
xor dword [rsp + 0x20], esi
mov esi, dword [rsp + 0x1e0]
xor esi, dword [rsp + 0xa8]
xor edx, dword [rsp + 0xb8]
mov dword [rsp + 0x1e0], esi
mov rsi, qword [rsp + 0xc8]
xor dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x148]
xor dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0x78]
xor dword [rsp + 0x38], esi
mov r10d, dword [rsp + 0x110]
mov esi, r13d
xor esi, edx
mov dword [rsp + 0x28], esi
mov esi, r13d
xor esi, dword [rsp + 0x8c]
xor esi, dword [rsp + 0x20]
mov dword [rsp + 0xe0], esi
mov esi, ebp
xor esi, eax
mov dword [rsp + 0xf0], esi
mov esi, r13d
xor esi, ebx
mov ebx, r13d
xor ebx, edi
xor esi, ecx
xor ebx, dword [rsp + 0x1e0]
mov edi, dword [rsp + 0x38]
mov dword [rsp + 0xa8], ebx
mov ebx, dword [rsp + 0x24]
mov dword [rsp + 0xc8], esi
mov esi, dword [rsp + 0x1d8]
xor r11d, esi
xor esi, dword [rsp + 0xa0]
mov dword [rsp + 0xb0], r11d
mov r11d, r15d
xor r11d, ebx
mov dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x98]
mov dword [rsp + 0xb8], r11d
mov r11d, r12d
xor r11d, edi
mov dword [rsp + 0x78], r11d
mov r11d, edi
xor r11d, ecx
mov ecx, edi
xor ecx, eax
mov eax, edi
xor edi, dword [rsp + 0x58]
xor ecx, r8d
xor eax, edx
mov dword [rsp + 0x38], edi
mov rdx, qword [rsp + 0x50]
xor dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x90]
xor dword [rsp + 0x1e0], edx
mov rdx, qword [rsp + 0x70]
xor eax, dword [rsp + 0x30]
xor ebx, edx
xor dword [rsp + 0x90], esi
mov edi, edx
xor edi, r8d
mov dword [rsp + 0x24], ebx
mov r8d, edx
mov dword [rsp + 0x88], ecx
xor r8d, dword [rsp + 0x50]
mov ebx, edx
mov ecx, dword [rsp + 0xe8]
xor r8d, r9d
xor ebx, dword [rsp + 0x58]
xor r11d, ecx
xor ebx, r10d
mov dword [rsp + 0x50], r8d
mov r8, qword [rsp + 0x138]
xor edi, r14d
xor ecx, r8d
mov dword [rsp + 0x84], r11d
mov r11, qword [rsp + 0x150]
xor edx, r11d
mov dword [rsp + 0xe8], ecx
mov rcx, qword [rsp + 0x68]
xor dword [rsp + 0xa0], ecx
mov qword [rsp + 0x70], rdx
mov edx, ecx
xor edx, r9d
mov dword [rsp + 0xc0], ebx
mov rbx, qword [rsp + 0x48]
mov r9d, ecx
xor dword [rsp + 0x30], ebx
xor r9d, ebx
mov dword [rsp + 0x48], r9d
xor r8d, dword [rsp + 0x108]
mov ebx, ecx
mov r9, qword [rsp + 0x140]
xor ebx, r11d
xor ebx, dword [rsp + 0x128]
xor ecx, r9d
xor r12d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x120]
xor r15d, dword [rsp + 0x80]
xor r10d, r11d
xor edx, dword [rsp + 0xd8]
xor r14d, dword [rsp + 0x100]
xor dword [rsp + 0x100], r12d
xor dword [rsp + 0xd8], r15d
mov r15d, dword [rsp + 0xd0]
xor r13d, r15d
xor dword [rsp + 0x108], r13d
mov r12d, r15d
mov qword [rsp + 0x138], r8
mov r8d, dword [rsp + 0x170]
xor dword [rsp + 0xf0], r8d
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x118]
xor dword [rsp + 0x68], r15d
xor esi, ecx
mov dword [rsp + 0x58], ebx
mov ebx, ecx
xor ebx, r11d
mov dword [rsp + 0x110], r10d
mov r10d, dword [rsp + 0xf8]
mov r11d, ecx
xor dword [rsp + 0x48], r10d
xor r11d, ebp
mov ebp, dword [rsp + 0x28]
xor r11d, r9d
mov r9d, dword [rsp + 0x80]
xor dword [rsp + 0xa8], r9d
mov r9d, dword [rsp + 0x40]
xor dword [rsp + 0xb0], r9d
mov r9d, dword [rsp + 0xd0]
xor dword [rsp + 0xb8], r9d
mov r9d, dword [rsp + 0x3c]
xor dword [rsp + 0x78], r9d
xor ebp, dword [rsp + 0x17c]
mov qword [rsp + 0x98], rsi
mov esi, ecx
mov ecx, dword [rsp + 0x60]
xor esi, r10d
xor dword [rsp + 0xe0], ecx
mov ecx, dword [rsp + 0x174]
xor dword [rsp + 0xc8], ecx
mov r10d, dword [rsp + 0x3c]
xor r10d, dword [rsp + 0x118]
xor r10d, dword [rsp + 0x8c]
mov dword [rsp + 0x28], r9d
xor dword [rsp + 0x28], ecx
mov ecx, r9d
xor r9d, dword [rsp + 0x17c]
xor ecx, r8d
mov r8d, dword [rsp + 0x178]
xor r12d, ecx
xor r8d, dword [rsp + 0x60]
xor r11d, r9d
xor dword [rsp + 0x128], r8d
mov r8d, dword [rsp + 0x130]
xor dword [rsp + 0x110], r9d
xor r8d, ecx
xor ebx, r8d
mov dword [rsp + 0xf8], r12d
mov r8d, dword [rsp + 0x160]
mov ecx, r15d
xor r8d, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x60]
xor esi, r8d
xor dword [rsp + 0x48], ecx
mov r8d, r15d
xor r8d, dword [rsp + 0x3c]
xor dword [rsp + 0x58], r8d
xor r12d, edx
mov edx, dword [rsp + 0x28]
mov dword [rsp + 0x3c], r12d
xor dword [rsp + 0x30], r8d
xor edx, r14d
mov r14d, dword [rsp + 0x40]
xor dword [rsp + 0x70], r14d
ror dword [rsp + 0x3c], 0x1e
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + 0x80]
xor edx, dword [rsp + 0x138]
ror dword [rsp + 0x60], 0x1e
mov dword [rsp + 0xd0], edx
mov edx, r14d
xor edx, dword [rsp + 0x98]
ror dword [rsp + 0xd0], 0x1e
mov dword [rsp + 0x8c], edx
mov edx, r14d
ror dword [rsp + 0x8c], 0x1e
xor edx, ecx
mov ecx, r14d
mov dword [rsp + 0x40], edx
mov r13d, dword [rsp + 0x40]
xor ecx, r15d
xor dword [rsp + 0xc0], ecx
mov edx, r14d
xor dword [rsp + 0x20], ecx
xor edx, r9d
mov r9d, dword [rsp + 0x80]
xor r14d, r9d
xor dword [rsp + 0x50], edx
xor eax, r14d
mov r14d, dword [rsp + 0x84]
mov ecx, r9d
xor dword [rsp + 0x38], r9d
xor ecx, r8d
xor dword [rsp + 0x88], ecx
mov ecx, r9d
mov r8d, dword [rsp + 0xf8]
xor ecx, edx
mov edx, dword [rsp + 0x28]
xor r14d, ecx
mov ecx, dword [rsp + 0x1e0]
mov r15d, dword [rsp + 0x24]
xor ecx, r13d
xor r9d, dword [rsp + 0xa0]
xor r13d, edi
ror ecx, 0x1c
xor r15d, edx
xor edx, dword [rsp + 0x90]
ror r14d, 0x1c
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x1d8]
xor eax, r8d
mov dword [rsp + 0x1e0], ecx
xor r8d, dword [rsp + 0xe8]
mov ecx, ebp
mov ebp, dword [rsp + 0x128]
mov dword [rsp + 0x84], r14d
ror eax, 0x1c
shl rbp, 0x20
mov dword [rsp + 0x1d8], eax
ror r13d, 0x1d
ror r8d, 0x1d
ror edx, 0x1d
ror r9d, 0x1d
ror r15d, 0x1c
mov r14d, r10d
shl r14, 0x20
or r14, rcx
mov edi, r11d
mov ecx, dword [rsp + 0xe0]
shl rdi, 0x20
or rdi, rcx
mov eax, ebx
mov ecx, dword [rsp + 0xf0]
or rbp, rcx
mov dword [rsp + 0x40], r13d
mov ecx, dword [rsp + 0xc8]
shl rax, 0x20
mov dword [rsp + 0xf8], r8d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x80], r9d
mov dword [rsp + 0x24], r15d
mov edx, dword [rsp + 0xd8]
lea r8d, [rsi + rsi]
or rax, rcx
shl r8, 0x1f
mov ecx, esi
and rcx, 0xffffffff80000000
mov qword [rsp + 0x148], 0
or r8, rcx
lea r15d, [rdx + rdx]
mov ecx, dword [rsp + 0xa8]
add r8, r8
or r8, rcx
shl r15, 0x1f
mov ecx, edx
mov rdx, qword [rsp + 0x100]
and rcx, 0xffffffff80000000
or r15, rcx
mov ecx, dword [rsp + 0xb0]
add r15, r15
or r15, rcx
lea esi, [rdx + rdx]
shl rsi, 0x1f
mov ecx, edx
mov rdx, qword [rsp + 0x108]
and rcx, 0xffffffff80000000
or rsi, rcx
mov ecx, dword [rsp + 0xb8]
add rsi, rsi
or rsi, rcx
mov ecx, edx
and rcx, 0xffffffff80000000
lea r13d, [rdx + rdx]
shl r13, 0x1f
or r13, rcx
mov ecx, dword [rsp + 0x78]
add r13, r13
or r13, rcx
nop dword [rax]
nop word [rax + rax]
xor r13, r8
mov rcx, rdi
or rcx, r14
not rdi
xor rcx, rax
xor rbp, rax
and rax, r14
xor rdi, rax
xor rax, rbp
and rbp, rcx
not rcx
xor rbp, rdi
or rdi, rax
xor r14, rdi
xor rax, rbp
and rbp, rdi
mov r11d, r14d
xor rdi, rcx
ror r11d, 0x1e
mov rcx, rsi
not rsi
or rcx, r15
xor rcx, r8
and r8, r15
xor rsi, r8
xor r8, r13
and r13, rcx
not rcx
xor r13, rsi
or rsi, r8
xor r15, rsi
xor r8, r13
xor r15, rdi
xor r8, r14
xor r11d, r8d
shr r14, 0x20
and r13, rsi
ror r14d, 0x1e
xor rsi, rcx
mov rcx, r8
shr rcx, 0x20
xor r14d, ecx
ror r8d, 0x12
ror ecx, 0x12
xor r8d, r11d
xor ecx, r14d
mov ebx, r8d
mov r10d, ecx
mov r8d, edi
mov rcx, r15
shr rdi, 0x20
shr rcx, 0x20
ror edi, 0x1e
xor edi, ecx
ror r8d, 0x1e
xor r8d, r15d
ror ecx, 0x12
xor ecx, edi
ror r15d, 0x12
mov edx, ecx
xor r15d, r8d
mov r9d, r15d
ror edi, 0x16
xor rdi, rdx
ror r8d, 0x16
shl rdi, 0x20
lea r15d, [rdx + rdx]
shl r15, 0x1f
mov ecx, r8d
xor rcx, r9
or rdi, rcx
mov ecx, edx
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or r15, rcx
mov ecx, r9d
add r15, r15
shr rcx, 0x1f
or r15, rcx
or r15, rdx
xor rsi, rbp
xor r13, rax
ror r14d, 0x16
mov r8d, ebp
ror r11d, 0x16
ror r8d, 0x1e
mov rcx, rsi
shr rcx, 0x20
xor r8d, esi
ror esi, 0x12
xor r14, r10
xor esi, r8d
shr rbp, 0x20
mov r9d, esi
ror r8d, 0x16
ror ebp, 0x1e
xor ebp, ecx
shl r14, 0x20
ror ecx, 0x12
xor ecx, ebp
ror ebp, 0x16
mov edx, ecx
mov ecx, r8d
xor rbp, rdx
xor rcx, r9
shl rbp, 0x20
or rbp, rcx
mov r8d, eax
shr rax, 0x20
lea esi, [rdx + rdx]
ror eax, 0x1e
mov ecx, edx
and rcx, 0xffffffff80000000
ror r8d, 0x1e
xor r8d, r13d
shl rsi, 0x1f
or rsi, rcx
lea edx, [r9 + r9]
mov ecx, r9d
add rsi, rsi
shr rcx, 0x1f
or rsi, rcx
mov rcx, r13
shr rcx, 0x20
or rsi, rdx
xor eax, ecx
ror r13d, 0x12
ror ecx, 0x12
xor r13d, r8d
xor ecx, eax
mov r9d, r13d
mov edx, ecx
ror r8d, 0x16
mov ecx, r8d
lea r8d, [r10 + r10]
xor rcx, r9
ror eax, 0x16
xor rax, rdx
shl r8, 0x1f
shl rax, 0x20
lea r13d, [rdx + rdx]
or rax, rcx
shl r13, 0x1f
mov ecx, edx
lea edx, [r9 + r9]
and rcx, 0xffffffff80000000
or r13, rcx
mov ecx, r9d
mov r9, qword [rsp + 0x148]
add r13, r13
shr rcx, 0x1f
or r13, rcx
mov ecx, r11d
xor rcx, rbx
lea r11, [0x140000000]
or r14, rcx
or r13, rdx
xor r14, qword [r9 + r11 + 0x231450]
mov ecx, r10d
and rcx, 0xffffffff80000000
or r8, rcx
add r8, r8
mov ecx, ebx
lea edx, [rbx + rbx]
shr rcx, 0x1f
or r8, rcx
or r8, rdx
xor r8, qword [r9 + r11 + 0x231570]
add r9, 8
mov qword [rsp + 0x148], r9
cmp r9, 0x40
jl 0x1401710a0
mov ecx, dword [rsp + 0x68]
mov r12d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x40]
mov qword [rsp + 0xb0], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xe8], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x120], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0xb0]
shr rax, 0x20
mov qword [rsp + 0xd8], rax
mov rax, r8
shr rax, 0x20
mov qword [rsp + 0x100], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x108], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x148], rsi
mov rsi, r13
shr rsi, 0x20
mov qword [rsp + 0x168], rdi
mov edi, dword [rsp + 0xc0]
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0x30]
mov qword [rsp + 0x78], r13
mov r13d, dword [rsp + 0x50]
mov qword [rsp + 0xb8], r14
mov r14d, dword [rsp + 0xf8]
mov qword [rsp + 0x158], rbp
mov ebp, dword [rsp + 0x28]
mov qword [rsp + 0x140], rsi
mov esi, dword [rsp + 0x80]
shl r12, 0x20
or r12, rcx
shl rdi, 0x20
mov ecx, dword [rsp + 0x58]
or rdi, rcx
shl rax, 0x20
mov ecx, dword [rsp + 0x110]
or rax, rcx
shl r13, 0x20
mov ecx, dword [rsp + 0x48]
or r13, rcx
shl r9, 0x20
mov ecx, dword [rsp + 0x3c]
or r9, rcx
shl r14, 0x20
mov ecx, dword [rsp + 0x60]
or r14, rcx
shl rbp, 0x20
mov ecx, dword [rsp + 0xd0]
or rbp, rcx
shl rsi, 0x20
mov ecx, dword [rsp + 0x8c]
or rsi, rcx
mov qword [rsp + 0xc8], r15
xor r15d, r15d
mov qword [rsp + 0xa8], r8
nop word [rax + rax]
mov rcx, rdi
xor rsi, r9
or rcx, r12
not rdi
xor rcx, r13
xor rax, r13
and r13, r12
xor rdi, r13
xor r13, rax
and rax, rcx
not rcx
xor rax, rdi
or rdi, r13
xor r12, rdi
xor r13, rax
and rax, rdi
mov r11d, r12d
xor rdi, rcx
ror r11d, 0x1e
mov r8d, edi
mov rcx, rbp
or rcx, r14
ror r8d, 0x1e
xor rcx, r9
not rbp
and r9, r14
xor rbp, r9
xor r9, rsi
and rsi, rcx
not rcx
xor rsi, rbp
or rbp, r9
xor r14, rbp
xor r9, rsi
xor r14, rdi
xor r9, r12
xor r8d, r14d
shr rdi, 0x20
ror edi, 0x1e
xor r11d, r9d
shr r12, 0x20
and rsi, rbp
xor rbp, rcx
ror r12d, 0x1e
mov rcx, r9
ror r9d, 0x12
shr rcx, 0x20
xor r9d, r11d
xor r12d, ecx
mov ebx, r9d
ror ecx, 0x12
xor ecx, r12d
mov r10d, ecx
mov rcx, r14
shr rcx, 0x20
xor edi, ecx
ror r14d, 0x12
xor r14d, r8d
ror ecx, 0x12
xor ecx, edi
mov r9d, r14d
mov edx, ecx
ror edi, 0x16
xor rdi, rdx
ror r8d, 0x16
shl rdi, 0x20
lea r14d, [rdx + rdx]
mov ecx, r8d
xor rcx, r9
shl r14, 0x1f
or rdi, rcx
mov ecx, edx
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or r14, rcx
mov ecx, r9d
add r14, r14
shr rcx, 0x1f
or r14, rcx
or r14, rdx
xor rbp, rax
xor rsi, r13
ror r12d, 0x16
mov r8d, eax
ror r11d, 0x16
mov rcx, rbp
ror r8d, 0x1e
shr rcx, 0x20
xor r8d, ebp
ror ebp, 0x12
xor r12, r10
xor ebp, r8d
shr rax, 0x20
mov r9d, ebp
ror r8d, 0x16
ror eax, 0x1e
xor eax, ecx
shl r12, 0x20
ror ecx, 0x12
xor ecx, eax
ror eax, 0x16
mov edx, ecx
xor rax, rdx
mov ecx, r8d
xor rcx, r9
shl rax, 0x20
or rax, rcx
mov r8d, r13d
shr r13, 0x20
lea ebp, [rdx + rdx]
ror r13d, 0x1e
mov ecx, edx
and rcx, 0xffffffff80000000
shl rbp, 0x1f
or rbp, rcx
ror r8d, 0x1e
xor r8d, esi
lea edx, [r9 + r9]
mov ecx, r9d
add rbp, rbp
shr rcx, 0x1f
or rbp, rcx
mov rcx, rsi
shr rcx, 0x20
or rbp, rdx
xor r13d, ecx
ror esi, 0x12
ror ecx, 0x12
xor esi, r8d
xor ecx, r13d
mov r9d, esi
mov edx, ecx
ror r13d, 0x16
xor r13, rdx
ror r8d, 0x16
mov ecx, r8d
lea r8, [0x140000000]
xor rcx, r9
shl r13, 0x20
or r13, rcx
lea esi, [rdx + rdx]
shl rsi, 0x1f
mov ecx, edx
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or rsi, rcx
mov ecx, r9d
shr rcx, 0x1f
lea r9d, [r10 + r10]
add rsi, rsi
shl r9, 0x1f
or rsi, rcx
mov ecx, r11d
xor rcx, rbx
or rsi, rdx
or r12, rcx
mov ecx, r10d
xor r12, qword [r15 + r8 + 0x2315d0]
and rcx, 0xffffffff80000000
or r9, rcx
mov ecx, ebx
add r9, r9
shr rcx, 0x1f
lea edx, [rbx + rbx]
or r9, rcx
or r9, rdx
xor r9, qword [r15 + r8 + 0x231610]
add r15, 8
cmp r15, 0x40
jl 0x140171440
mov r15d, dword [rsp + 0x24]
mov r10, rsi
mov qword [rsp + 0xf0], r12
mov r11, rdi
mov rcx, qword [rsp + 0xf0]
mov r12d, dword [rsp + 0x20]
shr rcx, 0x20
mov qword [rsp + 0xe0], rcx
mov rcx, rdi
shr rcx, 0x20
mov qword [rsp + 0x50], rcx
shr r10, 0x20
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x160]
shr rcx, 0x20
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0xf8], r13
mov rbx, qword [rsp + 0xf8]
mov r13d, dword [rsp + 0x88]
mov rcx, rbx
shr rcx, 0x20
mov qword [rsp + 0x30], rcx
mov rcx, r9
shr rcx, 0x20
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], r14
mov rcx, qword [rsp + 0x98]
mov r14d, dword [rsp + 0x84]
shr rcx, 0x20
mov qword [rsp + 0xa0], rcx
mov rcx, rbp
shr rcx, 0x20
mov qword [rsp + 0x48], rdi
lea rdi, [0x140000000]
mov qword [rsp + 0x150], rsi
mov esi, dword [rsp + 0x1d8]
mov qword [rsp + 0x68], rbp
mov ebp, dword [rsp + 0x38]
mov qword [rsp + 0x138], r9
xor r9d, r9d
mov qword [rsp + 0x58], r10
mov r10d, dword [rsp + 0x1e0]
mov qword [rsp + 0x70], rcx
nop dword [rax + rax]
xor r12d, r13d
xor r15d, r14d
mov ecx, eax
not eax
or ecx, ebp
xor ecx, r13d
and r13d, ebp
xor eax, r13d
xor r13d, r12d
and r12d, ecx
not ecx
xor r12d, eax
or eax, r13d
xor r13d, r12d
xor ebp, eax
and r12d, eax
xor eax, ecx
mov ecx, esi
not esi
or ecx, r10d
xor ecx, r14d
and r14d, r10d
xor esi, r14d
xor r14d, r15d
and r15d, ecx
not ecx
xor r15d, esi
or esi, r14d
xor r14d, r15d
xor r10d, esi
xor r14d, ebp
xor r10d, eax
and r15d, esi
ror eax, 0x1e
xor esi, ecx
ror ebp, 0x1e
xor esi, r12d
xor r15d, r13d
xor ebp, r14d
ror r12d, 0x1e
xor eax, r10d
ror r13d, 0x1e
xor r12d, esi
ror r14d, 0x12
xor r13d, r15d
ror r10d, 0x12
xor r10d, eax
ror esi, 0x12
xor esi, r12d
ror eax, 0x16
xor r14d, ebp
ror r12d, 0x16
xor eax, r10d
ror ebp, 0x16
xor ebp, dword [r9 + rdi + 0x2314b0]
lea ecx, [r10 + r10]
xor ebp, r14d
ror r15d, 0x12
xor r15d, r13d
ror r14d, 0x1f
xor r14d, dword [r9 + rdi + 0x231490]
xor r12d, esi
ror r13d, 0x16
mov edx, r10d
xor r13d, r15d
shr edx, 0x1f
or edx, ecx
xor r12d, r13d
lea ecx, [rsi + rsi]
mov r8d, esi
shr r8d, 0x1f
or r8d, ecx
mov ecx, eax
or ecx, ebp
not eax
xor ecx, r13d
and r13d, ebp
xor eax, r13d
xor r13d, r12d
and r12d, ecx
xor r12d, eax
or eax, r13d
ror r15d, 0x1f
xor r15d, r14d
xor ebp, eax
xor r13d, r12d
not ecx
and r12d, eax
xor eax, ecx
mov ecx, r8d
not r8d
or ecx, edx
xor ecx, r14d
and r14d, edx
xor r8d, r14d
xor r14d, r15d
and r15d, ecx
not ecx
xor r15d, r8d
or r8d, r14d
xor r14d, r15d
xor edx, r8d
and r15d, r8d
xor r14d, ebp
xor r15d, r13d
ror ebp, 0x1e
xor r8d, ecx
ror r13d, 0x1e
xor ebp, r14d
xor edx, eax
xor r8d, r12d
ror eax, 0x1e
xor r13d, r15d
ror r12d, 0x1e
xor eax, edx
ror r14d, 0x12
xor r14d, ebp
ror r15d, 0x12
xor r15d, r13d
ror ebp, 0x16
xor ebp, dword [r9 + rdi + 0x2314b4]
xor r12d, r8d
xor ebp, r14d
ror edx, 0x12
xor edx, eax
ror r8d, 0x12
xor r8d, r12d
ror r13d, 0x16
xor r13d, r15d
ror r14d, 0x1f
xor r14d, dword [r9 + rdi + 0x231494]
mov r10d, edx
lea ecx, [rdx + rdx]
shr r10d, 0x1f
or r10d, ecx
ror eax, 0x16
lea ecx, [r8 + r8]
ror r12d, 0x16
mov esi, r8d
xor eax, edx
shr esi, 0x1f
xor r12d, r8d
or esi, ecx
add r9, 8
mov ecx, r15d
shr r15d, 0x1f
add ecx, ecx
or r15d, ecx
cmp r9, 0x20
jl 0x140171780
mov edx, dword [rsp + 0x114]
mov r8d, edx
mov rdi, qword [rsp + 0x168]
mov r9, qword [rsp + 0x138]
mov dword [rsp + 0x1e0], r10d
mov r10, qword [rsp + 0x150]
mov dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x148]
test edx, edx
je 0x140171b0d
sub r8d, 1
je 0x1401719e1
cmp r8d, 1
je 0x140171b46
inc edx
mov dword [rsp + 0x114], edx
cmp edx, 3
jge 0x140171c48
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x68]
mov r11, qword [rsp + 0x78]
mov edi, dword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x1d0]
jmp 0x140170600
mov r8, qword [rsp + 0x1e8]
mov ecx, dword [rsp + 0xf0]
xor ecx, dword [rsp + 0xe0]
xor ecx, dword [rsp + 0xb8]
xor ecx, dword [rsp + 0xe8]
xor ecx, ebp
mov rdx, qword [rsp + 0xa8]
bswap ecx
mov dword [r8], ecx
mov ecx, edi
xor ecx, dword [rsp + 0x120]
xor ecx, dword [rsp + 0x50]
xor ecx, r11d
mov edi, dword [rsp + 0x1d8]
xor ecx, eax
mov r11, qword [rsp + 0x78]
bswap ecx
mov dword [r8 + 4], ecx
mov ecx, dword [rsp + 0x158]
xor ecx, dword [rsp + 0xc0]
xor ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x130]
xor ecx, r12d
bswap ecx
mov dword [r8 + 8], ecx
mov ecx, ebx
xor ecx, dword [rsp + 0xd8]
xor ecx, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x1e8]
xor ecx, r13d
bswap ecx
mov dword [r8 + 0xc], ecx
mov ecx, r9d
xor ecx, dword [rsp + 0x100]
xor ecx, dword [rsp + 0x90]
xor ecx, edx
xor ecx, r14d
bswap ecx
mov dword [r8 + 0x10], ecx
mov ecx, dword [rsp + 0x108]
xor ecx, dword [rsp + 0xc8]
xor ecx, dword [rsp + 0x98]
xor ecx, dword [rsp + 0xa0]
xor ecx, dword [rsp + 0x1e0]
bswap ecx
mov dword [r8 + 0x14], ecx
mov ecx, dword [rsp + 0x70]
xor ecx, dword [rsp + 0x118]
mov r8, qword [rsp + 0x68]
xor ecx, r8d
xor ecx, esi
xor ecx, edi
bswap ecx
mov dword [rbx + 0x18], ecx
mov ecx, r10d
xor ecx, r11d
xor ecx, dword [rsp + 0x58]
xor ecx, dword [rsp + 0x140]
xor ecx, r15d
inc dword [rsp + 0x114]
bswap ecx
mov dword [rbx + 0x1c], ecx
mov rbx, qword [rsp + 0x1d0]
jmp 0x140170600
mov rbx, qword [rsp + 0x1d0]
xorps xmm0, xmm0
mov r8, qword [rsp + 0x68]
inc edx
mov r11, qword [rsp + 0x78]
mov edi, dword [rsp + 0x1d8]
movups xmmword [rbx], xmm0
mov dword [rsp + 0x114], edx
mov rdx, qword [rsp + 0xa8]
movups xmmword [rbx + 0x10], xmm0
jmp 0x140170600
mov rdx, qword [rsp + 0x1e8]
xor edi, dword [rsp + 0x120]
xor edi, dword [rsp + 0x50]
xor ebx, dword [rsp + 0xd8]
xor edi, r11d
xor r9d, dword [rsp + 0x100]
xor edi, eax
xor ebx, dword [rsp + 0xb0]
xor r9d, dword [rsp + 0x90]
xor r10d, dword [rsp + 0x78]
mov rax, qword [rsp + 0x158]
xor eax, dword [rsp + 0xc0]
xor eax, dword [rsp + 0x28]
xor eax, dword [rsp + 0x130]
xor ebx, dword [rsp + 0x30]
xor eax, r12d
xor r9d, dword [rsp + 0xa8]
xor ebx, r13d
xor r10d, dword [rsp + 0x58]
xor r9d, r14d
xor r10d, dword [rsp + 0x140]
mov rcx, qword [rsp + 0xf0]
xor ecx, dword [rsp + 0xe0]
xor ecx, dword [rsp + 0xb8]
xor ecx, dword [rsp + 0xe8]
bswap eax
mov dword [rdx + 0x28], eax
xor ecx, ebp
mov rax, qword [rsp + 0x108]
xor eax, dword [rsp + 0xc8]
xor eax, dword [rsp + 0x98]
xor eax, dword [rsp + 0xa0]
xor eax, dword [rsp + 0x1e0]
bswap eax
mov dword [rdx + 0x34], eax
mov rax, qword [rsp + 0x70]
xor eax, dword [rsp + 0x118]
xor eax, dword [rsp + 0x68]
xor eax, esi
xor eax, dword [rsp + 0x1d8]
xor r10d, r15d
bswap r10d
bswap ecx
bswap edi
bswap ebx
bswap r9d
bswap eax
mov dword [rdx + 0x3c], r10d
mov dword [rdx + 0x20], ecx
mov dword [rdx + 0x24], edi
mov dword [rdx + 0x2c], ebx
mov dword [rdx + 0x30], r9d
mov dword [rdx + 0x38], eax
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret