Function at 0x18017a700
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.180321c40
mov eax, dword [rbx + 0x28]
mov esi, dword [rbx + 0x2c]
mov r11d, dword [rbx + 0x40]
mov edi, dword [rbx + 0x44]
mov r10d, dword [rbx + 0x80]
mov r9d, dword [rbx + 0xbc]
mov r12d, dword [rbx + 0xac]
mov r15d, dword [rbx + 0xb0]
mov r14d, dword [rbx + 0xb4]
mov qword [rsp + 0x80], rax
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0xf0], rax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x130], rax
mov eax, dword [rbx + 0x38]
mov qword [rsp + 0x118], rax
mov eax, dword [rbx + 0x3c]
mov qword [rsp + 0x98], rax
mov eax, dword [rbx + 0x48]
mov qword [rsp + 0xd8], rax
mov eax, dword [rbx + 0x4c]
mov qword [rsp + 0x120], rax
mov eax, dword [rbx + 0x50]
mov qword [rsp + 0xe8], rax
mov eax, dword [rbx + 0x54]
mov qword [rsp + 0xc8], rax
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0xc0], rax
mov eax, dword [rbx + 0x5c]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx + 0x60]
mov qword [rsp + 0x110], rax
mov eax, dword [rbx + 0x64]
mov qword [rsp + 0x128], rax
mov eax, dword [rbx + 0x68]
mov qword [rsp + 0xb0], rax
mov eax, dword [rbx + 0x6c]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x70]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0x74]
mov qword [rsp + 0x48], rax
mov eax, dword [rbx + 0x78]
mov qword [rsp + 0xd0], rax
mov eax, dword [rbx + 0x7c]
mov qword [rsp + 0xa0], rax
mov eax, dword [rbx + 0x84]
mov qword [rsp + 0x90], rax
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0xf8], rax
mov eax, dword [rbx + 0x8c]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0x90]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 0x94]
mov qword [rsp + 0x138], rax
mov eax, dword [rbx + 0x98]
mov qword [rsp + 0xa8], rax
mov eax, dword [rbx + 0x9c]
mov qword [rsp + 0xb8], rax
mov eax, dword [rbx + 0xa0]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0xa4]
mov qword [rsp + 0x88], rax
mov eax, dword [rbx + 0xa8]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0xb8]
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], r10
mov dword [rsp + 0x1d8], r9d
mov r13d, dword [rbx + 0xc0]
mov ebp, dword [rbx + 0xc4]
mov dword [rsp + 0x154], 0
nop word [rax + rax]
mov edx, dword [rbx]
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 4]
mov dword [rsp + 0x174], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 8]
mov dword [rsp + 0x140], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 0xc]
mov dword [rsp + 0x15c], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 0x10]
mov dword [rsp + 0x158], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 0x14]
mov dword [rsp + 0x150], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 0x18]
mov dword [rsp + 0x144], r8d
rol edx, 0x10
mov r8d, edx
mov ecx, edx
shr r8d, 8
shl edx, 8
shl ecx, 8
xor r8d, ecx
and r8d, 0xff00ff
xor r8d, edx
mov edx, dword [rbx + 0x1c]
rol edx, 0x10
mov dword [rsp + 0x170], r8d
mov r8d, edx
shr r8d, 8
mov ecx, edx
mov ebx, ebp
xor ebx, dword [rsp + 0x88]
xor ebx, dword [rsp + 0x90]
xor ebx, dword [rsp + 0x128]
xor ebx, edi
shl ecx, 8
xor r8d, ecx
shl edx, 8
mov rcx, qword [rsp + 0x60]
and r8d, 0xff00ff
xor r8d, edx
mov edi, r13d
xor edi, ecx
mov dword [rsp + 0x168], r8d
xor edi, r10d
mov edx, r12d
xor edx, dword [rsp + 0x50]
mov r8d, ebx
xor edx, dword [rsp + 0x40]
xor r8d, r15d
xor r8d, dword [rsp + 0x30]
mov r10d, eax
xor r10d, dword [rsp + 0xa8]
xor r10d, dword [rsp + 0xd0]
xor r8d, dword [rsp + 0xe0]
xor edx, dword [rsp + 0x120]
xor edi, dword [rsp + 0x110]
xor edx, esi
xor r10d, dword [rsp + 0xc0]
xor edi, r11d
xor r10d, dword [rsp + 0x118]
mov r11d, r9d
xor r11d, dword [rsp + 0xb8]
mov esi, ebx
xor r11d, dword [rsp + 0xa0]
mov r9d, ebx
xor r11d, dword [rsp + 0x68]
xor r9d, r14d
xor r9d, dword [rsp + 0x138]
xor r11d, dword [rsp + 0x98]
xor r9d, dword [rsp + 0x48]
xor r9d, dword [rsp + 0xc8]
xor r9d, dword [rsp + 0x130]
xor r8d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xf0]
xor esi, dword [rsp + 0x28]
xor dword [rsp + 0xf0], edx
mov ecx, esi
xor ecx, dword [rsp + 0xf8]
xor ecx, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0xd8]
xor ecx, dword [rsp + 0x80]
xor dword [rsp + 0x78], ecx
xor dword [rsp + 0x120], ecx
xor dword [rsp + 0x40], ecx
xor dword [rsp + 0x50], ecx
xor dword [rsp + 0x80], ebx
xor dword [rsp + 0x130], r8d
xor dword [rsp + 0x118], r9d
xor dword [rsp + 0x98], r10d
xor dword [rsp + 0x70], r11d
xor dword [rsp + 0x38], edi
xor dword [rsp + 0xd8], ebx
xor dword [rsp + 0xe8], edx
xor dword [rsp + 0xc8], r8d
xor dword [rsp + 0xc0], r9d
xor dword [rsp + 0x68], r10d
xor dword [rsp + 0x110], r11d
xor dword [rsp + 0x128], edi
xor dword [rsp + 0xb0], ebx
xor dword [rsp + 0xe0], edx
xor dword [rsp + 0x48], r8d
xor dword [rsp + 0xd0], r9d
xor dword [rsp + 0xa0], r10d
xor dword [rsp + 0x58], r11d
xor dword [rsp + 0x90], edi
xor dword [rsp + 0xf8], ebx
xor dword [rsp + 0x30], edx
xor dword [rsp + 0x138], r8d
xor dword [rsp + 0xa8], r9d
xor dword [rsp + 0xb8], r10d
xor r14d, r8d
mov r8, qword [rsp + 0xc0]
xor r12d, ecx
mov rcx, qword [rsp + 0x38]
xor eax, r9d
mov r9, qword [rsp + 0xc8]
xor ebp, edi
xor dword [rsp + 0x1d8], r10d
xor r15d, edx
xor dword [rsp + 0x60], r11d
mov ebx, r8d
xor r8d, dword [rsp + 0xa0]
xor ebx, ecx
xor dword [rsp + 0x88], edi
xor r13d, r11d
mov r10d, dword [rsp + 0x120]
xor ebx, dword [rsp + 0x130]
xor r10d, ecx
mov edi, dword [rsp + 0xe8]
xor edi, dword [rsp + 0x78]
xor r10d, dword [rsp + 0x80]
mov dword [rsp + 0x108], r14d
mov r14d, dword [rsp + 0xd8]
xor r14d, ecx
mov qword [rsp + 0xc0], r8
mov r8, qword [rsp + 0x90]
mov dword [rsp + 0x16c], r14d
mov r14, qword [rsp + 0x128]
mov edx, r14d
mov dword [rsp + 0x1e0], ebp
xor edx, r9d
mov dword [rsp + 0x104], r13d
xor edx, dword [rsp + 0xd0]
mov ebp, r9d
mov r13d, dword [rsp + 0x110]
xor ebp, ecx
xor dword [rsp + 0x110], r8d
mov ecx, r14d
xor ecx, dword [rsp + 0xd8]
mov r9d, r14d
xor r9d, dword [rsp + 0xe8]
mov r11d, r14d
xor r14d, dword [rsp + 0xb0]
xor ebp, dword [rsp + 0xf0]
xor r11d, dword [rsp + 0x70]
xor r13d, dword [rsp + 0x98]
mov qword [rsp + 0x128], r14
mov r14, qword [rsp + 0x40]
xor ecx, r14d
mov dword [rsp + 0x2c], r12d
mov r12d, dword [rsp + 0x68]
xor r12d, dword [rsp + 0x118]
mov dword [rsp + 0xd8], ecx
mov rcx, qword [rsp + 0x120]
xor ecx, dword [rsp + 0xe0]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rsp + 0x48]
xor r9d, ecx
mov dword [rsp + 0xc8], edx
mov rdx, qword [rsp + 0x58]
xor r8d, ecx
mov rcx, qword [rsp + 0x90]
xor dword [rsp + 0x68], edx
mov dword [rsp + 0x48], r9d
mov r9d, ecx
xor r9d, dword [rsp + 0xb0]
xor r9d, dword [rsp + 0x50]
mov dword [rsp + 0x20], r8d
mov r8d, ecx
xor ecx, dword [rsp + 0xf8]
xor r8d, dword [rsp + 0xe0]
xor r14d, dword [rsp + 0x30]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x14c], edi
mov dword [rsp + 0x164], ebp
mov dword [rsp + 0x160], ebx
mov dword [rsp + 0x148], r11d
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x100], r9d
mov r14, qword [rsp + 0x88]
xor dword [rsp + 0x50], r15d
xor edx, r14d
mov ecx, dword [rsp + 0x20]
mov r9d, r14d
xor ecx, dword [rsp + 0xa8]
xor r9d, dword [rsp + 0xf8]
xor r9d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x60]
xor r15d, dword [rsp + 0x1e0]
xor r8d, dword [rsp + 0x138]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0xb8]
xor dword [rsp + 0xd0], ecx
mov rcx, qword [rsp + 0x60]
xor dword [rsp + 0xa0], ecx
mov ecx, r14d
xor ecx, dword [rsp + 0x138]
xor ecx, eax
mov qword [rsp + 0x58], rdx
xor eax, dword [rsp + 0x98]
mov edx, r14d
xor edx, dword [rsp + 0x30]
xor r14d, esi
xor edx, dword [rsp + 0x108]
mov dword [rsp + 0xe0], ecx
mov rcx, qword [rsp + 0xa8]
xor ecx, dword [rsp + 0x1d8]
mov qword [rsp + 0xa8], rcx
mov ecx, dword [rsp + 0x104]
xor dword [rsp + 0xb8], ecx
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x1e0]
mov qword [rsp + 0x60], r15
mov r15d, ecx
xor ecx, dword [rsp + 0x24]
xor r15d, dword [rsp + 0x108]
xor r15d, dword [rsp + 0x118]
xor ecx, dword [rsp + 0x130]
mov qword [rsp + 0x88], r14
mov r14d, dword [rsp + 0x1e0]
xor r14d, esi
mov dword [rsp + 0x30], r9d
mov rsi, qword [rsp + 0x80]
xor dword [rsp + 0x1e0], esi
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0x24], r14d
xor dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0xf0]
xor dword [rsp + 0x2c], esi
mov rsi, qword [rsp + 0x70]
xor dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x38]
xor dword [rsp + 0x28], esi
mov esi, r11d
xor esi, dword [rsp + 0x1e0]
mov dword [rsp + 0xf0], esi
mov esi, r11d
xor esi, dword [rsp + 0x16c]
xor esi, dword [rsp + 0x24]
mov dword [rsp + 0xf8], esi
mov esi, r10d
xor esi, dword [rsp + 0x2c]
mov dword [rsp + 0xb0], esi
mov esi, r11d
xor r11d, ebp
mov dword [rsp + 0xe8], r15d
xor r11d, r15d
xor esi, edi
mov dword [rsp + 0x98], r11d
xor esi, ecx
mov r11d, ebx
mov dword [rsp + 0x70], esi
mov ebx, dword [rsp + 0x28]
xor r11d, eax
mov dword [rsp + 0x78], r11d
mov r11d, r12d
xor r11d, dword [rsp + 0x1d8]
mov dword [rsp + 0x80], r11d
mov r11d, r13d
xor r11d, ebx
mov rdi, qword [rsp + 0x50]
mov r14d, eax
xor dword [rsp + 0x24], edi
mov eax, ebx
xor eax, dword [rsp + 0x1e0]
mov ebp, ebx
mov rsi, qword [rsp + 0xb8]
xor ebp, ecx
mov r15d, dword [rsp + 0x1d8]
xor eax, r9d
mov r9d, dword [rsp + 0x100]
mov ecx, ebx
xor ecx, dword [rsp + 0x2c]
xor r14d, esi
xor ecx, edx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0xe0]
xor ebp, eax
mov dword [rsp + 0x108], ecx
mov rcx, qword [rsp + 0xa8]
xor dword [rsp + 0xe8], ecx
mov rcx, qword [rsp + 0x60]
xor r15d, ecx
mov dword [rsp + 0x38], r11d
mov r11, qword [rsp + 0x88]
xor ebx, r11d
mov dword [rsp + 0x28], ebx
mov ebx, ecx
xor ebx, edx
mov edx, ecx
xor ebx, dword [rsp + 0x20]
xor edx, edi
mov edi, ecx
xor edx, r8d
xor edi, r11d
mov dword [rsp + 0x50], edx
mov rdx, qword [rsp + 0xd0]
xor edi, r9d
mov r11, qword [rsp + 0x90]
xor eax, edx
xor edx, dword [rsp + 0x68]
xor ecx, r11d
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x40]
xor dword [rsp + 0x30], ecx
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x58]
xor esi, eax
mov dword [rsp + 0x88], edi
mov rdi, qword [rsp + 0xa0]
xor dword [rsp + 0xa8], edi
mov qword [rsp + 0xb8], rsi
mov esi, eax
xor esi, r8d
mov qword [rsp + 0xd0], rdx
xor esi, dword [rsp + 0xc8]
mov r8d, eax
xor r8d, ecx
mov ecx, eax
xor eax, dword [rsp + 0x128]
xor ecx, r11d
mov dword [rsp + 0x40], r8d
mov r8d, dword [rsp + 0xd8]
xor ecx, r8d
mov dword [rsp + 0x90], ecx
mov ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0xc0]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x120]
xor r9d, eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x110]
xor edi, ecx
mov dword [rsp + 0x100], r9d
mov r9d, dword [rsp + 0x48]
xor dword [rsp + 0x40], r9d
mov dword [rsp + 0x48], esi
mov esi, ecx
mov qword [rsp + 0xa0], rdi
xor esi, r9d
mov edi, ecx
xor r13d, dword [rsp + 0x144]
mov r11d, ecx
mov ecx, dword [rsp + 0x158]
xor r11d, r10d
xor dword [rsp + 0x70], ecx
xor edi, eax
mov r9d, dword [rsp + 0x15c]
xor dword [rsp + 0xb0], r9d
mov r10d, dword [rsp + 0x174]
xor dword [rsp + 0xf0], r10d
xor dword [rsp + 0xc0], r13d
mov r13d, dword [rsp + 0x144]
mov edx, dword [rsp + 0x144]
xor dword [rsp + 0x78], edx
mov edx, dword [rsp + 0x170]
xor dword [rsp + 0x80], edx
mov edx, dword [rsp + 0x168]
xor dword [rsp + 0x38], edx
mov eax, dword [rsp + 0x140]
xor dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0x150]
xor r12d, eax
xor dword [rsp + 0xc8], r12d
mov r12d, dword [rsp + 0x170]
xor dword [rsp + 0xa0], r13d
xor dword [rsp + 0x60], r13d
xor r11d, dword [rsp + 0x128]
xor dword [rsp + 0x98], eax
xor dword [rsp + 0x58], r12d
xor dword [rsp + 0xd0], eax
xor dword [rsp + 0x28], eax
mov dword [rsp + 0x1e0], edx
xor dword [rsp + 0x1e0], ecx
mov ecx, edx
xor ecx, r9d
mov r9d, edx
xor r9d, r10d
mov r10d, edx
xor r10d, dword [rsp + 0x110]
xor r11d, r9d
mov edx, dword [rsp + 0x14c]
xor edx, dword [rsp + 0x140]
xor r10d, dword [rsp + 0x16c]
xor r8d, edx
mov edx, dword [rsp + 0x164]
xor dword [rsp + 0x100], r9d
xor edx, ecx
mov dword [rsp + 0xd8], r8d
xor edi, edx
mov edx, dword [rsp + 0x160]
mov r8d, r12d
xor edx, dword [rsp + 0x1e0]
xor r8d, ecx
xor dword [rsp + 0x48], r8d
xor esi, edx
mov edx, dword [rsp + 0x148]
mov ecx, r12d
xor ecx, dword [rsp + 0x140]
xor edx, r12d
xor dword [rsp + 0x68], edx
mov edx, r12d
xor dword [rsp + 0x40], ecx
xor edx, dword [rsp + 0x168]
xor dword [rsp + 0x90], edx
xor dword [rsp + 0x30], edx
mov dword [rsp + 0x104], r8d
mov r8d, dword [rsp + 0x20]
xor r8d, dword [rsp + 0x1e0]
mov dword [rsp + 0x20], r8d
mov r8d, r13d
xor r8d, ecx
mov ecx, r13d
mov dword [rsp + 0x1d8], r8d
xor ecx, r12d
xor dword [rsp + 0x88], ecx
mov r8d, r13d
xor r8d, r9d
xor r13d, eax
xor dword [rsp + 0x50], r8d
xor dword [rsp + 0x2c], r13d
xor dword [rsp + 0x24], ecx
mov r13d, dword [rsp + 0x104]
mov ecx, eax
xor ecx, edx
rol dword [rsp + 0x48], 2
xor dword [rsp + 0x108], ecx
mov rcx, qword [rsp + 0xd0]
rol dword [rsp + 0x20], 2
rol ecx, 2
mov dword [rsp + 0x14c], ecx
mov rcx, qword [rsp + 0xa0]
rol ecx, 2
mov dword [rsp + 0x158], ecx
mov ecx, dword [rsp + 0x1d8]
mov edx, ecx
xor ecx, dword [rsp + 0xe8]
xor edx, ebx
rol edx, 3
mov dword [rsp + 0x148], edx
mov edx, r13d
xor edx, dword [rsp + 0xe0]
xor r13d, r14d
rol edx, 3
rol ecx, 4
mov dword [rsp + 0x160], edx
mov edx, dword [rsp + 0x1e0]
xor edx, dword [rsp + 0xa8]
rol edx, 3
mov dword [rsp + 0x1d8], ecx
mov ecx, dword [rsp + 0xf0]
mov dword [rsp + 0x164], edx
mov edx, eax
xor edx, dword [rsp + 0xb8]
xor eax, r8d
xor eax, ebp
rol esi, 1
mov ebp, dword [rsp + 0x1e0]
xor ebp, r15d
rol eax, 4
mov r15d, dword [rsp + 0xd8]
rol ebp, 4
rol edx, 3
rol r13d, 4
mov dword [rsp + 0x1e0], ebp
mov ebp, dword [rsp + 0xc8]
mov dword [rsp + 0x104], r13d
mov r13, qword [rsp + 0x68]
mov dword [rsp + 0x15c], eax
mov dword [rsp + 0x150], edx
mov edx, esi
mov rsi, qword [rsp + 0xc0]
rol ebp, 1
rol esi, 1
shl r15, 0x20
shl rdi, 0x20
shl rdx, 0x20
shl rbp, 0x20
shl rsi, 0x20
rol r13d, 1
mov eax, r10d
shl rax, 0x20
or rax, rcx
mov r14d, r11d
mov ecx, dword [rsp + 0xf8]
shl r14, 0x20
or r14, rcx
shl r13, 0x20
mov ecx, dword [rsp + 0xb0]
or r15, rcx
mov qword [rsp + 0x118], 0
mov ecx, dword [rsp + 0x70]
or rdi, rcx
mov ecx, dword [rsp + 0x98]
or rdx, rcx
mov ecx, dword [rsp + 0x78]
or rbp, rcx
mov ecx, dword [rsp + 0x80]
or rsi, rcx
mov ecx, dword [rsp + 0x38]
or r13, rcx
nop
mov rcx, r14
xor r13, rdx
or rcx, rax
not r14
xor rcx, rdi
xor r15, rdi
and rdi, rax
xor r14, rdi
xor rdi, r15
and r15, rcx
not rcx
xor r15, r14
or r14, rdi
xor rax, r14
xor rdi, r15
and r15, r14
mov r11d, eax
xor r14, rcx
rol r11d, 2
mov r8d, r14d
mov rcx, rsi
or rcx, rbp
rol r8d, 2
xor rcx, rdx
not rsi
and rdx, rbp
xor rsi, rdx
xor rdx, r13
and r13, rcx
not rcx
xor r13, rsi
or rsi, rdx
xor rbp, rsi
xor rdx, r13
xor rbp, r14
xor rdx, rax
xor r8d, ebp
shr r14, 0x20
rol r14d, 2
xor r11d, edx
and r13, rsi
shr rax, 0x20
xor rsi, rcx
rol eax, 2
mov rcx, rdx
xor rsi, r15
shr rcx, 0x20
xor eax, ecx
rol edx, 0xe
rol ecx, 0xe
xor edx, r11d
xor ecx, eax
mov ebx, edx
mov r10d, ecx
mov rcx, rbp
shr rcx, 0x20
xor r14d, ecx
rol ebp, 0xe
xor ebp, r8d
rol ecx, 0xe
xor ecx, r14d
mov r9d, ebp
mov edx, ecx
rol r14d, 0xa
rol r8d, 0xa
xor r14, rdx
mov ecx, r8d
mov r8d, r15d
xor rcx, r9
rol edx, 1
shl r14, 0x20
or r14, rcx
rol r9d, 1
mov ecx, r9d
mov ebp, edx
shl rbp, 0x20
or rbp, rcx
rol r8d, 2
mov rcx, rsi
shr rcx, 0x20
xor r8d, esi
xor r13, rdi
shr r15, 0x20
rol r15d, 2
xor r15d, ecx
rol esi, 0xe
rol ecx, 0xe
xor esi, r8d
xor ecx, r15d
rol r8d, 0xa
mov edx, ecx
mov ecx, r8d
mov r8d, edi
shr rdi, 0x20
mov r9d, esi
xor rcx, r9
rol edi, 2
rol r9d, 1
rol r8d, 2
xor r8d, r13d
rol eax, 0xa
xor rax, r10
rol r15d, 0xa
xor r15, rdx
shl rax, 0x20
rol edx, 1
mov esi, edx
shl r15, 0x20
or r15, rcx
shl rsi, 0x20
mov ecx, r9d
or rsi, rcx
rol r11d, 0xa
mov rcx, r13
rol r10d, 1
shr rcx, 0x20
xor edi, ecx
rol r13d, 0xe
rol ecx, 0xe
xor r13d, r8d
xor ecx, edi
mov r9d, r13d
mov edx, ecx
rol edi, 0xa
xor rdi, rdx
rol r8d, 0xa
rol edx, 1
mov r13d, edx
mov ecx, r8d
mov r8, qword [rsp + 0x118]
xor rcx, r9
rol r9d, 1
shl rdi, 0x20
or rdi, rcx
shl r13, 0x20
mov ecx, r9d
lea r9, [0x180000000]
or r13, rcx
mov edx, r10d
shl rdx, 0x20
mov ecx, r11d
xor rcx, rbx
rol ebx, 1
or rax, rcx
mov ecx, ebx
xor rax, qword [r8 + r9 + 0x441f10]
or rdx, rcx
xor rdx, qword [r8 + r9 + 0x441df0]
add r8, 8
mov qword [rsp + 0x118], r8
cmp r8, 0x40
jl 0x18017b430
mov ecx, dword [rsp + 0x58]
mov r12d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x148]
mov qword [rsp + 0x80], rax
shr rax, 0x20
mov qword [rsp + 0xd8], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x120], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0xe8], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0xc8], rax
mov rax, rdx
shr rax, 0x20
mov qword [rsp + 0xc0], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x68], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x110], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x38], r13
mov r13d, dword [rsp + 0x48]
mov qword [rsp + 0x130], rdi
mov edi, dword [rsp + 0x88]
mov qword [rsp + 0x78], r14
mov r14d, dword [rsp + 0x30]
mov qword [rsp + 0x70], rsi
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0xf0], r15
mov r15d, dword [rsp + 0x164]
mov qword [rsp + 0x128], rax
mov eax, dword [rsp + 0x150]
shl r12, 0x20
or r12, rcx
shl rdi, 0x20
mov ecx, dword [rsp + 0x90]
or rdi, rcx
shl r14, 0x20
mov ecx, dword [rsp + 0x100]
or r14, rcx
shl r10, 0x20
mov ecx, dword [rsp + 0x40]
or r10, r13
mov r13d, dword [rsp + 0x160]
shl rsi, 0x20
or rsi, rcx
shl r13, 0x20
mov ecx, dword [rsp + 0x20]
or r13, rcx
shl r15, 0x20
mov ecx, dword [rsp + 0x14c]
or r15, rcx
shl rax, 0x20
mov ecx, dword [rsp + 0x158]
or rax, rcx
mov qword [rsp + 0x98], rbp
xor ebp, ebp
mov qword [rsp + 0x118], rdx
nop word [rax + rax]
mov rcx, rdi
xor rax, r10
or rcx, r12
not rdi
xor rcx, rsi
xor r14, rsi
and rsi, r12
xor rdi, rsi
xor rsi, r14
and r14, rcx
not rcx
xor r14, rdi
or rdi, rsi
xor r12, rdi
xor rsi, r14
and r14, rdi
mov r11d, r12d
xor rdi, rcx
rol r11d, 2
mov r8d, edi
mov rcx, r15
or rcx, r13
rol r8d, 2
xor rcx, r10
not r15
and r10, r13
xor r15, r10
xor r10, rax
and rax, rcx
not rcx
xor rax, r15
or r15, r10
xor r13, r15
xor r10, rax
xor r13, rdi
xor r10, r12
xor r8d, r13d
shr rdi, 0x20
rol edi, 2
xor r11d, r10d
and rax, r15
shr r12, 0x20
xor r15, rcx
rol r12d, 2
mov rcx, r10
xor r15, r14
shr rcx, 0x20
xor r12d, ecx
rol r10d, 0xe
rol ecx, 0xe
xor r10d, r11d
xor ecx, r12d
mov ebx, r10d
mov r10d, ecx
mov rcx, r13
shr rcx, 0x20
xor edi, ecx
rol r13d, 0xe
xor r13d, r8d
rol ecx, 0xe
xor ecx, edi
mov r9d, r13d
mov edx, ecx
rol edi, 0xa
rol r8d, 0xa
xor rdi, rdx
mov ecx, r8d
mov r8d, r14d
xor rcx, r9
rol edx, 1
shl rdi, 0x20
or rdi, rcx
rol r9d, 1
mov ecx, r9d
mov r13d, edx
shl r13, 0x20
or r13, rcx
rol r8d, 2
mov rcx, r15
shr rcx, 0x20
xor r8d, r15d
xor rax, rsi
shr r14, 0x20
rol r14d, 2
xor r14d, ecx
rol r15d, 0xe
rol ecx, 0xe
xor r15d, r8d
xor ecx, r14d
rol r8d, 0xa
mov edx, ecx
mov r9d, r15d
mov ecx, r8d
mov r8d, esi
xor rcx, r9
shr rsi, 0x20
rol esi, 2
rol r12d, 0xa
xor r12, r10
rol r14d, 0xa
xor r14, rdx
rol r9d, 1
rol edx, 1
mov r15d, edx
rol r10d, 1
rol r8d, 2
xor r8d, eax
shl r12, 0x20
shl r10, 0x20
shl r14, 0x20
or r14, rcx
shl r15, 0x20
mov ecx, r9d
or r15, rcx
rol r11d, 0xa
mov rcx, rax
rol eax, 0xe
shr rcx, 0x20
xor eax, r8d
xor esi, ecx
mov r9d, eax
rol ecx, 0xe
xor ecx, esi
rol r8d, 0xa
mov edx, ecx
rol esi, 0xa
xor rsi, rdx
mov ecx, r8d
xor rcx, r9
rol edx, 1
shl rsi, 0x20
or rsi, rcx
mov eax, edx
rol r9d, 1
lea rdx, [0x180000000]
shl rax, 0x20
mov ecx, r9d
or rax, rcx
mov ecx, r11d
xor rcx, rbx
rol ebx, 1
or r12, rcx
mov ecx, ebx
xor r12, qword [rdx + rbp + 0x441f90]
or r10, rcx
xor r10, qword [rdx + rbp + 0x441fd0]
add rbp, 8
cmp rbp, 0x40
jl 0x18017b770
mov ebp, dword [rsp + 0x1e0]
mov rcx, rdi
mov edx, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x1d8]
shr rcx, 0x20
mov qword [rsp + 0x50], rcx
mov rcx, r14
shr rcx, 0x20
mov qword [rsp + 0x30], rcx
mov rcx, rsi
shr rcx, 0x20
mov qword [rsp + 0x138], rcx
mov rcx, r10
shr rcx, 0x20
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], r13
mov r11, qword [rsp + 0xa0]
mov r13d, dword [rsp + 0x104]
mov rcx, r11
shr rcx, 0x20
mov qword [rsp + 0xb8], rcx
mov rcx, r15
shr rcx, 0x20
mov qword [rsp + 0x90], rax
mov rbx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x15c]
mov qword [rsp + 0xb0], r12
mov r8, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x2c]
mov qword [rsp + 0x60], rcx
mov rcx, rbx
shr r8, 0x20
shr rcx, 0x20
mov qword [rsp + 0x58], r15
mov r15d, dword [rsp + 0x24]
mov qword [rsp + 0xe0], r14
mov r14d, dword [rsp + 0x108]
mov qword [rsp + 0x40], rdi
lea rdi, [0x180000000]
mov qword [rsp + 0xf8], r8
xor r8d, r8d
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0x48], rsi
nop dword [rax]
xor r15d, r14d
xor ebp, eax
mov ecx, r12d
not r12d
or ecx, edx
xor ecx, r14d
and r14d, edx
xor r12d, r14d
xor r14d, r15d
and r15d, ecx
not ecx
xor r15d, r12d
or r12d, r14d
xor r14d, r15d
xor edx, r12d
and r15d, r12d
xor r12d, ecx
mov ecx, r13d
not r13d
or ecx, r9d
xor ecx, eax
and eax, r9d
xor r13d, eax
xor eax, ebp
and ebp, ecx
not ecx
xor ebp, r13d
or r13d, eax
xor r9d, r13d
xor eax, ebp
xor r9d, r12d
xor eax, edx
and ebp, r13d
rol r12d, 2
xor ebp, r14d
rol edx, 2
xor r13d, ecx
rol r14d, 2
xor r13d, r15d
xor r12d, r9d
xor edx, eax
rol r15d, 2
xor r15d, r13d
rol eax, 0xe
xor r14d, ebp
rol r9d, 0xe
xor r9d, r12d
rol r13d, 0xe
xor r13d, r15d
rol r12d, 0xa
xor eax, edx
rol r15d, 0xa
xor r12d, r9d
rol edx, 0xa
xor edx, dword [r8 + rdi + 0x441f70]
xor r15d, r13d
xor edx, eax
rol ebp, 0xe
xor ebp, r14d
rol eax, 1
xor eax, dword [r8 + rdi + 0x441ef0]
mov ecx, r12d
rol r14d, 0xa
or ecx, edx
xor r14d, ebp
rol r9d, 1
xor r15d, r14d
rol r13d, 1
xor ecx, r14d
not r12d
and r14d, edx
xor r12d, r14d
xor r14d, r15d
and r15d, ecx
not ecx
xor r15d, r12d
or r12d, r14d
xor r14d, r15d
xor edx, r12d
and r15d, r12d
xor r12d, ecx
mov ecx, r13d
rol ebp, 1
xor ebp, eax
or ecx, r9d
xor ecx, eax
not r13d
and eax, r9d
xor r13d, eax
xor eax, ebp
and ebp, ecx
not ecx
xor ebp, r13d
or r13d, eax
xor eax, ebp
xor r9d, r13d
xor eax, edx
and ebp, r13d
xor r9d, r12d
rol edx, 2
xor edx, eax
rol r12d, 2
xor ebp, r14d
rol eax, 0xe
xor eax, edx
rol r14d, 2
xor r12d, r9d
rol edx, 0xa
xor edx, dword [r8 + rdi + 0x441f74]
xor r14d, ebp
xor r13d, ecx
rol r9d, 0xe
xor r13d, r15d
rol ebp, 0xe
rol r15d, 2
xor r9d, r12d
xor r15d, r13d
rol r12d, 0xa
xor ebp, r14d
rol r13d, 0xe
xor r13d, r15d
rol r14d, 0xa
xor edx, eax
rol r15d, 0xa
rol eax, 1
xor r12d, r9d
xor eax, dword [r8 + rdi + 0x441ef4]
xor r15d, r13d
xor r14d, ebp
rol r9d, 1
add r8, 8
rol r13d, 1
rol ebp, 1
cmp r8, 0x20
jl 0x18017ba50
mov ecx, dword [rsp + 0x154]
mov rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0xb0]
mov dword [rsp + 0x1d8], r9d
mov dword [rsp + 0x28], edx
test ecx, ecx
je 0x18017be53
sub ecx, 1
je 0x18017bc35
cmp ecx, 1
je 0x18017be97
mov rbx, qword [rsp + 0x1d0]
jmp 0x18017be65
xor r8d, dword [rsp + 0x80]
xor r8d, dword [rsp + 0xd8]
xor r8d, dword [rsp + 0xf8]
xor r8d, edx
mov rsi, qword [rsp + 0x78]
rol r8d, 0x10
mov ecx, r8d
mov edx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
mov rcx, qword [rsp + 0x1e8]
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x120]
xor r8d, esi
xor r8d, edi
mov dword [rcx], edx
xor r8d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x1e8]
xor r8d, r12d
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0xf0]
xor r8d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xe0]
xor r8d, dword [rsp + 0x30]
xor r8d, r15d
mov dword [rdi + 4], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x130]
xor r8d, dword [rsp + 0xc8]
xor r8d, dword [rsp + 0x48]
xor r8d, dword [rsp + 0x138]
xor r8d, r14d
mov dword [rdi + 8], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0xc0]
xor r8d, dword [rsp + 0xa8]
xor r8d, r10d
mov dword [rdi + 0xc], edx
xor r8d, dword [rsp + 0x118]
xor r8d, eax
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0xb8]
xor r8d, r11d
mov dword [rdi + 0x10], edx
xor r8d, dword [rsp + 0x68]
xor r8d, dword [rsp + 0x98]
mov r10, qword [rsp + 0x58]
xor r8d, r9d
mov r11, qword [rsp + 0x70]
rol r8d, 0x10
mov ecx, r8d
mov edx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x60]
xor r8d, r10d
mov dword [rdi + 0x14], edx
xor r8d, r11d
xor r8d, dword [rsp + 0x110]
xor r8d, r13d
rol r8d, 0x10
mov ecx, r8d
mov edx, r8d
shl r8d, 8
shr edx, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x88]
xor r8d, ebx
mov dword [rdi + 0x18], edx
xor r8d, dword [rsp + 0x128]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x1d0]
xor r8d, edi
xor r8d, ebp
rol r8d, 0x10
mov ecx, r8d
mov edx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
mov rcx, qword [rsp + 0x1e8]
and edx, 0xff00ff
xor edx, r8d
mov dword [rcx + 0x1c], edx
jmp 0x18017be79
mov rbx, qword [rsp + 0x1d0]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov rdi, qword [rsp + 0x38]
mov r11, qword [rsp + 0x70]
mov r10, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x154]
inc ecx
mov dword [rsp + 0x154], ecx
cmp ecx, 3
jl 0x18017a900
jmp 0x18017c076
xor r8d, dword [rsp + 0x80]
xor r8d, dword [rsp + 0xd8]
xor r8d, dword [rsp + 0xf8]
xor r8d, edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl r8d, 8
shl ecx, 8
xor edx, ecx
mov rcx, qword [rsp + 0x1e8]
and edx, 0xff00ff
xor edx, r8d
mov r8, qword [rsp + 0x120]
xor r8d, dword [rsp + 0x78]
mov dword [rcx + 0x20], edx
xor r8d, edi
xor r8d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x1e8]
xor r8d, r12d
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl r8d, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8, qword [rsp + 0xf0]
xor r8d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xe0]
xor r8d, dword [rsp + 0x30]
mov dword [rdi + 0x24], edx
xor r8d, r15d
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov r8, qword [rsp + 0x130]
xor r8d, dword [rsp + 0xc8]
mov dword [rdi + 0x28], edx
xor r8d, esi
xor r8d, dword [rsp + 0x138]
xor r8d, r14d
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov dword [rdi + 0x2c], edx
mov rdx, qword [rsp + 0xc0]
xor edx, dword [rsp + 0xa8]
xor edx, r10d
xor edx, dword [rsp + 0x118]
xor edx, eax
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov rdx, qword [rsp + 0xb8]
xor edx, r11d
mov dword [rdi + 0x30], ecx
xor edx, dword [rsp + 0x68]
xor edx, dword [rsp + 0x98]
xor edx, r9d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov rdx, qword [rsp + 0x60]
xor edx, dword [rsp + 0x58]
xor edx, dword [rsp + 0x70]
xor edx, dword [rsp + 0x110]
xor edx, r13d
mov dword [rdi + 0x34], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov rdx, qword [rsp + 0x88]
xor edx, ebx
mov dword [rdi + 0x38], ecx
xor edx, dword [rsp + 0x128]
xor edx, dword [rsp + 0x38]
xor edx, ebp
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl eax, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
xor ecx, edx
mov dword [rdi + 0x3c], ecx
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret