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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
mov rbx, qword [rcx + 0x20]
mov eax, 0x20
sub rax, rbx
mov qword [rsp + 0x40], rbx
mov rsi, r8
mov rdi, rcx
cmp r8, rax
jae 0x1401a2676
add rcx, rbx
call fcn.140349660
add rbx, rsi
jmp 0x1401a3c0a
cmp qword [rsp + 0x1d0], 0
mov eax, dword [rcx + 0x28]
mov r8d, dword [rdi + 0xbc]
mov ebx, dword [rdi + 0x68]
mov r13d, dword [rdi + 0x84]
mov edx, dword [rdi + 0xac]
mov r10d, dword [rdi + 0xb0]
mov r11d, dword [rdi + 0xb4]
mov r9d, dword [rdi + 0xc4]
mov ebp, dword [rdi + 0x6c]
mov esi, dword [rdi + 0x70]
mov r14d, dword [rdi + 0x74]
mov r12d, dword [rdi + 0x78]
mov r15d, dword [rdi + 0x80]
mov qword [rsp + 0x150], rax
mov eax, dword [rcx + 0x2c]
mov ecx, dword [rcx + 0x30]
mov qword [rsp + 0xc8], rcx
mov ecx, dword [rdi + 0x34]
mov qword [rsp + 0xc0], rcx
mov ecx, dword [rdi + 0x38]
mov qword [rsp + 0xb8], rcx
mov ecx, dword [rdi + 0x3c]
mov qword [rsp + 0xb0], rcx
mov ecx, dword [rdi + 0x40]
mov qword [rsp + 0xa0], rcx
mov ecx, dword [rdi + 0x44]
mov qword [rsp + 0x158], rcx
mov ecx, dword [rdi + 0x48]
mov qword [rsp + 0xa8], rcx
mov ecx, dword [rdi + 0x4c]
mov qword [rsp + 0x118], rcx
mov ecx, dword [rdi + 0x50]
mov qword [rsp + 0x100], rcx
mov ecx, dword [rdi + 0x54]
mov qword [rsp + 0xe8], rcx
mov ecx, dword [rdi + 0x58]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rdi + 0x5c]
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rdi + 0x60]
mov qword [rsp + 0x110], rcx
mov ecx, dword [rdi + 0x64]
mov qword [rsp + 0x128], rcx
mov ecx, dword [rdi + 0x7c]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rdi + 0x88]
mov qword [rsp + 0x68], rcx
mov ecx, dword [rdi + 0x8c]
mov qword [rsp + 0x50], rcx
mov ecx, dword [rdi + 0x90]
mov qword [rsp + 0x98], rcx
mov ecx, dword [rdi + 0x94]
mov qword [rsp + 0xf8], rcx
mov ecx, dword [rdi + 0x98]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rdi + 0x9c]
mov qword [rsp + 0x70], rcx
mov ecx, dword [rdi + 0xa0]
mov qword [rsp + 0x90], rcx
mov ecx, dword [rdi + 0xa4]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rdi + 0xa8]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rdi + 0xb8]
mov dword [rsp + 0x2c], r8d
mov r8d, dword [rdi + 0xc0]
mov dword [rsp + 0x24], ecx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x1d8], r9d
jbe 0x1401a3a8c
mov rcx, qword [rsp + 0x40]
mov eax, 0x20
mov rbx, qword [rsp + 0x1d0]
sub rax, rcx
mov rdx, qword [rsp + 0x1c8]
cmp rax, rbx
cmovbe rbx, rax
add rcx, rdi
mov r8, rbx
call fcn.140349660
mov rax, qword [rsp + 0x40]
add qword [rsp + 0x1c8], rbx
add rax, rbx
sub qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x40], rax
cmp rax, 0x20
jne 0x1401a3a56
mov ecx, dword [rdi]
mov r8d, 0xff00ff
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 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, r8d
xor edx, ecx
mov ecx, dword [rdi + 8]
mov dword [rsp + 0x14c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 0xc]
mov dword [rsp + 0x130], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 0x10]
mov dword [rsp + 0x134], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 0x14]
mov dword [rsp + 0x138], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 0x18]
mov dword [rsp + 0x148], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shr edx, 8
shl ecx, 8
shl eax, 8
xor edx, eax
and edx, r8d
xor edx, ecx
mov ecx, dword [rdi + 0x1c]
rol ecx, 0x10
mov dword [rsp + 0x16c], edx
mov edx, ecx
mov rbx, qword [rsp + 0x48]
mov eax, ecx
mov r11d, dword [rsp + 0x1d8]
mov r10d, dword [rsp + 0x2c]
xor r11d, ebx
xor r10d, dword [rsp + 0x70]
xor r11d, r13d
xor r11d, dword [rsp + 0x128]
xor r11d, dword [rsp + 0x158]
mov r13, qword [rsp + 0x68]
mov edi, r11d
xor edi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x24]
xor r9d, dword [rsp + 0x80]
shl eax, 8
xor r9d, r12d
xor r9d, dword [rsp + 0x78]
xor r9d, dword [rsp + 0xb8]
shr edx, 8
xor edx, eax
shl ecx, 8
mov rax, qword [rsp + 0x90]
and edx, r8d
xor edx, ecx
mov dword [rsp + 0xe0], edi
mov ecx, dword [rsp + 0x28]
xor ebx, eax
mov rax, qword [rsp + 0x88]
xor ebx, r15d
xor ebx, dword [rsp + 0x110]
xor r10d, eax
xor ebx, dword [rsp + 0xa0]
mov r8d, r11d
xor r8d, dword [rsp + 0x3c]
xor r8d, dword [rsp + 0xf8]
xor r10d, dword [rsp + 0xf0]
xor r8d, r14d
xor r10d, dword [rsp + 0xb0]
xor r8d, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xc0]
mov rax, qword [rsp + 0x50]
xor dword [rsp + 0xb8], r8d
xor ecx, eax
xor dword [rsp + 0xb0], r9d
mov eax, edi
mov rdi, qword [rsp + 0x150]
xor eax, r13d
mov r13, qword [rsp + 0xd8]
xor ecx, ebp
xor ecx, dword [rsp + 0x118]
xor eax, r13d
xor ecx, dword [rsp + 0xd0]
xor eax, dword [rsp + 0xa8]
xor dword [rsp + 0xa0], r10d
xor eax, edi
xor dword [rsp + 0xd0], eax
xor edi, r11d
xor dword [rsp + 0xa8], r11d
xor dword [rsp + 0x118], eax
xor dword [rsp + 0x78], r8d
xor dword [rsp + 0xf0], r9d
xor dword [rsp + 0x110], r10d
xor dword [rsp + 0x128], ebx
mov dword [rsp + 0x160], edx
mov edx, r11d
xor edx, dword [rsp + 0x20]
xor edx, dword [rsp + 0x98]
xor edx, esi
mov qword [rsp + 0x150], rdi
xor edx, dword [rsp + 0x100]
xor edx, dword [rsp + 0xc8]
mov rdi, qword [rsp + 0x158]
xor dword [rsp + 0xc8], ecx
xor edi, ebx
xor dword [rsp + 0xc0], edx
xor dword [rsp + 0x100], ecx
xor dword [rsp + 0xe8], edx
xor r13d, r11d
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0xd8], r13
xor dword [rsp + 0xf8], edx
xor esi, ecx
xor dword [rsp + 0x3c], edx
xor r14d, edx
mov rdx, qword [rsp + 0x128]
xor r12d, r8d
xor dword [rsp + 0x58], ebx
xor r15d, r10d
xor dword [rsp + 0x50], eax
xor ebp, eax
xor dword [rsp + 0x28], eax
mov r13d, edx
xor dword [rsp + 0x98], ecx
xor dword [rsp + 0x80], r8d
xor dword [rsp + 0x20], ecx
mov ecx, edx
xor dword [rsp + 0x24], r8d
xor dword [rsp + 0x88], r9d
mov r8, qword [rsp + 0xe8]
xor dword [rsp + 0x48], ebx
xor ecx, r8d
xor dword [rsp + 0x1d8], ebx
mov ebx, r8d
mov rax, qword [rsp + 0x100]
mov r8d, edx
xor dword [rsp + 0x70], r9d
xor r8d, eax
xor dword [rsp + 0x90], r10d
xor ebx, edi
xor dword [rsp + 0x2c], r9d
xor r8d, r14d
xor dword [rsp + 0x38], r10d
xor dword [rsp + 0x68], r11d
mov r11d, eax
mov r10d, dword [rsp + 0x78]
mov eax, edx
xor edx, dword [rsp + 0xd8]
xor r10d, edi
xor eax, dword [rsp + 0xa8]
xor r11d, dword [rsp + 0xd0]
xor eax, ebp
xor ebx, dword [rsp + 0xc8]
xor r10d, dword [rsp + 0xc0]
xor r13d, dword [rsp + 0xa0]
mov qword [rsp + 0x108], rsi
mov esi, dword [rsp + 0xa8]
xor esi, edi
mov qword [rsp + 0x128], rdx
mov dword [rsp + 0x168], esi
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0x120], r12
mov r9d, esi
mov rdx, qword [rsp + 0x120]
xor r9d, edi
mov rdi, qword [rsp + 0xf0]
xor ecx, edx
mov r12d, dword [rsp + 0x110]
mov rdx, qword [rsp + 0x58]
xor dword [rsp + 0x110], edx
xor r9d, dword [rsp + 0x150]
xor r12d, dword [rsp + 0xb0]
mov qword [rsp + 0x40], r15
mov r15d, edi
xor r15d, dword [rsp + 0xb8]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x108]
xor esi, eax
mov dword [rsp + 0xe8], ecx
mov rcx, qword [rsp + 0x40]
xor edi, ecx
mov qword [rsp + 0x118], rsi
mov rsi, qword [rsp + 0x88]
xor dword [rsp + 0x78], esi
xor edx, r14d
mov dword [rsp + 0x13c], r11d
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x108], edx
mov edx, r14d
mov dword [rsp + 0x140], ebx
mov dword [rsp + 0x144], r10d
mov qword [rsp + 0xf0], rdi
xor ebp, dword [rsp + 0x98]
xor edx, eax
mov rdi, qword [rsp + 0x68]
mov eax, r14d
xor eax, dword [rsp + 0xd8]
xor r14d, edi
xor edx, dword [rsp + 0xf8]
mov qword [rsp + 0x60], rbp
mov rbp, qword [rsp + 0x90]
xor esi, ebp
mov qword [rsp + 0x58], r14
xor ebp, dword [rsp + 0x1d8]
mov r14, qword [rsp + 0x50]
xor eax, r14d
mov qword [rsp + 0x88], rsi
mov rsi, qword [rsp + 0x48]
xor r14d, dword [rsp + 0x20]
xor ecx, esi
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x108]
xor eax, dword [rsp + 0x80]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x70]
xor dword [rsp + 0x120], eax
mov eax, esi
xor eax, dword [rsp + 0xf8]
mov dword [rsp + 0x34], esi
xor dword [rsp + 0x34], edi
mov rdi, qword [rsp + 0x150]
mov qword [rsp + 0x40], rcx
mov ecx, esi
xor esi, dword [rsp + 0xe0]
xor ecx, dword [rsp + 0x98]
xor ecx, dword [rsp + 0x3c]
mov qword [rsp + 0x48], rsi
mov esi, dword [rsp + 0x34]
xor esi, dword [rsp + 0x28]
mov dword [rsp + 0x34], esi
mov esi, dword [rsp + 0x1d8]
xor esi, dword [rsp + 0xe0]
xor esi, dword [rsp + 0xd0]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x50], r14
mov r14d, dword [rsp + 0x24]
xor eax, r14d
xor r14d, dword [rsp + 0xb0]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x2c]
xor dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x38]
xor dword [rsp + 0x70], eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x1d8]
mov ebp, eax
xor dword [rsp + 0x1d8], edi
xor eax, dword [rsp + 0x20]
mov rdi, qword [rsp + 0xc8]
xor dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x2c]
xor edi, dword [rsp + 0xa0]
xor ebp, dword [rsp + 0x3c]
xor ebp, dword [rsp + 0xb8]
xor eax, dword [rsp + 0xc0]
mov dword [rsp + 0x2c], edi
mov edi, dword [rsp + 0x30]
xor edi, dword [rsp + 0x158]
mov dword [rsp + 0x30], edi
mov edi, r13d
xor edi, dword [rsp + 0x1d8]
mov dword [rsp + 0x98], edi
mov edi, r13d
xor edi, dword [rsp + 0x168]
xor edi, esi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0xa0], edi
mov edi, r9d
xor edi, dword [rsp + 0x28]
mov dword [rsp + 0xb0], edi
mov edi, r13d
mov dword [rsp + 0xf8], ebp
mov dword [rsp + 0x24], r14d
xor r10d, r14d
xor edi, r11d
mov r14d, dword [rsp + 0x2c]
xor edi, eax
mov dword [rsp + 0xc8], r10d
mov r11d, r13d
xor r11d, ebx
mov dword [rsp + 0xb8], edi
mov rbx, qword [rsp + 0x48]
xor r11d, ebp
mov rdi, qword [rsp + 0x50]
mov r10d, r15d
xor r10d, dword [rsp + 0x2c]
xor dword [rsp + 0x20], edi
mov ebp, dword [rsp + 0x24]
xor ebp, dword [rsp + 0x70]
mov dword [rsp + 0xd0], r10d
mov r10d, r12d
mov dword [rsp + 0xc0], r11d
mov r11d, dword [rsp + 0x30]
xor r10d, r11d
mov dword [rsp + 0xd8], r10d
mov esi, r11d
xor esi, eax
mov r10d, r11d
xor r10d, dword [rsp + 0x28]
mov eax, r11d
xor eax, dword [rsp + 0x1d8]
xor r10d, ecx
xor eax, dword [rsp + 0x34]
xor r11d, ebx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x100]
xor esi, eax
mov dword [rsp + 0x3c], r10d
mov r10, qword [rsp + 0x80]
xor dword [rsp + 0xf8], r10d
mov r10, qword [rsp + 0x90]
mov dword [rsp + 0x30], r11d
xor r14d, r10d
mov r11d, r10d
xor r11d, ecx
mov ecx, r10d
xor r11d, dword [rsp + 0x108]
xor ecx, edi
mov rdi, qword [rsp + 0x88]
xor dword [rsp + 0x80], edi
mov dword [rsp + 0x50], ecx
mov ecx, r10d
xor dword [rsp + 0x50], edx
xor ecx, ebx
xor ecx, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0xe0], ecx
xor r10d, ebx
mov rcx, qword [rsp + 0x60]
xor dword [rsp + 0x34], ecx
mov qword [rsp + 0x90], r10
mov r10, qword [rsp + 0x120]
xor eax, r10d
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x40]
xor dword [rsp + 0x70], eax
mov dword [rsp + 0x60], eax
xor dword [rsp + 0x60], edx
mov edx, eax
xor edx, ecx
mov ecx, eax
xor ecx, ebx
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0xa8]
mov dword [rsp + 0x48], ecx
mov rcx, qword [rsp + 0x128]
xor dword [rsp + 0x48], edx
xor eax, ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x68]
xor eax, dword [rsp + 0x118]
xor dword [rsp + 0x58], r8d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x60]
xor eax, dword [rsp + 0xe8]
xor r10d, dword [rsp + 0xf0]
xor r12d, dword [rsp + 0x148]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x108]
xor eax, dword [rsp + 0x78]
xor dword [rsp + 0x78], r12d
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x110]
xor edi, eax
mov qword [rsp + 0x120], r10
mov r10d, eax
mov qword [rsp + 0x88], rdi
mov edi, eax
mov ebx, eax
mov eax, dword [rsp + 0x164]
xor r10d, r9d
xor dword [rsp + 0x98], eax
xor r10d, ecx
mov r9d, dword [rsp + 0x130]
xor edi, r8d
xor dword [rsp + 0xb0], r9d
mov r8d, dword [rsp + 0x134]
xor dword [rsp + 0xb8], r8d
mov ecx, dword [rsp + 0x148]
xor dword [rsp + 0xc8], ecx
mov eax, dword [rsp + 0x14c]
xor dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x138]
xor dword [rsp + 0xc0], eax
mov ecx, dword [rsp + 0x16c]
xor dword [rsp + 0xd0], ecx
mov ecx, dword [rsp + 0x160]
xor dword [rsp + 0xd8], ecx
xor ebx, dword [rsp + 0x118]
mov dword [rsp + 0x24], eax
mov eax, ecx
xor r15d, dword [rsp + 0x24]
xor eax, r8d
xor dword [rsp + 0xe8], r15d
mov r8d, ecx
mov r15d, dword [rsp + 0x16c]
xor r13d, r15d
xor dword [rsp + 0xf0], r13d
xor r8d, dword [rsp + 0x164]
mov r13, qword [rsp + 0x40]
xor r10d, r8d
xor dword [rsp + 0x68], r8d
xor r13d, r15d
mov dword [rsp + 0x1d8], eax
mov eax, ecx
xor eax, r9d
mov qword [rsp + 0x40], r13
mov r13d, dword [rsp + 0x108]
mov r9d, ecx
xor r9d, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x13c]
xor ecx, dword [rsp + 0x14c]
xor r9d, dword [rsp + 0x168]
xor edx, ecx
mov ecx, dword [rsp + 0x140]
xor r13d, dword [rsp + 0x1d8]
xor ecx, eax
xor ebx, ecx
mov dword [rsp + 0xa8], edx
mov ecx, dword [rsp + 0x144]
mov edx, r15d
xor ecx, dword [rsp + 0x1d8]
xor edx, eax
xor dword [rsp + 0x60], edx
xor edi, ecx
mov dword [rsp + 0x38], edx
mov ecx, r15d
xor ecx, dword [rsp + 0x160]
mov eax, r15d
xor eax, dword [rsp + 0x14c]
mov rdx, qword [rsp + 0x120]
xor dword [rsp + 0x48], ecx
xor dword [rsp + 0x58], eax
xor edx, dword [rsp + 0x24]
mov qword [rsp + 0x120], rdx
xor dword [rsp + 0x34], ecx
mov r12d, dword [rsp + 0x148]
mov edx, r12d
xor dword [rsp + 0x88], r12d
xor edx, eax
xor dword [rsp + 0x90], r12d
mov eax, r12d
rol dword [rsp + 0x60], 2
xor eax, r15d
xor dword [rsp + 0xe0], eax
xor dword [rsp + 0x20], eax
mov dword [rsp + 0x2c], edx
mov edx, r12d
mov r15d, dword [rsp + 0x2c]
xor edx, r8d
mov r8d, dword [rsp + 0x24]
xor r12d, r8d
xor dword [rsp + 0x30], r8d
mov eax, r8d
xor dword [rsp + 0x50], edx
xor eax, ecx
xor dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x120]
xor dword [rsp + 0x28], r12d
rol eax, 2
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x88]
rol eax, 2
mov dword [rsp + 0x130], eax
mov eax, r15d
xor r15d, dword [rsp + 0xf8]
xor eax, r11d
rol eax, 3
mov dword [rsp + 0x144], eax
mov eax, dword [rsp + 0x38]
mov ecx, eax
xor ecx, dword [rsp + 0x100]
xor eax, ebp
mov ebp, dword [rsp + 0xa8]
rol eax, 4
rol ecx, 3
mov dword [rsp + 0x140], ecx
mov ecx, dword [rsp + 0x1d8]
mov r11d, ecx
xor r11d, dword [rsp + 0x80]
xor ecx, r14d
rol r11d, 3
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x13c], r11d
mov r11d, r8d
xor r11d, dword [rsp + 0x70]
xor r8d, edx
xor r8d, esi
rol ecx, 4
shl rbp, 0x20
shl rbx, 0x20
rol edi, 1
mov dword [rsp + 0x1d8], ecx
rol r13d, 2
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 + 0xa0]
shl rsi, 0x20
or rsi, rax
mov ecx, edi
mov eax, dword [rsp + 0xb0]
or rbp, rax
mov dword [rsp + 0x108], r13d
mov eax, dword [rsp + 0xb8]
or rbx, rax
mov dword [rsp + 0x134], r11d
mov eax, dword [rsp + 0xc0]
shl rcx, 0x20
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x2c], r15d
mov r12d, dword [rsp + 0xe8]
or rcx, rax
mov rdi, qword [rsp + 0x78]
mov eax, dword [rsp + 0xc8]
mov r15, qword [rsp + 0xf0]
rol r12d, 1
rol edi, 1
rol r15d, 1
shl r12, 0x20
or r12, rax
shl rdi, 0x20
mov eax, dword [rsp + 0xd0]
or rdi, rax
shl r15, 0x20
mov eax, dword [rsp + 0xd8]
or r15, rax
xor r13d, r13d
mov rax, rsi
xor r15, 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, rdi
or rax, r12
rol edx, 2
xor rax, rcx
not rdi
and rcx, r12
xor rdi, rcx
xor rcx, r15
and r15, rax
not rax
xor r15, rdi
or rdi, rcx
xor r12, rdi
xor rcx, r15
xor r12, rsi
xor rcx, r14
xor edx, r12d
shr rsi, 0x20
rol esi, 2
xor r10d, ecx
and r15, rdi
shr r14, 0x20
xor rdi, rax
rol r14d, 2
mov rax, rcx
xor rdi, 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, r12
shr rax, 0x20
xor esi, eax
rol r12d, 0xe
xor r12d, edx
rol eax, 0xe
xor eax, esi
mov r8d, r12d
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 r12d, ecx
shl r12, 0x20
or r12, rax
rol edx, 2
mov rax, rdi
shr rax, 0x20
xor edx, edi
xor r15, rbx
shr rbp, 0x20
rol ebp, 2
xor ebp, eax
rol edi, 0xe
rol eax, 0xe
xor edi, edx
xor eax, ebp
rol edx, 0xa
mov ecx, eax
mov r8d, edi
mov eax, edx
mov edx, ebx
xor rax, r8
shr rbx, 0x20
rol ebx, 2
rol r14d, 0xa
xor r14, r9
rol ebp, 0xa
xor rbp, rcx
rol r8d, 1
rol ecx, 1
mov edi, ecx
rol edx, 2
xor edx, r15d
shl r14, 0x20
shl rbp, 0x20
or rbp, rax
shl rdi, 0x20
mov eax, r8d
or rdi, 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 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 ecx, r9d
shl rcx, 0x20
mov eax, r10d
xor rax, r11
rol r11d, 1
or r14, rax
mov eax, r11d
xor r14, qword [rdx + r13 + 0x46e760]
or rcx, rax
xor rcx, qword [rdx + r13 + 0x46e660]
add r13, 8
cmp r13, 0x40
jl 0x1401a337e
mov r13d, dword [rsp + 0x134]
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xa8], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x118], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x100], rax
mov rax, rbx
shr rax, 0x20
mov qword [rsp + 0xe8], rax
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0x78], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0xf0], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x110], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x40]
mov eax, eax
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0xc8], rbp
mov ebp, dword [rsp + 0xe0]
mov qword [rsp + 0xd0], rsi
mov esi, dword [rsp + 0x34]
mov qword [rsp + 0x150], r14
mov r14d, dword [rsp + 0x50]
mov qword [rsp + 0xb0], r12
mov r12d, dword [rsp + 0x144]
mov qword [rsp + 0xa0], rdi
mov edi, dword [rsp + 0x140]
mov qword [rsp + 0x158], r15
mov r15d, dword [rsp + 0x13c]
mov ebx, ebx
shl rbx, 0x20
or rbx, rax
shl rbp, 0x20
mov eax, dword [rsp + 0x48]
or rbp, rax
shl rsi, 0x20
mov eax, dword [rsp + 0x68]
or rsi, rax
shl r14, 0x20
mov eax, dword [rsp + 0x58]
or r14, rax
shl r12, 0x20
mov eax, dword [rsp + 0x60]
or r12, rax
shl rdi, 0x20
mov eax, dword [rsp + 0x108]
or rdi, rax
shl r15, 0x20
mov eax, dword [rsp + 0x138]
or r15, rax
shl r13, 0x20
mov eax, dword [rsp + 0x130]
or r13, rax
mov qword [rsp + 0xb8], rcx
and qword [rsp + 0x40], 0
mov rax, rbp
xor r13, r12
or rax, rbx
not rbp
xor rax, r14
xor rsi, r14
and r14, rbx
xor rbp, r14
xor r14, rsi
and rsi, rax
not rax
xor rsi, rbp
or rbp, r14
xor rbx, rbp
xor r14, rsi
and rsi, rbp
mov r10d, ebx
xor rbp, rax
rol r10d, 2
mov edx, ebp
mov rax, r15
or rax, rdi
rol edx, 2
xor rax, r12
not r15
and r12, rdi
xor r15, r12
xor r12, r13
and r13, rax
not rax
xor r13, r15
or r15, r12
xor rdi, r15
xor r12, r13
xor rdi, rbp
xor r12, rbx
xor edx, edi
shr rbp, 0x20
rol ebp, 2
and r13, r15
xor r15, rax
shr rbx, 0x20
mov rax, r12
rol ebx, 2
shr rax, 0x20
xor r10d, r12d
xor ebx, eax
rol r12d, 0xe
rol eax, 0xe
xor r15, rsi
xor eax, ebx
xor r12d, r10d
mov r9d, eax
mov rax, rdi
shr rax, 0x20
xor ebp, eax
rol edi, 0xe
xor edi, edx
rol eax, 0xe
xor eax, ebp
mov r8d, edi
mov ecx, eax
rol ebp, 0xa
rol edx, 0xa
xor rbp, rcx
mov eax, edx
mov edx, esi
xor rax, r8
rol ecx, 1
shl rbp, 0x20
or rbp, rax
rol r8d, 1
mov eax, r8d
mov edi, ecx
shl rdi, 0x20
or rdi, rax
rol edx, 2
mov rax, r15
mov r11d, r12d
shr rax, 0x20
xor edx, r15d
xor r13, r14
shr rsi, 0x20
rol esi, 2
xor esi, eax
rol r15d, 0xe
rol eax, 0xe
xor r15d, edx
xor eax, esi
rol edx, 0xa
mov ecx, eax
mov r8d, r15d
mov eax, edx
mov edx, r14d
xor rax, r8
shr r14, 0x20
rol r14d, 2
rol ebx, 0xa
xor rbx, r9
rol esi, 0xa
xor rsi, rcx
rol r8d, 1
rol ecx, 1
mov r15d, ecx
rol edx, 2
xor edx, r13d
shl rbx, 0x20
shl rsi, 0x20
or rsi, rax
shl r15, 0x20
mov eax, r8d
or r15, rax
rol r10d, 0xa
mov rax, r13
rol r9d, 1
shr rax, 0x20
xor r14d, eax
rol r13d, 0xe
rol eax, 0xe
xor r13d, edx
xor eax, r14d
mov r8d, r13d
mov ecx, eax
rol r14d, 0xa
xor r14, rcx
rol edx, 0xa
rol ecx, 1
mov r13d, ecx
mov rcx, qword [rsp + 0x40]
mov eax, edx
lea rdx, [0x140000000]
xor rax, r8
shl r14, 0x20
or r14, rax
rol r8d, 1
shl r13, 0x20
mov eax, r8d
or r13, rax
mov r12d, r9d
shl r12, 0x20
mov eax, r10d
xor rax, r11
rol r11d, 1
or rbx, rax
mov eax, r11d
xor rbx, qword [rcx + rdx + 0x46e840]
or r12, rax
xor r12, qword [rcx + rdx + 0x46e800]
add rcx, 8
mov qword [rsp + 0x40], rcx
cmp rcx, 0x40
jl 0x1401a36ac
mov ecx, dword [rsp + 0x24]
mov rax, rbx
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x1d8]
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x3c]
shr rax, 0x20
mov qword [rsp + 0x68], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x50], rax
mov rax, rsi
shr rax, 0x20
mov qword [rsp + 0x98], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xf8], rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x80], rax
mov rax, rdi
shr rax, 0x20
mov qword [rsp + 0x70], rax
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0x90], rax
mov rax, r13
shr rax, 0x20
mov qword [rsp + 0x88], rdi
mov edi, dword [rsp + 0x30]
mov qword [rsp + 0x58], r13
xor r13d, r13d
mov qword [rsp + 0xd8], rbx
mov ebx, dword [rsp + 0x2c]
mov qword [rsp + 0x60], rbp
lea rbp, [0x140000000]
mov qword [rsp + 0x48], rax
xor r9d, ecx
xor r10d, r11d
mov eax, edx
not edx
or eax, edi
xor eax, r11d
and r11d, edi
xor edx, r11d
xor r11d, r10d
and r10d, eax
not eax
xor r10d, edx
or edx, r11d
xor edi, edx
xor r11d, r10d
and r10d, edx
xor edx, eax
mov eax, r8d
not r8d
or eax, ebx
xor eax, ecx
and ecx, ebx
xor r8d, ecx
xor ecx, r9d
and r9d, eax
not eax
xor r9d, r8d
or r8d, ecx
xor ecx, r9d
xor ebx, r8d
xor ecx, edi
and r9d, r8d
xor ebx, edx
rol edi, 2
xor edi, ecx
rol edx, 2
xor r9d, r11d
rol ecx, 0xe
xor ecx, edi
rol r11d, 2
xor edx, ebx
rol edi, 0xa
xor edi, dword [rbp + r13 + 0x46e7c0]
xor r11d, r9d
xor r8d, eax
rol ebx, 0xe
xor r8d, r10d
rol r9d, 0xe
rol r10d, 2
xor ebx, edx
xor r10d, r8d
rol edx, 0xa
xor r9d, r11d
rol r8d, 0xe
xor r8d, r10d
rol r11d, 0xa
xor edi, ecx
rol r10d, 0xa
rol ecx, 1
xor edx, ebx
xor ecx, dword [rbp + r13 + 0x46e740]
xor r10d, r8d
xor r11d, r9d
rol ebx, 1
add r13, 4
rol r8d, 1
rol r9d, 1
cmp r13, 0x20
jl 0x1401a3945
and qword [rsp + 0x40], 0
mov rbp, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov dword [rsp + 0x30], edi
mov rdi, qword [rsp + 0x1c0]
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x1d8], r9d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x24], ecx
jmp 0x1401a3a6d
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x3c]
cmp qword [rsp + 0x1d0], 0
mov rbx, qword [rsp + 0xd8]
ja 0x1401a282a
mov rax, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x150]
mov dword [rdi + 0x2c], eax
mov rax, qword [rsp + 0xc8]
mov dword [rdi + 0x30], eax
mov rax, qword [rsp + 0xc0]
mov dword [rdi + 0x34], eax
mov rax, qword [rsp + 0xb8]
mov dword [rdi + 0x38], eax
mov rax, qword [rsp + 0xb0]
mov dword [rdi + 0x3c], eax
mov rax, qword [rsp + 0xa0]
mov dword [rdi + 0x40], eax
mov rax, qword [rsp + 0x158]
mov dword [rdi + 0x44], eax
mov rax, qword [rsp + 0xa8]
mov dword [rdi + 0x48], eax
mov rax, qword [rsp + 0x118]
mov dword [rdi + 0x4c], eax
mov rax, qword [rsp + 0x100]
mov dword [rdi + 0x50], eax
mov rax, qword [rsp + 0xe8]
mov dword [rdi + 0x54], eax
mov rax, qword [rsp + 0x78]
mov dword [rdi + 0x58], eax
mov rax, qword [rsp + 0xf0]
mov dword [rdi + 0x5c], eax
mov rax, qword [rsp + 0x110]
mov dword [rdi + 0x60], eax
mov rax, qword [rsp + 0x128]
mov dword [rdi + 0x64], eax
mov rax, qword [rsp + 0x88]
mov dword [rdi + 0x7c], eax
mov rax, qword [rsp + 0x50]
mov dword [rdi + 0x8c], eax
mov rax, qword [rsp + 0x98]
mov dword [rdi + 0x90], eax
mov rax, qword [rsp + 0xf8]
mov dword [rdi + 0x94], eax
mov rax, qword [rsp + 0x80]
mov dword [rdi + 0x98], eax
mov rax, qword [rsp + 0x70]
mov dword [rdi + 0x9c], eax
mov rax, qword [rsp + 0x90]
mov dword [rdi + 0xa0], eax
mov eax, dword [rsp + 0x30]
mov dword [rdi + 0x68], ebx
mov rbx, qword [rsp + 0x48]
mov dword [rdi + 0x84], r13d
mov r13, qword [rsp + 0x68]
mov dword [rdi + 0xa8], eax
mov eax, dword [rsp + 0x2c]
mov dword [rdi + 0x28], r9d
mov r9d, dword [rsp + 0x1d8]
mov dword [rdi + 0xa4], ebx
mov rbx, qword [rsp + 0x40]
mov dword [rdi + 0xbc], eax
mov dword [rdi + 0x6c], ebp
mov dword [rdi + 0x70], esi
mov dword [rdi + 0x74], r14d
mov dword [rdi + 0x78], r12d
mov dword [rdi + 0x80], r15d
mov dword [rdi + 0x88], r13d
mov dword [rdi + 0xac], edx
mov dword [rdi + 0xb0], r10d
mov dword [rdi + 0xb4], r11d
mov dword [rdi + 0xb8], ecx
mov dword [rdi + 0xc0], r8d
mov dword [rdi + 0xc4], r9d
mov qword [rdi + 0x20], rbx
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret