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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov qword [rsp + 0x158], rdx
mov rdx, qword [rcx + 0x20]
mov rax, rcx
mov ecx, 0x20
mov qword [rsp + 0x160], r8
sub rcx, rdx
cmp r8, rcx
jae 0x1401e96f9
lea r8, [rax + rdx]
mov rsi, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
mov rdi, r8
add rdx, qword [rsp + 0x160]
rep movsb byte [rdi], byte [rsi]
jmp 0x1401eabac
mov ebx, dword [rax + 0x28]
mov esi, dword [rax + 0x2c]
mov r15d, dword [rax + 0x4c]
mov dword [rsp + 0x34], ebx
mov ebx, dword [rax + 0x30]
mov dword [rsp + 0x3c], esi
mov esi, dword [rax + 0x34]
mov dword [rsp + 0x44], ebx
mov ebx, dword [rax + 0x38]
mov dword [rsp + 0x4c], esi
mov esi, dword [rax + 0x3c]
mov dword [rsp + 0x54], ebx
mov ebx, dword [rax + 0x40]
mov dword [rsp + 0x5c], esi
mov esi, dword [rax + 0x44]
mov dword [rsp + 0x64], ebx
mov ebx, dword [rax + 0x48]
mov dword [rsp + 0x6c], esi
mov esi, dword [rax + 0x50]
mov dword [rsp + 0x38], ebx
mov ebx, dword [rax + 0x54]
mov dword [rsp + 0x48], esi
mov esi, dword [rax + 0x58]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rax + 0x5c]
mov dword [rsp + 0x58], esi
mov esi, dword [rax + 0x60]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rax + 0x64]
mov dword [rsp + 0x68], esi
mov esi, dword [rax + 0x68]
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x74], esi
mov ebx, dword [rax + 0x6c]
mov esi, dword [rax + 0x74]
mov ecx, dword [rax + 0xac]
mov dword [rsp + 0x80], ebx
mov ebx, dword [rax + 0x78]
mov r13d, dword [rax + 0x70]
mov ebp, dword [rax + 0x84]
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x8c], esi
mov esi, dword [rax + 0x7c]
mov dword [rsp + 0x98], ebx
mov ebx, dword [rax + 0x80]
mov dword [rsp + 0xa0], esi
mov esi, dword [rax + 0x88]
mov dword [rsp + 0xa8], ebx
mov ebx, dword [rax + 0x8c]
mov dword [rsp + 0x78], esi
mov esi, dword [rax + 0x90]
mov dword [rsp + 0x84], ebx
mov ebx, dword [rax + 0x94]
mov dword [rsp + 0x88], esi
mov esi, dword [rax + 0x98]
mov dword [rsp + 0x90], ebx
mov ebx, dword [rax + 0x9c]
mov dword [rsp + 0x9c], esi
mov esi, dword [rax + 0xa0]
mov dword [rsp + 0xa4], ebx
mov ebx, dword [rax + 0xa4]
mov dword [rsp + 0xac], esi
mov esi, dword [rax + 0xa8]
mov dword [rsp + 0xb0], ebx
mov dword [rsp + 0x18], esi
mov ebx, dword [rax + 0xb0]
mov esi, dword [rax + 0xb4]
mov ecx, dword [rax + 0xb8]
mov dword [rsp + 0x2c], ebx
mov ebx, dword [rax + 0xbc]
mov dword [rsp + 0x14], esi
mov esi, dword [rax + 0xc0]
mov dword [rsp + 0x1c], ecx
mov ecx, dword [rax + 0xc4]
mov dword [rsp + 0x10], ebx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x30], ecx
cmp qword [rsp + 0x160], 0
je 0x1401eaa44
mov r8d, 0x20
lea r9, [rax + rdx]
mov rsi, qword [rsp + 0x158]
sub r8, rdx
cmp r8, qword [rsp + 0x160]
mov rdi, r9
cmova r8, qword [rsp + 0x160]
sub qword [rsp + 0x160], r8
mov rcx, r8
add rdx, r8
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x158], rsi
cmp rdx, 0x20
jne 0x1401e9861
mov ebx, dword [rax]
bswap ebx
mov dword [rsp + 0xb4], ebx
mov edi, dword [rax + 4]
bswap edi
mov dword [rsp + 0x40], edi
mov ebx, dword [rax + 8]
bswap ebx
mov dword [rsp + 0xb8], ebx
mov edi, dword [rax + 0xc]
bswap edi
mov dword [rsp + 0xbc], edi
mov edx, dword [rax + 0x10]
bswap edx
mov dword [rsp + 8], edx
mov r12d, dword [rax + 0x14]
bswap r12d
mov ebx, dword [rax + 0x18]
bswap ebx
mov dword [rsp + 0xc], ebx
mov ebx, dword [rax + 0x1c]
bswap ebx
mov edx, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x34]
mov dword [rsp + 0x20], ebx
mov esi, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x44]
xor r10d, edx
mov edx, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x4c]
xor esi, r15d
mov ebx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x5c]
xor r10d, edx
mov edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0xa0]
mov edi, dword [rsp + 0x70]
xor r10d, edx
mov edx, dword [rsp + 0x80]
xor esi, edx
mov edx, dword [rsp + 0x84]
xor esi, edx
mov edx, dword [rsp + 0x48]
xor r9d, edx
mov edx, dword [rsp + 0x88]
xor r9d, r13d
xor r9d, edx
mov edx, dword [rsp + 0x50]
xor r8d, edx
mov edx, dword [rsp + 0x8c]
xor r8d, edx
mov edx, dword [rsp + 0x90]
xor r8d, edx
mov edx, dword [rsp + 0x58]
xor ebx, edx
mov edx, dword [rsp + 0x98]
xor ebx, edx
mov edx, dword [rsp + 0x9c]
xor ebx, edx
mov edx, dword [rsp + 0x60]
xor r11d, edx
mov edx, dword [rsp + 0xa4]
xor r11d, ecx
mov ecx, dword [rsp + 0x68]
xor r11d, edx
mov edx, dword [rsp + 0x64]
xor edx, ecx
mov ecx, dword [rsp + 0xa8]
xor edx, ecx
mov ecx, dword [rsp + 0xac]
xor edx, ecx
mov ecx, dword [rsp + 0x6c]
xor ecx, edi
mov edi, dword [rsp + 0xb0]
xor ecx, ebp
xor ecx, edi
mov edi, dword [rsp + 0x24]
xor esi, edi
mov edi, dword [rsp + 0x1c]
xor ebx, edi
mov edi, dword [rsp + 0x10]
mov r14d, dword [rsp + 0x34]
xor r11d, edi
mov edi, dword [rsp + 0x28]
xor edx, edi
mov edi, dword [rsp + 0x30]
xor ecx, edi
mov edi, dword [rsp + 0x14]
xor r8d, edi
mov edi, dword [rsp + 0x2c]
xor r8d, ecx
xor r9d, edi
mov edi, dword [rsp + 0x18]
xor r9d, ecx
xor r14d, ecx
xor ebp, edx
xor r13d, esi
xor r10d, edi
mov dword [rsp + 0xc0], r14d
mov r14d, dword [rsp + 0x3c]
xor r10d, ecx
mov edi, dword [rsp + 0x58]
xor r14d, r10d
xor r15d, r10d
mov dword [rsp + 0xc8], r14d
mov r14d, dword [rsp + 0x44]
xor edi, r8d
xor r14d, esi
mov dword [rsp + 0x44], r14d
mov r14d, dword [rsp + 0x4c]
xor r14d, r9d
mov dword [rsp + 0x4c], r14d
mov r14d, dword [rsp + 0x54]
xor r14d, r8d
mov dword [rsp + 0x54], r14d
mov r14d, dword [rsp + 0x5c]
xor r14d, ebx
mov dword [rsp + 0x5c], r14d
mov r14d, dword [rsp + 0x64]
xor r14d, r11d
mov dword [rsp + 0x64], r14d
mov r14d, dword [rsp + 0x6c]
xor r14d, edx
mov dword [rsp + 0x34], r14d
mov r14d, dword [rsp + 0x38]
xor r14d, ecx
mov dword [rsp + 0x6c], r14d
mov r14d, dword [rsp + 0x48]
xor r14d, esi
mov dword [rsp + 0x48], r14d
mov r14d, dword [rsp + 0x50]
mov dword [rsp + 0x50], edi
mov edi, dword [rsp + 0x60]
xor r14d, r9d
xor edi, ebx
mov dword [rsp + 0x58], edi
mov edi, dword [rsp + 0x68]
xor edi, r11d
mov dword [rsp + 0x60], edi
mov edi, dword [rsp + 0x70]
xor edi, edx
mov dword [rsp + 0x38], edi
mov edi, dword [rsp + 0x74]
xor edi, ecx
mov dword [rsp + 0x68], edi
mov edi, dword [rsp + 0x80]
xor edi, r10d
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x8c]
xor edi, r9d
mov dword [rsp + 0x74], edi
mov edi, dword [rsp + 0x98]
xor edi, r8d
mov dword [rsp + 0x80], edi
mov edi, dword [rsp + 0xa0]
xor edi, ebx
mov dword [rsp + 0x8c], edi
mov edi, dword [rsp + 0xa8]
xor edi, r11d
mov dword [rsp + 0x98], edi
mov edi, dword [rsp + 0x78]
xor edi, ecx
mov dword [rsp + 0x78], edi
mov edi, dword [rsp + 0x84]
xor edi, r10d
mov dword [rsp + 0x84], edi
mov edi, dword [rsp + 0x88]
xor edi, esi
mov dword [rsp + 0x88], edi
mov edi, dword [rsp + 0x90]
xor edi, r9d
mov dword [rsp + 0x90], edi
mov edi, dword [rsp + 0x9c]
xor edi, r8d
mov dword [rsp + 0x9c], edi
mov edi, dword [rsp + 0xa4]
xor edi, ebx
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0xac]
xor edi, r11d
mov dword [rsp + 0xa4], edi
mov edi, dword [rsp + 0xb0]
xor edi, edx
mov dword [rsp + 0x3c], edi
mov edi, dword [rsp + 0x18]
xor edi, ecx
mov dword [rsp + 0x18], edi
mov ecx, dword [rsp + 0x24]
xor ecx, r10d
mov r10d, dword [rsp + 0x2c]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x44]
xor r10d, esi
mov esi, dword [rsp + 0x14]
xor esi, r9d
mov r9d, dword [rsp + 0x28]
mov dword [rsp + 0x14], esi
mov esi, dword [rsp + 0x1c]
xor r9d, r11d
xor esi, r8d
mov r8d, dword [rsp + 0xc0]
mov dword [rsp + 0x1c], esi
mov esi, dword [rsp + 0x10]
xor esi, ebx
mov ebx, dword [rsp + 0x30]
mov dword [rsp + 0x2c], esi
mov esi, dword [rsp + 0x34]
xor edx, ebx
mov ebx, dword [rsp + 0x6c]
xor ecx, esi
xor r8d, esi
xor ebx, esi
mov esi, dword [rsp + 0x48]
xor ecx, r14d
xor r8d, r15d
mov dword [rsp + 0x28], ebx
mov ebx, dword [rsp + 0xc8]
xor r15d, r13d
mov dword [rsp + 0xac], ecx
mov ecx, dword [rsp + 0x4c]
xor ebx, esi
mov esi, dword [rsp + 0x58]
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0xa8], ebx
mov ebx, dword [rsp + 0x50]
xor ecx, ebx
mov ebx, dword [rsp + 0x34]
xor ebx, ecx
mov dword [rsp + 0xb0], ebx
mov ebx, dword [rsp + 0x54]
xor ebx, esi
mov esi, dword [rsp + 0x5c]
mov dword [rsp + 0xd0], ebx
mov ebx, dword [rsp + 0x60]
xor esi, ebx
mov ebx, dword [rsp + 0x64]
mov dword [rsp + 0xd4], esi
mov esi, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x6c]
xor ebx, esi
xor ecx, esi
xor r8d, esi
mov dword [rsp + 0x10], ebx
mov ebx, esi
mov esi, dword [rsp + 0x68]
xor esi, ebx
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x48], esi
mov esi, dword [rsp + 0x74]
xor ebx, r8d
mov r8d, dword [rsp + 0x68]
xor esi, ecx
mov ecx, dword [rsp + 0x80]
mov dword [rsp + 0x6c], ebx
mov dword [rsp + 0xd8], esi
mov ebx, dword [rsp + 0x50]
mov esi, dword [rsp + 0x38]
xor r14d, ecx
mov ecx, dword [rsp + 0x8c]
xor r14d, esi
xor ebx, ecx
mov esi, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x98]
mov dword [rsp + 0x38], ebx
mov ebx, dword [rsp + 0x78]
xor esi, ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x50], esi
mov esi, dword [rsp + 0x84]
xor ecx, ebp
xor r8d, ebp
xor ebx, ebp
xor r13d, ebp
xor esi, r8d
mov dword [rsp + 0x58], ebx
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x60], esi
mov esi, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x74]
xor ebx, esi
mov esi, dword [rsp + 0x9c]
mov dword [rsp + 0x68], ebx
mov ebx, dword [rsp + 0x90]
xor r8d, esi
mov esi, dword [rsp + 0x80]
xor r13d, ebx
mov ebx, dword [rsp + 0xa0]
xor ebp, r8d
xor esi, ebx
mov dword [rsp + 0x70], esi
mov ebx, dword [rsp + 0x8c]
mov esi, dword [rsp + 0xa4]
mov r8d, dword [rsp + 0x88]
mov r11d, dword [rsp + 0x98]
xor ebx, esi
mov dword [rsp + 0x74], ebx
mov ebx, dword [rsp + 0x3c]
xor r11d, ebx
xor r8d, ebx
mov esi, ebx
mov ebx, dword [rsp + 0x78]
xor ebx, esi
mov esi, edi
mov edi, dword [rsp + 0x3c]
xor esi, edi
mov dword [rsp + 0x78], esi
mov esi, dword [rsp + 0x24]
xor esi, ebx
mov ebx, dword [rsp + 0x14]
mov dword [rsp + 0x80], esi
mov esi, dword [rsp + 0x84]
xor ebx, r8d
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0x84], ebx
mov ebx, dword [rsp + 0x1c]
xor esi, r10d
xor r10d, edx
xor r8d, ebx
mov ebx, edi
mov edi, dword [rsp + 0x2c]
xor ebx, r8d
mov r8d, dword [rsp + 0x18]
mov dword [rsp + 0x3c], ebx
mov ebx, dword [rsp + 0x9c]
xor r8d, edx
xor ebx, edi
mov edi, dword [rsp + 0xa0]
mov dword [rsp + 0x88], ebx
mov ebx, dword [rsp + 0xa4]
xor edi, r9d
mov dword [rsp + 0x8c], edi
mov edi, dword [rsp + 0xc0]
xor ebx, edx
xor edi, edx
mov dword [rsp + 0x90], edi
mov edi, dword [rsp + 0xc8]
xor r8d, edi
mov edi, dword [rsp + 0x44]
mov dword [rsp + 0x18], r8d
mov r8d, dword [rsp + 0x24]
xor edi, r8d
mov dword [rsp + 0x44], edi
mov edi, dword [rsp + 0x4c]
xor r10d, edi
mov edi, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x14]
xor edi, r8d
mov r8d, dword [rsp + 0x1c]
xor edx, edi
mov edi, dword [rsp + 0x5c]
xor edi, r8d
mov r8d, dword [rsp + 0x2c]
mov dword [rsp + 0x14], edi
mov edi, dword [rsp + 0x64]
xor edi, r8d
mov r8d, dword [rsp + 0x10]
mov dword [rsp + 0x1c], edi
mov edi, dword [rsp + 0x34]
xor r9d, edi
mov edi, dword [rsp + 0xac]
xor edi, r8d
mov dword [rsp + 0x24], edi
mov edi, dword [rsp + 0x28]
xor edi, r8d
mov dword [rsp + 0x2c], edi
mov edi, dword [rsp + 0x90]
xor edi, r8d
mov r8d, dword [rsp + 0x18]
mov dword [rsp + 0x4c], edi
mov edi, dword [rsp + 0x2c]
xor edi, r8d
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x54], edi
mov edi, dword [rsp + 0x30]
xor edi, r8d
mov r8d, dword [rsp + 0x10]
mov dword [rsp + 0x5c], edi
mov edi, dword [rsp + 0xa8]
xor edi, r10d
xor r10d, r9d
xor edi, r8d
mov r8d, dword [rsp + 0x14]
mov dword [rsp + 0x64], edi
mov edi, dword [rsp + 0x24]
xor edi, edx
mov dword [rsp + 0x98], edi
mov edi, dword [rsp + 0xb0]
xor edi, r8d
mov r8d, dword [rsp + 0x1c]
mov dword [rsp + 0x9c], edi
mov edi, dword [rsp + 0xd0]
xor edi, r8d
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0xd4]
mov r8d, dword [rsp + 0x18]
mov dword [rsp + 0xc0], r10d
xor edi, r9d
mov r10d, dword [rsp + 0x80]
mov dword [rsp + 0xa4], edi
mov edi, dword [rsp + 0x78]
xor r8d, esi
xor esi, r13d
xor esi, ebx
mov dword [rsp + 0x2c], r8d
mov r8d, dword [rsp + 0x78]
xor edi, r9d
mov dword [rsp + 0xe8], esi
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x24], edi
mov edi, dword [rsp + 0x88]
xor r8d, ebx
xor edi, edx
mov edx, dword [rsp + 0x14]
mov dword [rsp + 0xc8], edi
mov edi, dword [rsp + 0x8c]
xor edx, edi
mov edi, dword [rsp + 0x58]
mov dword [rsp + 0xe0], edx
mov edx, dword [rsp + 0x1c]
xor edi, ebx
xor edx, ebx
mov dword [rsp + 0x14], edi
mov edi, dword [rsp + 0x60]
mov dword [rsp + 0x1c], edx
mov edx, dword [rsp + 0x84]
xor edi, r8d
xor edx, ebx
mov dword [rsp + 0x18], edi
mov ebx, dword [rsp + 0x8c]
xor edx, ebp
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0xf0], edx
mov edx, dword [rsp + 0x3c]
xor ebx, r11d
xor edi, r10d
xor esi, edx
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x78], edi
mov dword [rsp + 0xf4], esi
mov esi, dword [rsp + 0x88]
xor esi, edx
mov edx, r13d
mov dword [rsp + 0x88], esi
xor edx, r11d
mov dword [rsp + 0x8c], ebx
mov r10d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x48]
xor r10d, r11d
mov r8d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x28]
xor esi, r11d
xor r10d, ebx
mov ebx, dword [rsp + 0x60]
xor edx, r14d
xor edi, ecx
mov r13d, dword [rsp + 0xd4]
xor ebx, r15d
mov dword [rsp + 0x58], ebx
mov ebx, dword [rsp + 0xd8]
xor r8d, ebx
mov ebx, dword [rsp + 0x38]
xor r8d, r11d
mov r11d, dword [rsp + 0xd8]
xor ebx, ebp
mov ebp, dword [rsp + 0x70]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rsp + 0x50]
xor r11d, ecx
xor ebp, ebx
mov ebx, dword [rsp + 0x74]
xor ebx, ecx
mov dword [rsp + 0x68], ebx
mov ebx, dword [rsp + 0x48]
mov dword [rsp + 0x48], edi
mov edi, dword [rsp + 0x30]
xor ebx, ecx
xor edi, ebx
mov ebx, dword [rsp + 0xa8]
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x6c]
xor ebx, edi
mov edi, dword [rsp + 0x20]
mov dword [rsp + 0x6c], ebx
mov ebx, dword [rsp + 0xac]
xor ebx, r15d
xor ebx, ecx
mov ecx, dword [rsp + 0xb0]
mov dword [rsp + 0x74], ebx
mov ebx, dword [rsp + 0x50]
xor r11d, ecx
mov ecx, dword [rsp + 0xd0]
xor r14d, ecx
mov ecx, dword [rsp + 0x38]
xor r13d, ecx
mov ecx, dword [rsp + 0x10]
xor r13d, r12d
xor ecx, ebx
mov ebx, dword [rsp + 0xbc]
xor ebx, edi
mov edi, dword [rsp + 0xb8]
mov r15d, dword [rsp + 0x20]
mov dword [rsp + 0x50], r13d
xor r11d, ebx
mov r13d, dword [rsp + 0x20]
xor edi, r15d
mov r15d, dword [rsp + 0xb4]
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x34], edi
mov edi, dword [rsp + 0x20]
mov r11d, dword [rsp + 0xc]
xor r15d, edi
mov edi, dword [rsp + 8]
xor r14d, edi
mov edi, dword [rsp + 0xc]
xor edi, ecx
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0xa8], edi
mov edi, dword [rsp + 0xc]
xor r11d, ecx
mov ecx, dword [rsp + 0x40]
xor r13d, edi
xor ecx, edi
xor edi, esi
mov esi, dword [rsp + 0x58]
xor r10d, r13d
mov dword [rsp + 0xac], edi
xor esi, r15d
xor r8d, ecx
xor ecx, r12d
xor edx, r11d
mov dword [rsp + 0xd0], esi
mov esi, dword [rsp + 0x60]
mov dword [rsp + 0xd4], r8d
mov r8d, ecx
mov ecx, dword [rsp + 0x14]
xor esi, ebx
mov dword [rsp + 0xb0], r10d
mov r10d, r12d
mov dword [rsp + 0x10], esi
mov esi, dword [rsp + 8]
xor ecx, r12d
xor r10d, r15d
mov dword [rsp + 0xd8], ecx
mov ecx, dword [rsp + 0x18]
xor ebp, esi
mov esi, dword [rsp + 0x68]
xor esi, r12d
mov dword [rsp + 0x28], esi
mov esi, dword [rsp + 0xc]
xor esi, r12d
xor ecx, esi
mov dword [rsp + 0xf8], ecx
mov ecx, dword [rsp + 0x78]
xor ecx, r13d
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0xe8]
mov edi, dword [rsp + 8]
xor ecx, r10d
mov dword [rsp + 0xe8], ecx
mov ecx, dword [rsp + 0xf0]
xor ecx, r8d
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0xf4]
xor ecx, r11d
mov dword [rsp + 0x58], ecx
mov ecx, dword [rsp + 0x88]
xor ecx, ebx
mov dword [rsp + 0x60], ecx
mov ecx, dword [rsp + 0x8c]
xor ecx, edi
mov dword [rsp + 0x68], ecx
mov ecx, dword [rsp + 0x24]
xor ecx, edi
mov edi, dword [rsp + 0x80]
mov dword [rsp + 0x18], ecx
mov ecx, dword [rsp + 0x90]
xor ecx, r9d
xor ecx, edi
mov edi, dword [rsp + 8]
xor ecx, edi
xor ecx, r12d
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x2c]
xor ecx, esi
mov esi, dword [rsp + 0x44]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rsp + 0x84]
xor ecx, esi
mov esi, dword [rsp + 0x3c]
xor ecx, r9d
mov r9d, dword [rsp + 0x1c]
xor ecx, edi
xor ecx, r13d
mov dword [rsp + 0x14], ecx
mov ecx, dword [rsp + 0xc0]
xor ecx, esi
mov esi, dword [rsp + 0xc8]
xor ecx, edi
xor r8d, esi
mov esi, dword [rsp + 0xe0]
xor ecx, r10d
xor r11d, esi
mov esi, dword [rsp + 0x10]
xor r9d, ebx
rol edx, 2
rol ebp, 2
mov dword [rsp + 0x80], edx
rol ecx, 4
rol esi, 2
mov dword [rsp + 0x88], ebp
rol r9d, 4
lea rbp, [0x1404b3000]
mov dword [rsp + 0x84], esi
mov esi, dword [rsp + 0x28]
rol r8d, 4
rol r11d, 4
rol esi, 2
mov dword [rsp + 0x8c], esi
mov edx, dword [rsp + 0x58]
mov esi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x4c]
mov dword [rsp + 0x1c], ecx
rol edx, 3
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0xc0], edx
mov edx, dword [rsp + 0x68]
rol esi, 3
mov dword [rsp + 0x90], esi
mov esi, dword [rsp + 0x60]
rol edx, 3
mov r9d, dword [rsp + 0x70]
mov dword [rsp + 0x10], r8d
rol esi, 3
mov dword [rsp + 0xe0], edx
mov edx, dword [rsp + 0x20]
xor r9d, r15d
mov dword [rsp + 0xc8], esi
mov esi, dword [rsp + 0x40]
xor ecx, edx
shl r9, 0x20
mov r15d, dword [rsp + 0xc]
mov dword [rsp + 0x28], r11d
mov edx, dword [rsp + 0xb4]
shl rcx, 0x20
mov r8d, dword [rsp + 0xb8]
mov r10d, dword [rsp + 0xbc]
xor edx, ebx
mov ebx, dword [rsp + 0x34]
or rcx, rdx
mov edx, dword [rsp + 0x54]
xor edx, esi
or r9, rdx
mov edx, dword [rsp + 0x6c]
xor edx, esi
mov esi, dword [rsp + 0x5c]
shl rdx, 0x20
xor r8d, esi
mov esi, dword [rsp + 0x64]
or rdx, r8
mov r8d, dword [rsp + 0x74]
xor r10d, esi
mov esi, r14d
xor r8d, ebx
mov ebx, dword [rsp + 0x38]
shl r8, 0x20
or r8, r10
mov r10d, dword [rsp + 0x98]
rol ebx, 1
shl rbx, 0x20
xor r10d, edi
mov edi, dword [rsp + 0x50]
or rbx, r10
mov r10d, dword [rsp + 0x9c]
rol esi, 1
shl rsi, 0x20
rol edi, 1
xor r10d, r12d
shl rdi, 0x20
lea r12, [0x1404b2fc0]
or rsi, r10
mov r10d, dword [rsp + 0xa0]
xor r10d, r15d
or rdi, r10
mov r10d, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0xa4]
rol r10d, 1
shl r10, 0x20
xor r11d, r15d
or r10, r11
mov r11, r9
xor rdx, r8
mov r13, rdi
xor r10, rbx
or r11, rcx
or r13, rsi
lea r15, [0x1404b3040]
xor r11, r8
and r8, rcx
xor r13, rbx
and rbx, rsi
xor r9, r8
xor r8, rdx
and rdx, r11
xor rdi, rbx
not r9
not rdi
xor rdx, r9
or r9, r8
xor rcx, r9
xor r8, rdx
xor r11, r9
and rdx, r9
mov r9, rbx
mov r14d, ecx
not r11
xor r9, r10
and r10, r13
rol r14d, 2
xor r10, rdi
or rdi, r9
xor r9, r10
xor rsi, rdi
and r10, rdi
xor r9, rcx
xor r14d, r9d
mov rbx, r9
rol r9d, 0xe
xor r9d, r14d
shr rbx, 0x20
rol r14d, 0xa
shr rcx, 0x20
xor rsi, r11
rol ecx, 2
xor r14d, r9d
rol r9d, 1
xor ecx, ebx
rol ebx, 0xe
xor ebx, ecx
rol ecx, 0xa
xor ecx, ebx
rol ebx, 1
shl rcx, 0x20
shl rbx, 0x20
or rcx, r14
or rbx, r9
mov r14, rsi
mov r9d, r11d
shr r11, 0x20
shr r14, 0x20
rol r11d, 2
rol r9d, 2
xor r11d, r14d
rol r14d, 0xe
xor r9d, esi
xor r14d, r11d
rol esi, 0xe
rol r11d, 0xa
xor esi, r9d
rol r9d, 0xa
xor r11d, r14d
xor r9d, esi
rol r14d, 1
shl r11, 0x20
or r9, r11
shl r14, 0x20
xor r13, rdi
mov r11d, edx
rol r11d, 2
xor r13, rdx
shr rdx, 0x20
xor r10, r8
rol edx, 2
not r13
rol esi, 1
mov rdi, r13
xor r11d, r13d
rol r13d, 0xe
or rsi, r14
shr rdi, 0x20
xor r13d, r11d
rol r11d, 0xa
xor edx, edi
rol edi, 0xe
xor r11d, r13d
xor edi, edx
rol edx, 0xa
xor edx, edi
rol edi, 1
rol r13d, 1
shl rdi, 0x20
or rdi, r13
mov r13d, r8d
shl rdx, 0x20
rol r13d, 2
or rdx, r11
mov r11, r10
xor r13d, r10d
rol r10d, 0xe
xor r10d, r13d
shr r11, 0x20
rol r13d, 0xa
shr r8, 0x20
xor rcx, qword [rbp]
add rbp, 8
rol r8d, 2
xor r13d, r10d
rol r10d, 1
xor rbx, qword [r12]
xor r8d, r11d
rol r11d, 0xe
add r12, 8
xor r11d, r8d
rol r8d, 0xa
xor r8d, r11d
rol r11d, 1
shl r8, 0x20
shl r11, 0x20
or r8, r13
or r10, r11
cmp r15, rbp
jne 0x1401ea400
mov dword [rsp + 0x54], ebx
shr rbx, 0x20
mov r11, qword [rsp + 0x78]
lea rbp, [0x1404b2f40]
mov dword [rsp + 0x44], edx
shr rdx, 0x20
lea r12, [0x1404b2f00]
mov dword [rsp + 0x58], ebx
mov rbx, qword [rsp + 0xd8]
shl r11, 0x20
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0xac]
mov dword [rsp + 0x5c], esi
shr rsi, 0x20
shl rbx, 0x20
mov dword [rsp + 0x60], esi
mov rsi, qword [rsp + 0xf8]
or rbx, rdx
mov edx, dword [rsp + 0xb0]
mov dword [rsp + 0x3c], r9d
shr r9, 0x20
shl rsi, 0x20
mov r15d, r9d
mov dword [rsp + 0x6c], r10d
mov r9, qword [rsp + 0xe8]
or rsi, rdx
mov edx, dword [rsp + 0xd0]
shr r10, 0x20
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x70], r10d
shl r9, 0x20
mov r10, qword [rsp + 0x90]
shr rcx, 0x20
or r11, rdx
mov edx, dword [rsp + 0xd4]
mov dword [rsp + 0x4c], r8d
shr r8, 0x20
mov dword [rsp + 0x50], r8d
shl r10, 0x20
mov r8, qword [rsp + 0xc0]
or r9, rdx
mov edx, dword [rsp + 0x80]
mov dword [rsp + 0x38], ecx
shl r8, 0x20
mov rcx, qword [rsp + 0xc8]
mov dword [rsp + 0x64], edi
shr rdi, 0x20
or r10, rdx
mov edx, dword [rsp + 0x84]
mov dword [rsp + 0x68], edi
shl rcx, 0x20
mov edi, dword [rsp + 0x8c]
or r8, rdx
mov edx, dword [rsp + 0x88]
or rcx, rdx
mov rdx, qword [rsp + 0xe0]
shl rdx, 0x20
or rdx, rdi
mov rdi, rsi
xor r11, r9
mov r13, rcx
xor rdx, r10
or rdi, rbx
or r13, r8
xor rdi, r9
and r9, rbx
xor r13, r10
xor rsi, r9
xor r9, r11
and r11, rdi
not rsi
xor r11, rsi
or rsi, r9
xor rbx, rsi
xor r9, r11
xor rdi, rsi
and r11, rsi
mov rsi, r10
mov r14d, ebx
not rdi
and rsi, r8
rol r14d, 2
xor rcx, rsi
xor rsi, rdx
and rdx, r13
not rcx
xor rdx, rcx
or rcx, rsi
xor rsi, rdx
xor r8, rcx
and rdx, rcx
xor rsi, rbx
xor r14d, esi
mov r10, rsi
rol esi, 0xe
xor esi, r14d
shr r10, 0x20
rol r14d, 0xa
shr rbx, 0x20
xor r8, rdi
rol ebx, 2
xor r14d, esi
rol esi, 1
xor ebx, r10d
rol r10d, 0xe
xor r10d, ebx
rol ebx, 0xa
xor ebx, r10d
rol r10d, 1
shl rbx, 0x20
shl r10, 0x20
or rbx, r14
or r10, rsi
mov r14, r8
mov esi, edi
shr rdi, 0x20
shr r14, 0x20
rol edi, 2
rol esi, 2
xor edi, r14d
rol r14d, 0xe
xor esi, r8d
xor r14d, edi
rol r8d, 0xe
rol edi, 0xa
xor r8d, esi
rol esi, 0xa
xor edi, r14d
xor esi, r8d
rol r14d, 1
shl rdi, 0x20
or rsi, rdi
shl r14, 0x20
xor r13, rcx
mov edi, r11d
rol edi, 2
xor r13, r11
shr r11, 0x20
xor rdx, r9
rol r11d, 2
not r13
rol r8d, 1
mov rcx, r13
xor edi, r13d
rol r13d, 0xe
or r8, r14
shr rcx, 0x20
xor r13d, edi
rol edi, 0xa
xor r11d, ecx
rol ecx, 0xe
xor edi, r13d
xor ecx, r11d
rol r11d, 0xa
xor r11d, ecx
rol ecx, 1
rol r13d, 1
shl rcx, 0x20
or rcx, r13
mov r13d, r9d
shl r11, 0x20
rol r13d, 2
or r11, rdi
mov rdi, rdx
xor r13d, edx
rol edx, 0xe
xor edx, r13d
shr rdi, 0x20
rol r13d, 0xa
shr r9, 0x20
xor rbx, qword [rbp]
add rbp, 8
rol r9d, 2
xor r13d, edx
rol edx, 1
xor r10, qword [r12]
xor r9d, edi
rol edi, 0xe
add r12, 8
xor edi, r9d
rol r9d, 0xa
xor r9d, edi
rol edi, 1
shl rdi, 0x20
shl r9, 0x20
or rdx, rdi
lea rdi, [0x1404b2f80]
or r9, r13
cmp rdi, rbp
jne 0x1401ea6ce
mov dword [rsp + 0x74], ebx
mov r13d, r11d
shr rbx, 0x20
mov ebp, edx
mov dword [rsp + 0x80], esi
shr r11, 0x20
shr rsi, 0x20
lea r12, [0x1404b2ee0]
mov dword [rsp + 0x8c], r9d
shr rdx, 0x20
shr r9, 0x20
lea r14, [0x1404b2ec0]
mov dword [rsp + 0x98], r10d
shr r10, 0x20
mov dword [rsp + 0xa0], r8d
shr r8, 0x20
mov dword [rsp + 0xa8], ecx
shr rcx, 0x20
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x84], esi
mov dword [rsp + 0x88], r11d
mov dword [rsp + 0x90], r9d
mov dword [rsp + 0x9c], r10d
mov dword [rsp + 0xa4], r8d
mov dword [rsp + 0xac], ecx
mov dword [rsp + 0xb0], edx
mov ecx, dword [rsp + 0x24]
mov r11d, dword [rsp + 0x18]
mov edx, dword [rsp + 0x14]
mov r8d, dword [rsp + 0x2c]
or r11d, ecx
mov ebx, dword [rsp + 0x18]
mov ecx, dword [rsp + 0x28]
xor r8d, edx
xor r11d, edx
mov r9d, edx
mov edx, dword [rsp + 0x18]
mov r10d, dword [rsp + 0x10]
mov esi, dword [rsp + 0x10]
and r9d, edx
mov edx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x28]
or r10d, ecx
mov ecx, dword [rsp + 0x30]
xor edx, r9d
xor r9d, r8d
and r8d, r11d
not edx
xor r8d, edx
or edx, r9d
xor ebx, edx
xor r9d, r8d
xor r11d, edx
and r8d, edx
mov edx, dword [rsp + 0x1c]
not r11d
xor ecx, edx
xor r10d, edx
and edx, esi
xor edi, edx
xor edx, ecx
and ecx, r10d
not edi
xor ecx, edi
or edi, edx
xor edx, ecx
xor esi, edi
and ecx, edi
xor edx, ebx
rol ebx, 2
xor ebx, edx
rol edx, 0xe
xor edx, ebx
rol ebx, 0xa
xor ebx, edx
rol edx, 1
xor r10d, edi
xor ecx, r9d
xor r10d, r8d
rol r9d, 2
xor esi, r11d
xor ebx, dword [r12]
xor r9d, ecx
not r10d
rol r11d, 2
xor edx, dword [r14]
rol r8d, 2
rol ecx, 0xe
xor r11d, esi
add r12, 4
xor r8d, r10d
xor ecx, r9d
rol esi, 0xe
mov dword [rsp + 0x18], ebx
rol r10d, 0xe
rol r9d, 0xa
xor esi, r11d
mov dword [rsp + 0x1c], edx
xor r10d, r8d
xor r9d, ecx
rol r11d, 0xa
add r14, 4
rol ecx, 1
rol r8d, 0xa
xor r11d, esi
mov dword [rsp + 0x14], r9d
xor r8d, r10d
mov dword [rsp + 0x30], ecx
rol esi, 1
lea rcx, [0x1404b2f00]
rol r10d, 1
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0x10], esi
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x28], r10d
cmp rcx, r12
jne 0x1401ea912
xor edx, edx
jmp 0x1401e9861
mov ecx, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x4c]
mov dword [rax + 0x4c], r15d
mov esi, dword [rsp + 0x64]
mov dword [rax + 0x28], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rax + 0x34], ebx
mov ebx, dword [rsp + 0x5c]
mov dword [rax + 0x2c], ecx
mov ecx, dword [rsp + 0x44]
mov dword [rax + 0x3c], ebx
mov ebx, dword [rsp + 0x38]
mov dword [rax + 0x30], ecx
mov ecx, dword [rsp + 0x54]
mov dword [rax + 0x40], esi
mov esi, dword [rsp + 0x48]
mov dword [rax + 0x38], ecx
mov ecx, dword [rsp + 0x6c]
mov dword [rax + 0x48], ebx
mov ebx, dword [rsp + 0x58]
mov dword [rax + 0x44], ecx
mov ecx, dword [rsp + 0x50]
mov dword [rax + 0x50], esi
mov esi, dword [rsp + 0x60]
mov dword [rax + 0x54], ecx
mov ecx, dword [rsp + 0x68]
mov dword [rax + 0x58], ebx
mov ebx, dword [rsp + 0x70]
mov dword [rax + 0x5c], esi
mov esi, dword [rsp + 0x74]
mov dword [rax + 0x60], ecx
mov dword [rax + 0x64], ebx
mov dword [rax + 0x68], esi
mov ecx, dword [rsp + 0x80]
mov ebx, dword [rsp + 0x8c]
mov esi, dword [rsp + 0x98]
mov dword [rax + 0x70], r13d
mov dword [rax + 0x6c], ecx
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x74], ebx
mov ebx, dword [rsp + 0xa8]
mov dword [rax + 0x78], esi
mov esi, dword [rsp + 0x78]
mov dword [rax + 0x7c], ecx
mov ecx, dword [rsp + 0x84]
mov dword [rax + 0x80], ebx
mov ebx, dword [rsp + 0x88]
mov dword [rax + 0x88], esi
mov esi, dword [rsp + 0x90]
mov dword [rax + 0x8c], ecx
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 0x90], ebx
mov ebx, dword [rsp + 0xa4]
mov dword [rax + 0x94], esi
mov esi, dword [rsp + 0xac]
mov dword [rax + 0x98], ecx
mov ecx, dword [rsp + 0xb0]
mov dword [rax + 0x9c], ebx
mov ebx, dword [rsp + 0x18]
mov dword [rax + 0xa0], esi
mov esi, dword [rsp + 0x24]
mov dword [rax + 0xa8], ebx
mov dword [rax + 0xac], esi
mov dword [rax + 0x84], ebp
mov dword [rax + 0xa4], ecx
mov ecx, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x14]
mov esi, dword [rsp + 0x1c]
mov dword [rax + 0xb0], ecx
mov ecx, dword [rsp + 0x10]
mov dword [rax + 0xb4], ebx
mov ebx, dword [rsp + 0x28]
mov dword [rax + 0xb8], esi
mov esi, dword [rsp + 0x30]
mov dword [rax + 0xbc], ecx
mov dword [rax + 0xc0], ebx
mov dword [rax + 0xc4], esi
mov qword [rax + 0x20], rdx
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret