Function at 0x1401748b0
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.14034ecf0
mov eax, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov esi, dword [rbx + 0x40]
mov r10d, dword [rbx + 0x44]
mov r9d, dword [rbx + 0x78]
mov edx, dword [rbx + 0x80]
mov r11d, 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 + 0xb0], rax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x150], rax
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0xa8], rax
mov eax, dword [rbx + 0x38]
mov qword [rsp + 0x160], rax
mov eax, dword [rbx + 0x3c]
mov qword [rsp + 0xa0], rax
mov eax, dword [rbx + 0x48]
mov qword [rsp + 0xf0], rax
mov eax, dword [rbx + 0x4c]
mov qword [rsp + 0x138], rax
mov eax, dword [rbx + 0x50]
mov qword [rsp + 0x128], rax
mov eax, dword [rbx + 0x54]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0x108], rax
mov eax, dword [rbx + 0x5c]
mov qword [rsp + 0x80], 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 + 0xf8], rax
mov eax, dword [rbx + 0x6c]
mov qword [rsp + 0xc8], rax
mov eax, dword [rbx + 0x70]
mov qword [rsp + 0xb8], rax
mov eax, dword [rbx + 0x74]
mov qword [rsp + 0x100], rax
mov eax, dword [rbx + 0x7c]
mov qword [rsp + 0x90], rax
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0xe8], rax
mov eax, dword [rbx + 0x8c]
mov qword [rsp + 0xc0], rax
mov eax, dword [rbx + 0x90]
mov qword [rsp + 0x168], rax
mov eax, dword [rbx + 0x94]
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x98]
mov qword [rsp + 0xd8], rax
mov eax, dword [rbx + 0x9c]
mov qword [rsp + 0x88], rax
mov eax, dword [rbx + 0xa0]
mov qword [rsp + 0x58], rax
mov eax, dword [rbx + 0xa4]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 0xac]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x1e0], ecx
mov r15d, dword [rbx + 0xc4]
xor ecx, ecx
mov dword [rsp + 0x110], ecx
mov dword [rsp + 0x1d8], edi
nop
mov ecx, dword [rbx]
xor edi, dword [rsp + 0x58]
bswap ecx
mov dword [rsp + 0x178], ecx
xor edi, edx
mov ecx, dword [rbx + 4]
mov edx, eax
xor edx, dword [rsp + 0xc0]
xor edx, dword [rsp + 0xc8]
xor edx, dword [rsp + 0x138]
xor edx, dword [rsp + 0x150]
xor edi, dword [rsp + 0x118]
bswap ecx
mov dword [rsp + 0x44], ecx
xor edi, esi
mov ecx, dword [rbx + 8]
xor dword [rsp + 0x68], edi
bswap ecx
mov dword [rsp + 0x17c], ecx
mov ecx, dword [rbx + 0xc]
bswap ecx
mov dword [rsp + 0x170], ecx
mov ecx, dword [rbx + 0x10]
bswap ecx
mov dword [rsp + 0x74], 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 + 0x30]
xor ebx, r11d
mov r11d, dword [rsp + 0x1e0]
xor r11d, dword [rsp + 0x88]
xor r11d, dword [rsp + 0x90]
xor ebx, dword [rsp + 0x140]
xor r11d, dword [rsp + 0x80]
xor ebx, r10d
xor r11d, dword [rsp + 0xa0]
mov r10d, r14d
xor r10d, dword [rsp + 0xd8]
mov esi, ebx
xor dword [rsp + 0x148], r11d
xor r10d, r9d
xor r10d, dword [rsp + 0x108]
xor esi, ebp
xor r10d, dword [rsp + 0x160]
mov r9d, ebx
mov rbp, qword [rsp + 0xf8]
xor r9d, r13d
xor r9d, dword [rsp + 0x28]
xor r9d, dword [rsp + 0x100]
xor r9d, dword [rsp + 0xe0]
xor dword [rsp + 0xa0], r10d
xor r9d, r8d
xor dword [rsp + 0x160], r9d
mov r8d, ebx
bswap ecx
mov dword [rsp + 0x3c], ecx
xor r8d, r12d
xor r8d, dword [rsp + 0x168]
mov ecx, esi
xor ecx, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xb8]
xor ecx, ebp
xor r8d, dword [rsp + 0x128]
xor r8d, dword [rsp + 0xa8]
xor ecx, dword [rsp + 0xf0]
xor ecx, dword [rsp + 0xb0]
xor dword [rsp + 0x60], r8d
xor dword [rsp + 0xe0], r8d
xor dword [rsp + 0xb0], ebx
xor dword [rsp + 0x150], ecx
xor dword [rsp + 0xa8], edx
xor dword [rsp + 0xf0], ebx
xor dword [rsp + 0x138], ecx
xor dword [rsp + 0x128], edx
xor dword [rsp + 0x108], r9d
xor dword [rsp + 0xc8], ecx
xor eax, ecx
xor dword [rsp + 0xc0], ecx
xor r12d, edx
xor dword [rsp + 0x80], r10d
xor ebp, ebx
xor dword [rsp + 0x140], edi
xor r15d, edi
xor dword [rsp + 0xb8], edx
xor r13d, r8d
xor dword [rsp + 0x100], r8d
xor r14d, r9d
xor dword [rsp + 0x130], r9d
xor dword [rsp + 0x90], r10d
xor dword [rsp + 0x88], r10d
xor dword [rsp + 0x1e0], r10d
xor dword [rsp + 0x118], r11d
xor dword [rsp + 0x48], r11d
xor dword [rsp + 0x168], edx
mov rdx, qword [rsp + 0x68]
xor dword [rsp + 0xd8], r9d
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0xe0]
xor dword [rsp + 0x50], edi
xor dword [rsp + 0x58], r11d
xor dword [rsp + 0x30], edi
mov edi, r10d
xor dword [rsp + 0x1d8], r11d
xor edi, edx
xor dword [rsp + 0x28], r8d
mov r8, qword [rsp + 0x140]
xor dword [rsp + 0xe8], ebx
mov ecx, dword [rsp + 0xf0]
xor edi, dword [rsp + 0xa8]
xor ecx, edx
mov dword [rsp + 0xd4], ecx
mov rcx, qword [rsp + 0x128]
mov ebx, ecx
mov qword [rsp + 0xf8], rbp
xor ebx, dword [rsp + 0x150]
mov ebp, r9d
xor r9d, dword [rsp + 0xb8]
xor ebp, edx
xor ebp, dword [rsp + 0xb0]
mov dword [rsp + 0x98], r14d
mov r14, qword [rsp + 0x108]
mov r11d, r14d
mov dword [rsp + 0x78], r13d
xor r11d, edx
mov dword [rsp + 0x20], r12d
xor r11d, dword [rsp + 0x60]
mov edx, r8d
mov r12d, dword [rsp + 0x118]
xor edx, r10d
xor r12d, dword [rsp + 0xa0]
mov r10d, r8d
xor r10d, ecx
mov dword [rsp + 0x24], r15d
mov r15d, dword [rsp + 0x80]
mov ecx, r8d
xor ecx, dword [rsp + 0xf0]
mov r13d, r8d
xor r8d, dword [rsp + 0xf8]
xor ecx, dword [rsp + 0xc8]
xor r15d, dword [rsp + 0x160]
xor r13d, dword [rsp + 0x148]
mov qword [rsp + 0x140], r8
mov r8, qword [rsp + 0x130]
xor edx, r8d
mov qword [rsp + 0x138], r9
mov r9, qword [rsp + 0x100]
xor r10d, r9d
mov dword [rsp + 0x120], ecx
xor r14d, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x108], r14
mov dword [rsp + 0x174], ebx
mov dword [rsp + 0x128], edi
mov dword [rsp + 0x158], r11d
mov dword [rsp + 0x100], r10d
mov dword [rsp + 0xe0], edx
xor dword [rsp + 0x80], ecx
xor r8d, dword [rsp + 0x88]
mov rdx, qword [rsp + 0x50]
xor dword [rsp + 0x118], edx
mov r10d, edx
xor r10d, dword [rsp + 0xf8]
mov r14d, edx
xor r14d, r9d
mov qword [rsp + 0x130], r8
mov r8, qword [rsp + 0x58]
mov r9d, edx
xor edx, dword [rsp + 0xe8]
xor dword [rsp + 0x90], r8d
mov r8, qword [rsp + 0x30]
xor r14d, dword [rsp + 0xd8]
xor ecx, r8d
xor r9d, dword [rsp + 0xb8]
xor r9d, dword [rsp + 0x28]
mov qword [rsp + 0x48], rcx
mov ecx, r8d
xor ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x98]
mov dword [rsp + 0xf0], ecx
mov rcx, qword [rsp + 0xd8]
xor ecx, dword [rsp + 0x1e0]
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rsp + 0x88]
xor ecx, dword [rsp + 0x1d8]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rsp + 0x24]
xor dword [rsp + 0x58], ecx
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0xc0]
xor r10d, edx
xor edx, dword [rsp + 0x20]
mov dword [rsp + 0x70], r10d
mov r10, qword [rsp + 0x168]
xor dword [rsp + 0xc8], r10d
xor r8d, r10d
mov r10d, dword [rsp + 0x30]
xor dword [rsp + 0x30], esi
xor r10d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0x78]
xor r10d, eax
xor eax, dword [rsp + 0xa8]
mov qword [rsp + 0xc0], 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 + 0x98]
mov dword [rsp + 0x1d8], ecx
mov ecx, edx
xor ecx, dword [rsp + 0x78]
mov dword [rsp + 0x1e0], ecx
mov ecx, edx
xor ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x60]
mov dword [rsp + 0x20], edx
xor dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x150]
xor dword [rsp + 0x20], esi
mov esi, dword [rsp + 0x1e0]
xor esi, dword [rsp + 0x160]
xor edx, dword [rsp + 0xb0]
mov dword [rsp + 0x1e0], esi
mov rsi, qword [rsp + 0xa0]
xor dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x148]
xor dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0x68]
xor dword [rsp + 0x38], esi
mov esi, r13d
xor esi, edx
mov dword [rsp + 0x28], esi
mov esi, r13d
xor esi, dword [rsp + 0xd4]
xor esi, dword [rsp + 0x20]
mov dword [rsp + 0xe8], esi
mov esi, ebp
xor esi, eax
mov dword [rsp + 0xf8], esi
mov esi, r13d
xor esi, ebx
mov ebx, r13d
xor esi, ecx
xor ebx, edi
xor ebx, dword [rsp + 0x1e0]
mov edi, dword [rsp + 0x38]
mov dword [rsp + 0xa0], esi
mov esi, dword [rsp + 0x1d8]
xor r11d, esi
xor esi, dword [rsp + 0x88]
mov dword [rsp + 0xb0], r11d
mov r11d, r15d
mov dword [rsp + 0xa8], ebx
mov ebx, dword [rsp + 0x24]
xor r11d, ebx
mov dword [rsp + 0x68], r11d
mov r11d, r12d
xor r11d, edi
mov dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x90]
mov dword [rsp + 0x60], r11d
mov r11d, edi
xor r11d, ecx
mov ecx, edi
xor ecx, eax
mov eax, edi
xor edi, dword [rsp + 0x30]
xor ecx, r8d
xor eax, edx
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0xf0]
xor eax, r10d
mov rdx, qword [rsp + 0xc0]
xor r11d, ecx
xor dword [rsp + 0x20], edx
mov dword [rsp + 0x98], r11d
mov r11, qword [rsp + 0xd8]
xor dword [rsp + 0x1e0], r11d
mov r11, qword [rsp + 0x58]
xor dword [rsp + 0xd8], esi
xor ebx, r11d
mov dword [rsp + 0x38], edi
mov edi, r11d
xor edi, r8d
mov dword [rsp + 0x24], ebx
mov rbx, qword [rsp + 0x50]
mov r8d, r11d
xor r8d, edx
xor edi, r14d
xor r8d, r9d
mov edx, r11d
xor edx, dword [rsp + 0x30]
xor r11d, ebx
xor edx, dword [rsp + 0x70]
mov dword [rsp + 0xb8], edx
mov qword [rsp + 0x58], r11
mov r11, qword [rsp + 0xc8]
xor r10d, r11d
mov dword [rsp + 0x30], r8d
mov r8, qword [rsp + 0x130]
xor ecx, r8d
mov dword [rsp + 0xc8], r10d
mov dword [rsp + 0xf0], ecx
mov rcx, qword [rsp + 0x48]
xor dword [rsp + 0x88], ecx
mov edx, ecx
xor edx, r9d
mov r10d, ecx
mov r9d, ecx
xor r10d, ebx
xor r9d, r11d
mov r11, qword [rsp + 0x138]
mov dword [rsp + 0x50], r9d
mov r9, qword [rsp + 0x140]
xor ecx, r9d
xor r10d, dword [rsp + 0x120]
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0x48], rcx
xor r8d, dword [rsp + 0x80]
xor edx, dword [rsp + 0xe0]
xor dword [rsp + 0x70], r11d
mov rcx, qword [rsp + 0x118]
xor r12d, dword [rsp + 0x40]
xor esi, ecx
xor r14d, dword [rsp + 0x108]
mov ebx, ecx
xor dword [rsp + 0x108], r12d
xor ebx, r11d
mov r10d, dword [rsp + 0x100]
mov r11d, ecx
xor dword [rsp + 0x50], r10d
xor r11d, ebp
mov ebp, dword [rsp + 0x28]
xor r11d, r9d
xor r15d, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x74]
xor dword [rsp + 0xa8], r9d
mov r9d, dword [rsp + 0x40]
xor dword [rsp + 0xb0], r9d
mov r9d, dword [rsp + 0xd0]
xor dword [rsp + 0x68], r9d
mov r9d, dword [rsp + 0x3c]
xor dword [rsp + 0xe0], r15d
mov r15d, dword [rsp + 0xd0]
xor r13d, r15d
xor dword [rsp + 0x60], r9d
mov r12d, r15d
xor ebp, dword [rsp + 0x178]
xor dword [rsp + 0x80], r13d
xor dword [rsp + 0x48], r15d
mov qword [rsp + 0x130], r8
mov r8d, dword [rsp + 0x17c]
xor dword [rsp + 0xf8], r8d
mov qword [rsp + 0x90], rsi
mov esi, ecx
mov ecx, dword [rsp + 0x44]
xor esi, r10d
xor dword [rsp + 0xe8], ecx
mov ecx, dword [rsp + 0x170]
xor dword [rsp + 0xa0], ecx
mov r10d, dword [rsp + 0x3c]
xor r10d, dword [rsp + 0x118]
xor r10d, dword [rsp + 0xd4]
mov dword [rsp + 0x28], r9d
xor dword [rsp + 0x28], ecx
mov ecx, r9d
xor r9d, dword [rsp + 0x178]
xor ecx, r8d
mov r8d, dword [rsp + 0x174]
xor r12d, ecx
xor r8d, dword [rsp + 0x44]
xor r11d, r9d
xor dword [rsp + 0x120], r8d
mov r8d, dword [rsp + 0x128]
xor dword [rsp + 0x70], r9d
xor r8d, ecx
xor ebx, r8d
mov dword [rsp + 0x100], r12d
mov r8d, dword [rsp + 0x158]
xor r12d, edx
xor r8d, dword [rsp + 0x28]
mov ecx, r15d
xor ecx, dword [rsp + 0x44]
xor esi, r8d
mov edx, dword [rsp + 0x28]
mov r8d, r15d
xor r8d, dword [rsp + 0x3c]
xor edx, r14d
mov r14d, dword [rsp + 0x40]
xor dword [rsp + 0xc0], r8d
xor dword [rsp + 0x50], ecx
mov dword [rsp + 0x44], edx
mov edx, dword [rsp + 0x74]
xor edx, dword [rsp + 0x130]
mov dword [rsp + 0xd0], edx
mov edx, r14d
xor edx, dword [rsp + 0x90]
mov dword [rsp + 0xd4], edx
mov dword [rsp + 0x3c], r12d
xor dword [rsp + 0x58], r14d
mov edx, r14d
xor dword [rsp + 0xc8], r8d
xor edx, ecx
ror dword [rsp + 0x3c], 0x1e
mov ecx, r14d
ror dword [rsp + 0x44], 0x1e
xor ecx, r15d
xor dword [rsp + 0xb8], ecx
xor dword [rsp + 0x20], ecx
mov r15d, dword [rsp + 0x24]
ror dword [rsp + 0xd0], 0x1e
ror dword [rsp + 0xd4], 0x1e
mov dword [rsp + 0x40], edx
mov edx, r14d
mov r12d, dword [rsp + 0x40]
xor edx, r9d
mov r9d, dword [rsp + 0x74]
xor r14d, r9d
xor dword [rsp + 0x30], edx
xor eax, r14d
xor dword [rsp + 0x38], r9d
mov ecx, r9d
mov r14d, dword [rsp + 0x98]
xor ecx, r8d
xor dword [rsp + 0x78], ecx
mov ecx, r9d
mov r8d, dword [rsp + 0x100]
xor ecx, edx
mov edx, dword [rsp + 0x28]
xor r14d, ecx
mov ecx, dword [rsp + 0x1e0]
xor r15d, edx
xor edx, dword [rsp + 0xd8]
xor ecx, r12d
xor r9d, dword [rsp + 0x88]
xor r12d, edi
ror ecx, 0x1c
lea edi, [rsi + rsi]
mov dword [rsp + 0x1e0], ecx
ror r15d, 0x1c
mov ecx, ebp
ror r12d, 0x1d
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x40], r12d
mov r12d, dword [rsp + 0x120]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x1d8]
xor eax, r8d
shl rdi, 0x1f
xor r8d, dword [rsp + 0xf0]
shl r12, 0x20
ror r8d, 0x1d
ror edx, 0x1d
ror r9d, 0x1d
ror r14d, 0x1c
ror eax, 0x1c
mov r15d, r10d
shl r15, 0x20
or r15, rcx
mov ebp, r11d
mov ecx, dword [rsp + 0xe8]
shl rbp, 0x20
or rbp, rcx
mov r13d, ebx
mov ecx, dword [rsp + 0xf8]
or r12, rcx
shl r13, 0x20
mov ecx, dword [rsp + 0xa0]
or r13, rcx
mov dword [rsp + 0x100], r8d
mov ecx, esi
and rcx, 0xffffffff80000000
mov dword [rsp + 0x28], edx
or rdi, rcx
mov dword [rsp + 0x74], r9d
mov ecx, dword [rsp + 0xa8]
add rdi, rdi
or rdi, rcx
mov dword [rsp + 0x98], r14d
mov dword [rsp + 0x1d8], eax
mov rax, qword [rsp + 0x108]
mov edx, dword [rsp + 0xe0]
mov ecx, edx
mov qword [rsp + 0x148], 0
and rcx, 0xffffffff80000000
lea esi, [rax + rax]
shl rsi, 0x1f
lea r14d, [rdx + rdx]
mov rdx, qword [rsp + 0x80]
shl r14, 0x1f
or r14, rcx
mov ecx, dword [rsp + 0xb0]
add r14, r14
or r14, rcx
mov ecx, eax
and rcx, 0xffffffff80000000
lea eax, [rdx + rdx]
or rsi, rcx
shl rax, 0x1f
mov ecx, dword [rsp + 0x68]
add rsi, rsi
or rsi, rcx
mov ecx, edx
and rcx, 0xffffffff80000000
or rax, rcx
mov ecx, dword [rsp + 0x60]
add rax, rax
or rax, rcx
nop dword [rax]
mov rcx, rbp
xor rax, rdi
or rcx, r15
not rbp
xor rcx, r13
xor r12, r13
and r13, r15
xor rbp, r13
xor r13, r12
and r12, rcx
not rcx
xor r12, rbp
or rbp, r13
xor r15, rbp
xor r13, r12
and r12, rbp
mov r11d, r15d
xor rbp, rcx
ror r11d, 0x1e
mov r8d, ebp
mov rcx, rsi
or rcx, r14
ror r8d, 0x1e
xor rcx, rdi
not rsi
and rdi, r14
xor rsi, rdi
xor rdi, rax
and rax, rcx
not rcx
xor rax, rsi
or rsi, rdi
xor r14, rsi
xor rdi, rax
xor r14, rbp
xor rdi, r15
xor r8d, r14d
shr rbp, 0x20
ror ebp, 0x1e
and rax, rsi
xor rsi, rcx
shr r15, 0x20
mov rcx, rdi
ror r15d, 0x1e
shr rcx, 0x20
xor r11d, edi
xor r15d, ecx
ror edi, 0x12
ror ecx, 0x12
xor edi, r11d
xor ecx, r15d
mov ebx, edi
mov r10d, ecx
mov rcx, r14
shr rcx, 0x20
xor ebp, ecx
ror r14d, 0x12
xor r14d, r8d
ror ecx, 0x12
xor ecx, ebp
mov r9d, r14d
mov edx, ecx
ror ebp, 0x16
xor rbp, rdx
ror r8d, 0x16
shl rbp, 0x20
lea r14d, [rdx + rdx]
mov ecx, r8d
xor rcx, r9
shl r14, 0x1f
or rbp, 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 rsi, r12
xor rax, r13
ror r15d, 0x16
mov r8d, r12d
ror r11d, 0x16
mov rcx, rsi
ror r8d, 0x1e
shr rcx, 0x20
lea edi, [r10 + r10]
xor r8d, esi
shr r12, 0x20
ror esi, 0x12
xor r15, r10
xor esi, r8d
ror r12d, 0x1e
xor r12d, ecx
mov r9d, esi
ror ecx, 0x12
xor ecx, r12d
ror r8d, 0x16
mov edx, ecx
mov ecx, r8d
mov r8d, r13d
xor rcx, r9
shr r13, 0x20
ror r13d, 0x1e
ror r12d, 0x16
lea esi, [rdx + rdx]
xor r12, rdx
shl rsi, 0x1f
ror r8d, 0x1e
xor r8d, eax
shl r12, 0x20
or r12, rcx
shl r15, 0x20
mov ecx, edx
shl rdi, 0x1f
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or rsi, rcx
mov ecx, r9d
shr rcx, 0x1f
add rsi, rsi
or rsi, rcx
mov rcx, rax
shr rcx, 0x20
or rsi, rdx
xor r13d, ecx
ror eax, 0x12
ror ecx, 0x12
xor eax, r8d
xor ecx, r13d
mov r9d, eax
mov edx, ecx
ror r13d, 0x16
xor r13, rdx
ror r8d, 0x16
mov ecx, r8d
mov r8, qword [rsp + 0x148]
lea eax, [rdx + rdx]
xor rcx, r9
shl rax, 0x1f
shl r13, 0x20
or r13, rcx
mov ecx, edx
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or rax, rcx
mov ecx, r9d
shr rcx, 0x1f
lea r9, [0x140000000]
add rax, rax
or rax, rcx
mov ecx, r11d
xor rcx, rbx
or rax, rdx
or r15, rcx
mov ecx, r10d
xor r15, qword [r8 + r9 + 0x3f6560]
and rcx, 0xffffffff80000000
or rdi, rcx
add rdi, rdi
mov ecx, ebx
lea edx, [rbx + rbx]
shr rcx, 0x1f
or rdi, rcx
or rdi, rdx
xor rdi, qword [r8 + r9 + 0x3f6600]
add r8, 8
mov qword [rsp + 0x148], r8
cmp r8, 0x40
jl 0x140175510
mov ecx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
mov qword [rsp + 0x68], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0xf0], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x138], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x128], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0xe0], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x108], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x80], rax
mov rax, rsi
mov qword [rsp + 0x148], rsi
mov rsi, qword [rsp + 0x68]
shr rsi, 0x20
shr rax, 0x20
mov qword [rsp + 0xa8], r12
mov r12d, dword [rsp + 0x58]
mov qword [rsp + 0x140], rsi
mov esi, dword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0xc8]
mov qword [rsp + 0x60], r13
mov r13d, dword [rsp + 0x30]
mov qword [rsp + 0xa0], r14
mov r14d, dword [rsp + 0x100]
mov qword [rsp + 0x150], rbp
mov ebp, dword [rsp + 0x28]
mov qword [rsp + 0x160], rdi
mov edi, dword [rsp + 0x74]
shl r12, 0x20
or r12, rcx
shl rsi, 0x20
mov ecx, dword [rsp + 0xc0]
or rsi, rcx
shl rax, 0x20
mov ecx, dword [rsp + 0x70]
or rax, rcx
shl r13, 0x20
mov ecx, dword [rsp + 0x50]
or r13, rcx
shl r9, 0x20
mov ecx, dword [rsp + 0x3c]
or r9, rcx
shl r14, 0x20
mov ecx, dword [rsp + 0x44]
or r14, rcx
shl rbp, 0x20
mov ecx, dword [rsp + 0xd0]
or rbp, rcx
shl rdi, 0x20
mov ecx, dword [rsp + 0xd4]
or rdi, rcx
mov qword [rsp + 0xb0], r15
xor r15d, r15d
nop dword [rax]
nop dword [rax + rax]
mov rcx, rsi
xor rdi, r9
or rcx, r12
not rsi
xor rcx, r13
xor rax, r13
and r13, r12
xor rsi, r13
xor r13, rax
and rax, rcx
not rcx
xor rax, rsi
or rsi, r13
xor r12, rsi
xor r13, rax
and rax, rsi
mov r11d, r12d
xor rsi, rcx
ror r11d, 0x1e
mov r8d, esi
mov rcx, rbp
or rcx, r14
ror r8d, 0x1e
xor rcx, r9
not rbp
and r9, r14
xor rbp, r9
xor r9, rdi
and rdi, rcx
not rcx
xor rdi, rbp
or rbp, r9
xor r14, rbp
xor r9, rdi
xor r14, rsi
xor r9, r12
xor r8d, r14d
shr rsi, 0x20
ror esi, 0x1e
xor r11d, r9d
shr r12, 0x20
and rdi, 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 esi, ecx
ror r14d, 0x12
xor r14d, r8d
ror ecx, 0x12
xor ecx, esi
mov r9d, r14d
mov edx, ecx
ror esi, 0x16
xor rsi, rdx
ror r8d, 0x16
shl rsi, 0x20
lea r14d, [rdx + rdx]
mov ecx, r8d
xor rcx, r9
shl r14, 0x1f
or rsi, 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 rdi, 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, edi
lea edx, [r9 + r9]
mov ecx, r9d
add rbp, rbp
shr rcx, 0x1f
or rbp, rcx
mov rcx, rdi
shr rcx, 0x20
or rbp, rdx
xor r13d, ecx
ror edi, 0x12
ror ecx, 0x12
xor edi, r8d
xor ecx, r13d
mov r9d, edi
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 edi, [rdx + rdx]
shl rdi, 0x1f
mov ecx, edx
and rcx, 0xffffffff80000000
lea edx, [r9 + r9]
or rdi, rcx
mov ecx, r9d
shr rcx, 0x1f
lea r9d, [r10 + r10]
add rdi, rdi
shl r9, 0x1f
or rdi, rcx
mov ecx, r11d
xor rcx, rbx
or rdi, rdx
or r12, rcx
mov ecx, r10d
xor r12, qword [r15 + r8 + 0x3f6680]
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 + 0x3f6640]
add r15, 8
cmp r15, 0x40
jl 0x1401758b0
mov r15d, dword [rsp + 0x24]
mov r11, rdi
mov qword [rsp + 0xf8], r12
mov r10, rsi
mov rcx, qword [rsp + 0xf8]
mov r12d, dword [rsp + 0x20]
shr rcx, 0x20
mov qword [rsp + 0xe8], rcx
mov rcx, rsi
shr rcx, 0x20
mov qword [rsp + 0xc0], rcx
shr r11, 0x20
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xb8]
mov eax, dword [rsp + 0x158]
shr rcx, 0x20
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x100], r13
mov rbx, qword [rsp + 0x100]
mov r13d, dword [rsp + 0x78]
mov rcx, rbx
shr rcx, 0x20
mov qword [rsp + 0x28], rcx
mov rcx, r9
shr rcx, 0x20
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x90], r14
mov rcx, qword [rsp + 0x90]
mov r14d, dword [rsp + 0x98]
shr rcx, 0x20
mov qword [rsp + 0x88], rcx
mov rcx, rbp
shr rcx, 0x20
mov qword [rsp + 0x50], rdi
lea rdi, [0x140000000]
mov qword [rsp + 0xc8], rsi
mov esi, dword [rsp + 0x1d8]
mov qword [rsp + 0x130], r9
xor r9d, r9d
mov qword [rsp + 0x48], rbp
mov ebp, dword [rsp + 0x38]
mov qword [rsp + 0x30], r11
mov r11d, dword [rsp + 0x1e0]
mov qword [rsp + 0x58], 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, r11d
xor ecx, r14d
and r14d, r11d
xor esi, r14d
xor r14d, r15d
and r15d, ecx
not ecx
xor r15d, esi
or esi, r14d
xor r14d, r15d
xor r11d, esi
xor r14d, ebp
xor r11d, 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, r11d
ror r13d, 0x1e
xor r12d, esi
ror r14d, 0x12
xor r13d, r15d
ror r11d, 0x12
xor r11d, eax
ror esi, 0x12
xor esi, r12d
ror eax, 0x16
xor r14d, ebp
ror r12d, 0x16
xor eax, r11d
ror ebp, 0x16
xor ebp, dword [r9 + rdi + 0x3f65a0]
lea ecx, [r11 + r11]
xor ebp, r14d
ror r15d, 0x12
xor r15d, r13d
ror r14d, 0x1f
xor r14d, dword [r9 + rdi + 0x3f64a0]
xor r12d, esi
ror r13d, 0x16
mov edx, r11d
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 + 0x3f65a4]
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 + 0x3f64a4]
mov r11d, edx
lea ecx, [rdx + rdx]
shr r11d, 0x1f
or r11d, 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 0x140175bf0
mov edx, dword [rsp + 0x110]
mov r8d, edx
mov rdi, qword [rsp + 0x160]
mov r9, qword [rsp + 0x130]
mov dword [rsp + 0x1e0], r11d
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x1d8], esi
mov rsi, qword [rsp + 0x148]
test edx, edx
je 0x140175f74
sub r8d, 1
je 0x140175e4b
cmp r8d, 1
je 0x140175faa
inc edx
mov dword [rsp + 0x110], edx
cmp edx, 3
jge 0x1401760b3
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov edi, dword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x1d0]
jmp 0x140174ab0
mov rdx, qword [rsp + 0x1e8]
mov ecx, dword [rsp + 0xf8]
xor ecx, dword [rsp + 0xe8]
xor ecx, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0xf0]
xor ecx, ebp
mov r8, qword [rsp + 0x60]
bswap ecx
mov dword [rdx], ecx
mov ecx, dword [rsp + 0xc0]
xor ecx, r10d
mov r10, qword [rsp + 0x68]
xor ecx, dword [rsp + 0x150]
xor ecx, dword [rsp + 0x138]
xor ecx, eax
bswap ecx
mov dword [rdx + 4], ecx
mov ecx, dword [rsp + 0x128]
xor ecx, dword [rsp + 0x168]
xor ecx, dword [rsp + 0xa8]
xor ecx, dword [rsp + 0xb8]
xor ecx, r12d
bswap ecx
mov dword [rdx + 8], ecx
mov ecx, r8d
xor ecx, ebx
mov rbx, qword [rsp + 0x1e8]
xor ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0xe0]
xor ecx, r13d
bswap ecx
mov dword [rdx + 0xc], ecx
mov ecx, dword [rsp + 0x108]
xor ecx, edi
mov edi, dword [rsp + 0x1d8]
xor ecx, dword [rsp + 0xd8]
xor ecx, r9d
xor ecx, r14d
bswap ecx
mov dword [rdx + 0x10], ecx
mov ecx, dword [rsp + 0xa0]
xor ecx, dword [rsp + 0x80]
xor ecx, dword [rsp + 0x88]
xor ecx, dword [rsp + 0x90]
xor ecx, dword [rsp + 0x1e0]
bswap ecx
mov dword [rdx + 0x14], ecx
mov ecx, dword [rsp + 0x118]
xor ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
xor ecx, esi
xor ecx, edx
xor ecx, edi
bswap ecx
mov dword [rbx + 0x18], ecx
mov ecx, dword [rsp + 0x140]
xor ecx, r11d
xor ecx, dword [rsp + 0x30]
xor ecx, r10d
xor ecx, r15d
inc dword [rsp + 0x110]
bswap ecx
mov dword [rbx + 0x1c], ecx
mov rbx, qword [rsp + 0x1d0]
jmp 0x140174ab0
mov rbx, qword [rsp + 0x1d0]
xorps xmm0, xmm0
mov r8, qword [rsp + 0x60]
inc edx
mov r10, qword [rsp + 0x68]
mov edi, dword [rsp + 0x1d8]
movups xmmword [rbx], xmm0
mov dword [rsp + 0x110], edx
mov rdx, qword [rsp + 0x48]
movups xmmword [rbx + 0x10], xmm0
jmp 0x140174ab0
mov rdx, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0xf8]
xor ecx, dword [rsp + 0xe8]
xor ecx, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0xf0]
xor ecx, ebp
bswap ecx
mov dword [rdx + 0x20], ecx
mov rcx, qword [rsp + 0xc0]
xor ecx, r10d
xor ecx, dword [rsp + 0x150]
xor ecx, dword [rsp + 0x138]
xor ecx, eax
mov rax, qword [rsp + 0x128]
xor eax, dword [rsp + 0x168]
xor eax, dword [rsp + 0xa8]
xor eax, dword [rsp + 0xb8]
xor eax, r12d
bswap eax
mov dword [rdx + 0x28], eax
mov rax, qword [rsp + 0x60]
xor eax, ebx
xor eax, dword [rsp + 0x28]
xor eax, dword [rsp + 0xe0]
xor eax, r13d
bswap eax
mov dword [rdx + 0x2c], eax
mov rax, qword [rsp + 0x108]
xor eax, edi
xor eax, dword [rsp + 0xd8]
xor eax, r9d
xor eax, r14d
bswap eax
mov dword [rdx + 0x30], eax
mov rax, qword [rsp + 0xa0]
xor eax, dword [rsp + 0x80]
xor eax, dword [rsp + 0x88]
xor eax, dword [rsp + 0x90]
xor eax, dword [rsp + 0x1e0]
bswap eax
mov dword [rdx + 0x34], eax
mov rax, qword [rsp + 0x118]
xor eax, dword [rsp + 0x58]
xor eax, esi
xor eax, dword [rsp + 0x48]
xor eax, dword [rsp + 0x1d8]
bswap eax
mov dword [rdx + 0x38], eax
mov rax, qword [rsp + 0x140]
xor eax, r11d
xor eax, dword [rsp + 0x30]
xor eax, dword [rsp + 0x68]
xor eax, r15d
bswap eax
bswap ecx
mov dword [rdx + 0x3c], eax
mov dword [rdx + 0x24], ecx
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret