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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
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.140319f10
mov eax, dword [rbx + 0x28]
mov edi, dword [rbx + 0x6c]
mov r8d, dword [rbx + 0x80]
mov r10d, dword [rbx + 0x84]
mov r9d, dword [rbx + 0xb8]
mov r12d, dword [rbx + 0x40]
mov esi, dword [rbx + 0x68]
mov ebp, dword [rbx + 0x70]
mov r14d, dword [rbx + 0x78]
mov r13d, dword [rbx + 0x7c]
mov qword [rsp + 0xc0], rax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0xb8], rax
mov eax, dword [rbx + 0x30]
mov qword [rsp + 0xd0], rax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0xa8], rax
mov eax, dword [rbx + 0x38]
mov qword [rsp + 0x98], rax
mov eax, dword [rbx + 0x3c]
mov qword [rsp + 0x90], rax
mov eax, dword [rbx + 0x44]
mov qword [rsp + 0x150], rax
mov eax, dword [rbx + 0x48]
mov qword [rsp + 0x100], rax
mov eax, dword [rbx + 0x4c]
mov qword [rsp + 0x110], rax
mov eax, dword [rbx + 0x50]
mov qword [rsp + 0xb0], rax
mov eax, dword [rbx + 0x54]
mov qword [rsp + 0xf0], rax
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0xe0], rax
mov eax, dword [rbx + 0x5c]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x60]
mov qword [rsp + 0xf8], rax
mov eax, dword [rbx + 0x64]
mov qword [rsp + 0x118], rax
mov eax, dword [rbx + 0x74]
mov qword [rsp + 0x108], rax
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0xc8], rax
mov eax, dword [rbx + 0x8c]
mov qword [rsp + 0x78], rax
mov eax, dword [rbx + 0x90]
mov qword [rsp + 0xe8], rax
mov eax, dword [rbx + 0x94]
mov qword [rsp + 0xa0], rax
mov eax, dword [rbx + 0x98]
mov qword [rsp + 0x70], rax
mov eax, dword [rbx + 0x9c]
mov qword [rsp + 0x68], rax
mov eax, dword [rbx + 0xa0]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0xa4]
mov qword [rsp + 0x80], rax
mov eax, dword [rbx + 0xa8]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0xac]
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + 0xb0]
mov dword [rsp + 0x1d0], eax
mov eax, dword [rbx + 0xb4]
mov dword [rsp + 0x2c], eax
mov eax, dword [rbx + 0xbc]
mov dword [rsp + 0x1c8], eax
mov eax, dword [rbx + 0xc0]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x24], r9d
mov r15d, dword [rbx + 0xc4]
and dword [rsp + 0x144], 0
mov dword [rsp + 0x34], eax
mov ecx, dword [rbx]
mov r11d, 0xff00ff
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x164], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 8]
mov dword [rsp + 0x140], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 0xc]
mov dword [rsp + 0x124], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 0x10]
mov dword [rsp + 0x128], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 0x14]
mov dword [rsp + 0x12c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 0x18]
mov dword [rsp + 0x13c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r11d
xor edx, ecx
mov ecx, dword [rbx + 0x1c]
rol ecx, 0x10
mov dword [rsp + 0x15c], edx
mov edx, ecx
xor r9d, dword [rsp + 0x70]
mov eax, ecx
mov ebx, dword [rsp + 0x34]
xor r9d, r14d
xor ebx, dword [rsp + 0x50]
xor r9d, dword [rsp + 0xe0]
xor ebx, r8d
xor r9d, dword [rsp + 0x98]
xor ebx, dword [rsp + 0xf8]
shr edx, 8
xor ebx, r12d
xor dword [rsp + 0x40], ebx
shl eax, 8
xor edx, eax
shl ecx, 8
mov eax, dword [rsp + 0xc8]
and edx, r11d
xor edx, ecx
xor eax, esi
xor eax, dword [rsp + 0x100]
mov r11d, r15d
xor r11d, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x20]
xor r11d, r10d
xor ecx, dword [rsp + 0x78]
xor r11d, dword [rsp + 0x118]
xor ecx, edi
xor r11d, dword [rsp + 0x150]
xor ecx, dword [rsp + 0x110]
xor esi, r11d
xor ecx, dword [rsp + 0xb8]
mov r8d, r11d
xor r8d, dword [rsp + 0x2c]
mov edi, r11d
xor r8d, dword [rsp + 0xa0]
xor r8d, dword [rsp + 0x108]
xor r8d, dword [rsp + 0xf0]
xor r8d, dword [rsp + 0xa8]
xor edi, dword [rsp + 0x28]
xor r14d, r8d
mov r10d, dword [rsp + 0x1c8]
xor eax, edi
xor eax, dword [rsp + 0xc0]
xor r10d, dword [rsp + 0x68]
xor dword [rsp + 0x98], r8d
xor r10d, r13d
xor r10d, dword [rsp + 0x60]
xor r13d, r9d
xor r10d, dword [rsp + 0x90]
xor dword [rsp + 0xe0], r8d
xor r12d, r10d
xor dword [rsp + 0xc0], r11d
xor dword [rsp + 0xb8], eax
xor dword [rsp + 0x90], r9d
xor dword [rsp + 0x100], r11d
xor dword [rsp + 0x110], eax
xor dword [rsp + 0x60], r9d
xor dword [rsp + 0xf8], r10d
xor dword [rsp + 0x118], ebx
xor dword [rsp + 0x48], eax
xor dword [rsp + 0xd8], r10d
mov dword [rsp + 0x160], edx
mov edx, r11d
xor edx, dword [rsp + 0x1d0]
xor edx, dword [rsp + 0xe8]
xor edx, ebp
mov qword [rsp + 0x168], r12
xor edx, dword [rsp + 0xb0]
xor ebp, ecx
xor edx, dword [rsp + 0xd0]
mov r12, qword [rsp + 0x150]
xor dword [rsp + 0xa8], edx
xor r12d, ebx
xor dword [rsp + 0xf0], edx
xor dword [rsp + 0x108], edx
xor dword [rsp + 0xd0], ecx
xor dword [rsp + 0xb0], ecx
xor dword [rsp + 0xc8], r11d
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x148], r13
xor dword [rsp + 0x78], eax
xor r15d, ebx
xor dword [rsp + 0x70], r8d
xor dword [rsp + 0x24], r8d
xor dword [rsp + 0xa0], edx
xor dword [rsp + 0x2c], edx
mov rdx, qword [rsp + 0x118]
xor dword [rsp + 0xe8], ecx
mov r13d, edx
xor dword [rsp + 0x20], eax
mov r8d, edx
xor dword [rsp + 0x1d0], ecx
mov ecx, edx
mov rax, qword [rsp + 0xf0]
xor r8d, dword [rsp + 0xb0]
xor ecx, eax
xor dword [rsp + 0x80], ebx
xor ecx, r14d
xor dword [rsp + 0x50], r10d
mov ebx, eax
xor dword [rsp + 0x34], r10d
mov eax, edx
xor edx, dword [rsp + 0x88]
xor ebx, r12d
xor eax, dword [rsp + 0x100]
xor eax, dword [rsp + 0x48]
xor dword [rsp + 0x68], r9d
xor dword [rsp + 0x1c8], r9d
mov esi, dword [rsp + 0x100]
mov r9d, dword [rsp + 0x110]
xor esi, r12d
xor dword [rsp + 0x110], ebp
xor r9d, r12d
xor ebx, dword [rsp + 0xd0]
mov r11d, dword [rsp + 0xb0]
xor r11d, dword [rsp + 0xb8]
xor r9d, dword [rsp + 0xc0]
xor r13d, dword [rsp + 0x168]
mov dword [rsp + 0x158], esi
mov rsi, qword [rsp + 0xe0]
mov r10d, esi
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x108]
xor r10d, r12d
mov r12d, dword [rsp + 0xf8]
xor r8d, edx
xor r10d, dword [rsp + 0xa8]
xor r12d, dword [rsp + 0x90]
mov dword [rsp + 0x100], r8d
mov dword [rsp + 0x38], r15d
mov r15d, dword [rsp + 0x60]
xor r15d, dword [rsp + 0x98]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x148]
xor esi, eax
mov dword [rsp + 0x120], ecx
mov rcx, qword [rsp + 0xd8]
xor dword [rsp + 0x60], ecx
mov qword [rsp + 0xe0], rsi
mov rsi, qword [rsp + 0xf8]
xor esi, dword [rsp + 0x40]
mov qword [rsp + 0xf8], rsi
mov esi, dword [rsp + 0x40]
xor esi, edx
mov dword [rsp + 0x130], r11d
mov edx, dword [rsp + 0x40]
xor edx, ebp
mov dword [rsp + 0x30], esi
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xe8]
mov r8d, ebp
xor ebp, dword [rsp + 0xc8]
xor r8d, dword [rsp + 0x88]
xor dword [rsp + 0x48], esi
mov qword [rsp + 0x40], rbp
mov rbp, qword [rsp + 0x78]
xor r8d, ebp
mov dword [rsp + 0x134], ebx
xor edx, dword [rsp + 0xa0]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x138], r10d
xor eax, dword [rsp + 0x50]
xor ebp, dword [rsp + 0x1d0]
xor r14d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x30]
xor r8d, dword [rsp + 0x70]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x88], r14
mov r14, qword [rsp + 0x80]
xor ecx, r14d
mov dword [rsp + 0x30], r8d
mov eax, r14d
mov qword [rsp + 0xd8], rcx
xor eax, dword [rsp + 0xa0]
mov ecx, r14d
xor eax, dword [rsp + 0x24]
mov r8d, r14d
xor r8d, dword [rsp + 0xc8]
xor r14d, edi
xor r8d, dword [rsp + 0x20]
xor ecx, esi
xor ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x70]
xor eax, dword [rsp + 0x1c8]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x34]
xor dword [rsp + 0x68], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], r14
mov r14d, dword [rsp + 0x38]
mov eax, r14d
xor eax, dword [rsp + 0x1d0]
mov ebp, r14d
xor eax, dword [rsp + 0xa8]
xor dword [rsp + 0x50], r14d
xor ebp, dword [rsp + 0x2c]
xor ebp, dword [rsp + 0x98]
mov dword [rsp + 0x1d0], r14d
xor dword [rsp + 0x1d0], edi
mov edi, dword [rsp + 0x1d0]
xor edi, dword [rsp + 0xb8]
xor r14d, dword [rsp + 0xc0]
mov dword [rsp + 0x1d0], edi
mov rdi, qword [rsp + 0xd0]
xor dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x90]
xor dword [rsp + 0x24], edi
xor r10d, dword [rsp + 0x24]
mov edi, dword [rsp + 0x1c8]
xor edi, dword [rsp + 0x168]
mov dword [rsp + 0x1c8], edi
mov edi, dword [rsp + 0x28]
xor edi, dword [rsp + 0x150]
mov dword [rsp + 0x28], edi
mov edi, r13d
xor edi, r14d
mov dword [rsp + 0xb0], r10d
mov dword [rsp + 0x90], edi
mov r10d, r15d
mov edi, r13d
mov dword [rsp + 0x38], r14d
xor edi, dword [rsp + 0x158]
xor edi, dword [rsp + 0x1d0]
mov dword [rsp + 0x98], edi
mov edi, r9d
xor edi, dword [rsp + 0x20]
mov dword [rsp + 0xa0], edi
mov edi, r13d
xor edi, r11d
mov dword [rsp + 0xe8], ebp
xor edi, eax
mov r11d, r13d
xor r11d, ebx
mov dword [rsp + 0xa8], edi
mov ebx, dword [rsp + 0x28]
xor r11d, ebp
xor r10d, dword [rsp + 0x1c8]
mov dword [rsp + 0xb8], r10d
mov r10d, r12d
mov dword [rsp + 0xd0], r11d
mov rdi, qword [rsp + 0x80]
xor r10d, ebx
mov r14d, dword [rsp + 0x1c8]
mov esi, ebx
mov ebp, dword [rsp + 0x24]
xor esi, eax
xor ebp, dword [rsp + 0x68]
mov eax, ebx
xor eax, dword [rsp + 0x38]
xor eax, r8d
mov dword [rsp + 0xc0], r10d
mov r10d, ebx
xor ebx, edi
xor r10d, dword [rsp + 0x20]
xor r10d, ecx
mov dword [rsp + 0x28], ebx
mov rbx, qword [rsp + 0x78]
xor dword [rsp + 0x1d0], ebx
mov dword [rsp + 0x2c], r10d
mov r10, qword [rsp + 0x70]
xor dword [rsp + 0xe8], r10d
mov r10, qword [rsp + 0x50]
mov r11d, r10d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x108]
xor r11d, ecx
xor r11d, dword [rsp + 0x30]
mov ecx, r10d
xor ecx, ebx
xor r14d, r10d
xor ecx, edx
mov ebx, r10d
xor ebx, edi
xor esi, eax
xor ebx, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0xc8], ebx
xor r10d, edi
mov rbx, qword [rsp + 0xd8]
xor dword [rsp + 0x68], ebx
mov dword [rsp + 0x40], ecx
mov rcx, qword [rsp + 0x88]
xor eax, ecx
mov qword [rsp + 0x50], r10
mov r10, qword [rsp + 0x48]
xor ecx, dword [rsp + 0x60]
xor r8d, r10d
mov dword [rsp + 0x78], r8d
mov r8d, ebx
xor r8d, edx
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x148]
mov edx, ebx
xor dword [rsp + 0x70], eax
xor edx, r10d
mov r10, qword [rsp + 0x110]
xor dword [rsp + 0x58], r10d
mov dword [rsp + 0x3c], r8d
mov r8d, ebx
xor ebx, dword [rsp + 0x118]
xor r8d, edi
mov qword [rsp + 0xd8], rbx
mov ebx, dword [rsp + 0x3c]
xor ebx, dword [rsp + 0x120]
mov dword [rsp + 0x3c], ebx
mov ebx, dword [rsp + 0x30]
xor ebx, dword [rsp + 0xe0]
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0xf0]
xor r8d, edx
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0xf8]
xor eax, ecx
mov dword [rsp + 0x80], r8d
mov r8d, dword [rsp + 0x100]
mov edi, ecx
xor dword [rsp + 0x48], r8d
mov dword [rsp + 0x30], ebx
xor edi, r8d
mov ebx, ecx
mov qword [rsp + 0x148], rax
xor r12d, dword [rsp + 0x13c]
xor ebx, r10d
xor dword [rsp + 0xe0], r12d
mov r10d, ecx
mov r8d, dword [rsp + 0x128]
xor r10d, r9d
xor dword [rsp + 0xa8], r8d
mov r9d, dword [rsp + 0x124]
xor dword [rsp + 0xa0], r9d
mov eax, dword [rsp + 0x164]
xor dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x13c]
xor dword [rsp + 0xb0], ecx
mov eax, dword [rsp + 0x140]
xor dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x12c]
xor dword [rsp + 0xd0], eax
mov ecx, dword [rsp + 0x15c]
xor dword [rsp + 0xb8], ecx
mov ecx, dword [rsp + 0x160]
xor dword [rsp + 0xc0], ecx
xor r10d, dword [rsp + 0x118]
mov dword [rsp + 0x24], eax
mov eax, ecx
xor r15d, dword [rsp + 0x24]
xor eax, r8d
xor dword [rsp + 0x120], r15d
mov r8d, ecx
mov r15d, dword [rsp + 0x15c]
xor r13d, r15d
xor r8d, dword [rsp + 0x164]
mov r12d, r15d
xor dword [rsp + 0x60], r13d
xor r10d, r8d
xor dword [rsp + 0x58], r8d
mov r13, qword [rsp + 0x88]
xor dword [rsp + 0xd8], r15d
xor r13d, dword [rsp + 0x24]
mov dword [rsp + 0x38], eax
mov eax, ecx
xor eax, r9d
mov r9d, ecx
xor r9d, dword [rsp + 0xf8]
xor r12d, eax
xor dword [rsp + 0x3c], r12d
mov ecx, dword [rsp + 0x130]
xor ecx, dword [rsp + 0x140]
xor r9d, dword [rsp + 0x158]
xor edx, ecx
mov ecx, dword [rsp + 0x134]
xor ecx, eax
mov dword [rsp + 0xf0], edx
mov edx, dword [rsp + 0x38]
xor ebx, ecx
xor dword [rsp + 0x30], edx
mov eax, r15d
xor eax, dword [rsp + 0x140]
xor dword [rsp + 0x48], eax
mov ecx, dword [rsp + 0x138]
xor ecx, edx
mov dword [rsp + 0x34], r12d
mov r12d, dword [rsp + 0x13c]
xor edi, ecx
xor dword [rsp + 0x148], r12d
mov edx, r12d
xor dword [rsp + 0x50], r12d
xor edx, eax
mov dword [rsp + 0x1c8], edx
mov eax, r12d
mov edx, r12d
xor eax, r15d
xor dword [rsp + 0xc8], eax
xor edx, r8d
mov r8d, dword [rsp + 0x24]
mov ecx, r15d
xor ecx, dword [rsp + 0x160]
xor dword [rsp + 0x40], edx
xor dword [rsp + 0x28], r8d
xor dword [rsp + 0x80], ecx
xor dword [rsp + 0x78], ecx
xor r12d, r8d
xor dword [rsp + 0x1d0], eax
mov eax, r8d
xor dword [rsp + 0x20], r12d
xor eax, ecx
xor dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x1c8]
mov r15d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x148]
mov r12, qword [rsp + 0xe0]
rol dword [rsp + 0x3c], 2
rol dword [rsp + 0x30], 2
rol eax, 2
mov dword [rsp + 0x124], eax
mov eax, ecx
xor ecx, dword [rsp + 0xe8]
xor eax, r11d
rol eax, 3
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x34]
mov r11d, eax
xor r11d, dword [rsp + 0x108]
xor eax, ebp
mov ebp, dword [rsp + 0xf0]
rol eax, 4
rol r11d, 3
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x134], r11d
mov r11d, r15d
xor r11d, dword [rsp + 0x70]
xor r15d, r14d
rol r13d, 2
rol edi, 1
rol r11d, 3
rol ecx, 4
mov dword [rsp + 0x12c], r13d
mov r13d, dword [rsp + 0x120]
mov dword [rsp + 0x130], r11d
mov r11d, r8d
xor r11d, dword [rsp + 0x68]
xor r8d, edx
xor r8d, esi
mov dword [rsp + 0x1c8], ecx
mov ecx, edi
mov rdi, qword [rsp + 0x60]
rol r13d, 1
rol r12d, 1
rol edi, 1
shl rbp, 0x20
shl rbx, 0x20
shl rcx, 0x20
shl r13, 0x20
shl r12, 0x20
shl rdi, 0x20
rol r11d, 3
rol r8d, 4
rol r15d, 4
mov r14d, r9d
shl r14, 0x20
or r14, rax
mov esi, r10d
mov eax, dword [rsp + 0x98]
shl rsi, 0x20
or rsi, rax
mov dword [rsp + 0x128], r11d
mov eax, dword [rsp + 0xa0]
or rbp, rax
mov dword [rsp + 0x24], r8d
mov eax, dword [rsp + 0xa8]
or rbx, rax
mov dword [rsp + 0x38], r15d
mov eax, dword [rsp + 0xd0]
or rcx, rax
mov eax, dword [rsp + 0xb0]
or r13, rax
mov eax, dword [rsp + 0xb8]
or r12, rax
mov eax, dword [rsp + 0xc0]
or rdi, rax
and qword [rsp + 0x88], 0
mov rax, rsi
xor rdi, rcx
or rax, r14
not rsi
xor rax, rbx
xor rbp, rbx
and rbx, r14
xor rsi, rbx
xor rbx, rbp
and rbp, rax
not rax
xor rbp, rsi
or rsi, rbx
xor r14, rsi
xor rbx, rbp
and rbp, rsi
mov r10d, r14d
xor rsi, rax
rol r10d, 2
mov edx, esi
mov rax, r12
or rax, r13
rol edx, 2
xor rax, rcx
not r12
and rcx, r13
xor r12, rcx
xor rcx, rdi
and rdi, rax
not rax
xor rdi, r12
or r12, rcx
xor r13, r12
xor rcx, rdi
xor r13, rsi
xor rcx, r14
xor edx, r13d
shr rsi, 0x20
rol esi, 2
xor r10d, ecx
and rdi, r12
shr r14, 0x20
xor r12, rax
rol r14d, 2
mov rax, rcx
xor r12, rbp
shr rax, 0x20
xor r14d, eax
rol ecx, 0xe
rol eax, 0xe
xor ecx, r10d
xor eax, r14d
mov r11d, ecx
mov r9d, eax
mov rax, r13
shr rax, 0x20
xor esi, eax
rol r13d, 0xe
xor r13d, edx
rol eax, 0xe
xor eax, esi
mov r8d, r13d
mov ecx, eax
rol esi, 0xa
rol edx, 0xa
xor rsi, rcx
mov eax, edx
mov edx, ebp
xor rax, r8
rol ecx, 1
shl rsi, 0x20
or rsi, rax
rol r8d, 1
mov eax, r8d
mov r13d, ecx
shl r13, 0x20
or r13, rax
rol edx, 2
mov rax, r12
shr rax, 0x20
xor edx, r12d
xor rdi, rbx
shr rbp, 0x20
rol ebp, 2
xor ebp, eax
rol r12d, 0xe
rol eax, 0xe
xor r12d, edx
xor eax, ebp
rol edx, 0xa
mov ecx, eax
mov eax, edx
mov edx, ebx
shr rbx, 0x20
mov r8d, r12d
xor rax, r8
rol ebx, 2
rol r8d, 1
rol edx, 2
xor edx, edi
rol r14d, 0xa
xor r14, r9
rol ebp, 0xa
xor rbp, rcx
shl r14, 0x20
rol ecx, 1
mov r12d, ecx
shl rbp, 0x20
or rbp, rax
shl r12, 0x20
mov eax, r8d
or r12, rax
rol r10d, 0xa
mov rax, rdi
rol r9d, 1
shr rax, 0x20
xor ebx, eax
rol edi, 0xe
rol eax, 0xe
xor edi, edx
xor eax, ebx
mov r8d, edi
mov ecx, eax
rol ebx, 0xa
xor rbx, rcx
rol edx, 0xa
rol ecx, 1
mov edi, ecx
mov eax, edx
mov rdx, qword [rsp + 0x88]
xor rax, r8
rol r8d, 1
shl rbx, 0x20
or rbx, rax
shl rdi, 0x20
mov eax, r8d
lea r8, [0x140000000]
or rdi, rax
mov ecx, r9d
shl rcx, 0x20
mov eax, r10d
xor rax, r11
rol r11d, 1
or r14, rax
mov eax, r11d
xor r14, qword [rdx + r8 + 0x3f1ca0]
or rcx, rax
xor rcx, qword [rdx + r8 + 0x3f1c20]
add rdx, 8
mov qword [rsp + 0x88], rdx
cmp rdx, 0x40
jl 0x140176727
mov r15d, dword [rsp + 0x128]
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x100], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x110], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0xb0], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0xf0], rax
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0xe0], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x60], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0xf8], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0xd8]
mov qword [rsp + 0x90], r13
mov r13d, dword [rsp + 0x3c]
mov qword [rsp + 0xb8], rsi
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0x150], rdi
mov edi, dword [rsp + 0xc8]
mov qword [rsp + 0xd0], rbp
mov ebp, dword [rsp + 0x78]
mov qword [rsp + 0xc0], r14
mov r14d, dword [rsp + 0x138]
mov qword [rsp + 0xa8], rbx
mov ebx, dword [rsp + 0x40]
mov qword [rsp + 0x168], r12
mov r12d, dword [rsp + 0x130]
shl rsi, 0x20
or rsi, rax
shl rdi, 0x20
mov eax, dword [rsp + 0x80]
or rdi, rax
shl rbp, 0x20
mov eax, dword [rsp + 0x58]
or rbp, rax
shl r14, 0x20
mov eax, dword [rsp + 0x48]
or r14, r13
mov r13d, dword [rsp + 0x134]
shl rbx, 0x20
or rbx, rax
shl r13, 0x20
mov eax, dword [rsp + 0x30]
or r13, rax
shl r12, 0x20
mov eax, dword [rsp + 0x12c]
or r12, rax
shl r15, 0x20
mov eax, dword [rsp + 0x124]
or r15, rax
mov qword [rsp + 0x98], rcx
and qword [rsp + 0x88], 0
mov rax, rdi
xor r15, r14
or rax, rsi
not rdi
xor rax, rbx
xor rbp, rbx
and rbx, rsi
xor rdi, rbx
xor rbx, rbp
and rbp, rax
not rax
xor rbp, rdi
or rdi, rbx
xor rsi, rdi
xor rbx, rbp
and rbp, rdi
mov r10d, esi
xor rdi, rax
rol r10d, 2
mov edx, edi
mov rax, r12
or rax, r13
rol edx, 2
xor rax, r14
not r12
and r14, r13
xor r12, r14
xor r14, r15
and r15, rax
not rax
xor r15, r12
or r12, r14
xor r13, r12
xor r14, r15
xor r13, rdi
xor r14, rsi
xor edx, r13d
shr rdi, 0x20
rol edi, 2
and r15, r12
xor r12, rax
shr rsi, 0x20
mov rax, r14
rol esi, 2
shr rax, 0x20
xor r10d, r14d
xor esi, eax
rol r14d, 0xe
rol eax, 0xe
xor r12, rbp
xor eax, esi
xor r14d, r10d
mov r9d, eax
mov rax, r13
shr rax, 0x20
xor edi, eax
rol r13d, 0xe
xor r13d, edx
rol eax, 0xe
xor eax, edi
mov r8d, r13d
mov ecx, eax
rol edi, 0xa
rol edx, 0xa
xor rdi, rcx
mov eax, edx
mov edx, ebp
xor rax, r8
rol ecx, 1
shl rdi, 0x20
or rdi, rax
rol r8d, 1
mov eax, r8d
mov r13d, ecx
shl r13, 0x20
or r13, rax
rol edx, 2
mov rax, r12
mov r11d, r14d
shr rax, 0x20
xor edx, r12d
xor r15, rbx
shr rbp, 0x20
rol ebp, 2
xor ebp, eax
rol r12d, 0xe
rol eax, 0xe
xor r12d, edx
xor eax, ebp
rol edx, 0xa
mov ecx, eax
mov r8d, r12d
mov eax, edx
mov edx, ebx
xor rax, r8
shr rbx, 0x20
rol ebx, 2
rol esi, 0xa
xor rsi, r9
rol ebp, 0xa
xor rbp, rcx
rol r8d, 1
rol ecx, 1
mov r12d, ecx
rol edx, 2
xor edx, r15d
shl rsi, 0x20
shl rbp, 0x20
or rbp, rax
shl r12, 0x20
mov eax, r8d
or r12, rax
rol r10d, 0xa
mov rax, r15
rol r9d, 1
shr rax, 0x20
xor ebx, eax
rol r15d, 0xe
rol eax, 0xe
xor r15d, edx
xor eax, ebx
mov r8d, r15d
mov ecx, eax
rol ebx, 0xa
xor rbx, rcx
rol edx, 0xa
rol ecx, 1
mov r15d, ecx
mov rcx, qword [rsp + 0x88]
mov eax, edx
lea rdx, [0x140000000]
xor rax, r8
shl rbx, 0x20
or rbx, rax
rol r8d, 1
shl r15, 0x20
mov eax, r8d
or r15, rax
mov r14d, r9d
shl r14, 0x20
mov eax, r10d
xor rax, r11
rol r11d, 1
or rsi, rax
mov eax, r11d
xor rsi, qword [rcx + rdx + 0x3f1da0]
or r14, rax
xor r14, qword [rcx + rdx + 0x3f1e00]
add rcx, 8
mov qword [rsp + 0x88], rcx
cmp rcx, 0x40
jl 0x140176a63
mov r9d, dword [rsp + 0x24]
mov r8, r12
mov r11d, dword [rsp + 0x20]
mov rax, rsi
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x1d0]
shr rax, 0x20
mov qword [rsp + 0xc8], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x78], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0xe8], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0xa0], rax
mov rax, r14
shr rax, 0x20
shr r8, 0x20
mov qword [rsp + 0x40], r15
mov r10, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x38]
shr r10, 0x20
mov qword [rsp + 0x70], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0xd8], r12
mov r12d, dword [rsp + 0x2c]
mov qword [rsp + 0x108], rbx
lea rbx, [0x140000000]
mov qword [rsp + 0x48], rdi
xor edi, edi
mov qword [rsp + 0x50], r8
mov r8d, dword [rsp + 0x1c8]
mov qword [rsp + 0x80], r10
mov r10d, dword [rsp + 0x28]
mov qword [rsp + 0x68], rax
xor r15d, r9d
xor ecx, r12d
mov eax, r11d
not r11d
or eax, r10d
xor eax, r12d
and r12d, r10d
xor r11d, r12d
xor r12d, ecx
and ecx, eax
not eax
xor ecx, r11d
or r11d, r12d
xor r10d, r11d
xor r12d, ecx
and ecx, r11d
xor r11d, eax
mov eax, edx
not edx
or eax, r8d
xor eax, r9d
and r9d, r8d
xor edx, r9d
xor r9d, r15d
and r15d, eax
not eax
xor r15d, edx
or edx, r9d
xor r9d, r15d
xor r8d, edx
xor r9d, r10d
and r15d, edx
xor r8d, r11d
rol r10d, 2
xor r10d, r9d
rol r11d, 2
xor r15d, r12d
rol r9d, 0xe
xor r9d, r10d
rol r12d, 2
xor r11d, r8d
rol r10d, 0xa
xor r10d, dword [rdi + rbx + 0x3f1de0]
xor r12d, r15d
xor edx, eax
rol r8d, 0xe
xor edx, ecx
rol r15d, 0xe
rol ecx, 2
xor r8d, r11d
xor ecx, edx
rol r11d, 0xa
xor r15d, r12d
rol edx, 0xe
xor edx, ecx
rol r12d, 0xa
xor r10d, r9d
rol ecx, 0xa
rol r9d, 1
xor r11d, r8d
xor r9d, dword [rdi + rbx + 0x3f1c80]
xor ecx, edx
xor r12d, r15d
rol r8d, 1
add rdi, 4
rol edx, 1
rol r15d, 1
cmp rdi, 0x20
jl 0x140176d07
mov eax, dword [rsp + 0x144]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x108]
mov dword [rsp + 0x1c8], r8d
mov r8, qword [rsp + 0xd8]
mov dword [rsp + 0x28], r10d
mov r10, qword [rsp + 0x40]
mov dword [rsp + 0x2c], r12d
mov r12, qword [rsp + 0x168]
mov dword [rsp + 0x1d0], ecx
mov ecx, eax
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x24], r9d
test eax, eax
je 0x140177024
sub ecx, 1
je 0x140176e58
cmp ecx, 1
je 0x14017704d
mov rbx, qword [rsp + 0x1c0]
jmp 0x140177036
mov edx, esi
xor edx, dword [rsp + 0xc8]
xor edx, dword [rsp + 0xc0]
xor edx, dword [rsp + 0x100]
xor edx, dword [rsp + 0x28]
rol edx, 0x10
mov eax, edx
mov ecx, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
mov rax, qword [rsp + 0x1d8]
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x78]
xor edx, edi
xor edx, dword [rsp + 0x110]
xor edx, dword [rsp + 0xb8]
mov dword [rax], ecx
xor edx, r11d
mov r11, qword [rsp + 0x1d8]
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 edx, ebp
xor edx, dword [rsp + 0xe8]
xor edx, dword [rsp + 0xb0]
xor edx, dword [rsp + 0xd0]
xor edx, dword [rsp + 0x1d0]
rol edx, 0x10
mov eax, edx
mov dword [r11 + 4], ecx
mov ecx, edx
shl eax, 8
shl edx, 8
shr ecx, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0xf0]
xor edx, ebx
mov dword [r11 + 8], ecx
xor edx, dword [rsp + 0xa8]
mov ebx, 0xff00ff
xor edx, dword [rsp + 0xa0]
xor edx, dword [rsp + 0x2c]
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, ebx
xor ecx, edx
mov edx, r14d
xor edx, dword [rsp + 0x70]
xor edx, dword [rsp + 0x98]
xor edx, dword [rsp + 0xe0]
xor edx, r9d
mov dword [r11 + 0xc], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, ebx
xor ecx, edx
mov edx, r13d
xor edx, dword [rsp + 0x68]
xor edx, dword [rsp + 0x60]
mov dword [r11 + 0x10], ecx
xor edx, dword [rsp + 0x90]
xor edx, dword [rsp + 0x1c8]
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, ebx
xor ecx, edx
mov edx, r12d
xor edx, dword [rsp + 0x34]
xor edx, dword [rsp + 0xf8]
xor edx, dword [rsp + 0x50]
xor edx, r8d
mov dword [r11 + 0x14], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, ebx
xor ecx, edx
mov edx, r15d
xor edx, dword [rsp + 0x118]
xor edx, dword [rsp + 0x80]
mov dword [r11 + 0x18], ecx
xor edx, r10d
xor edx, dword [rsp + 0x150]
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [rsp + 0x144]
and ecx, ebx
mov rbx, qword [rsp + 0x1c0]
xor ecx, edx
mov dword [r11 + 0x1c], ecx
jmp 0x140177036
mov rbx, qword [rsp + 0x1c0]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
inc eax
mov dword [rsp + 0x144], eax
cmp eax, 3
jge 0x140177218
jmp 0x140175c5d
xor esi, dword [rsp + 0xc8]
xor esi, dword [rsp + 0xc0]
xor esi, dword [rsp + 0x100]
xor esi, dword [rsp + 0x28]
xor ebp, dword [rsp + 0xe8]
xor r14d, dword [rsp + 0x70]
xor ebp, dword [rsp + 0xb0]
xor r14d, dword [rsp + 0x98]
xor ebp, dword [rsp + 0xd0]
xor r14d, dword [rsp + 0xe0]
xor r13d, dword [rsp + 0x68]
xor r14d, r9d
xor ebp, dword [rsp + 0x1d0]
xor r13d, dword [rsp + 0x60]
xor r13d, dword [rsp + 0x90]
xor r13d, dword [rsp + 0x1c8]
rol esi, 0x10
mov eax, esi
rol ebp, 0x10
shl eax, 8
mov ecx, esi
shr ecx, 8
xor ecx, eax
shl esi, 8
mov rax, qword [rsp + 0x1d8]
and ecx, 0xff00ff
xor ecx, esi
rol r14d, 0x10
mov rsi, qword [rsp + 0x78]
xor esi, edi
mov rdi, qword [rsp + 0x1d8]
xor esi, dword [rsp + 0x110]
xor esi, dword [rsp + 0xb8]
mov dword [rax + 0x20], ecx
xor esi, r11d
mov r11, qword [rsp + 0xf0]
xor r11d, ebx
rol esi, 0x10
xor r11d, dword [rsp + 0xa8]
mov ecx, esi
xor r11d, dword [rsp + 0xa0]
mov eax, esi
xor r11d, dword [rsp + 0x2c]
shr ecx, 8
shl eax, 8
xor ecx, eax
rol r11d, 0x10
and ecx, 0xff00ff
shl esi, 8
xor ecx, esi
mov eax, ebp
mov dword [rdi + 0x24], ecx
mov esi, 0xff00ff
shl eax, 8
mov ecx, ebp
shr ecx, 8
xor ecx, eax
shl ebp, 8
and ecx, esi
mov eax, r11d
xor ecx, ebp
shl eax, 8
mov dword [rdi + 0x28], ecx
mov ecx, r11d
shr ecx, 8
xor ecx, eax
shl r11d, 8
and ecx, esi
mov eax, r14d
xor ecx, r11d
shl eax, 8
mov dword [rdi + 0x2c], ecx
mov ecx, r14d
shr ecx, 8
xor ecx, eax
shl r14d, 8
and ecx, esi
xor ecx, r14d
rol r13d, 0x10
mov dword [rdi + 0x30], ecx
mov ecx, r13d
xor r15d, dword [rsp + 0x118]
xor r12d, edx
xor r12d, dword [rsp + 0xf8]
mov eax, r13d
xor r15d, dword [rsp + 0x80]
xor r12d, dword [rsp + 0x50]
xor r15d, r10d
xor r15d, dword [rsp + 0x150]
xor r12d, r8d
shr ecx, 8
shl eax, 8
xor ecx, eax
rol r12d, 0x10
and ecx, esi
rol r15d, 0x10
shl r13d, 8
mov eax, r12d
xor ecx, r13d
shl eax, 8
mov dword [rdi + 0x34], ecx
mov ecx, r12d
shr ecx, 8
xor ecx, eax
shl r12d, 8
and ecx, esi
mov eax, r15d
xor ecx, r12d
shl eax, 8
mov dword [rdi + 0x38], ecx
mov ecx, r15d
shr ecx, 8
xor ecx, eax
shl r15d, 8
and ecx, esi
xor ecx, r15d
mov dword [rdi + 0x3c], ecx
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret