Function at 0x1400889c0
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 rdi
sub rsp, 0x1b8
mov rbx, qword [rcx + 0x20]
mov eax, 0x20
mov r9, rdx
sub rax, rbx
mov rdi, r8
mov rdx, rcx
mov qword [rsp + 0x118], rbx
cmp r8, rax
jae 0x1400859ff
add rcx, rbx
mov rdx, r9
call sub.MSVCR120.dll_memcpy
mov rcx, qword [rsp + 0x1d0]
lea rax, [rbx + rdi]
mov qword [rcx + 0x20], rax
add rsp, 0x1b8
pop rdi
pop rbx
ret
mov eax, dword [rcx + 0x28]
mov edi, dword [rdx + 0x80]
mov r10d, dword [rdx + 0xa8]
mov r8d, dword [rdx + 0xb0]
mov r9d, dword [rdx + 0xb4]
mov r11d, dword [rdx + 0xbc]
mov ebx, dword [rdx + 0x6c]
cmp qword [rsp + 0x1e0], 0
mov qword [rsp + 0x1b0], rbp
mov ebp, dword [rdx + 0x74]
mov qword [rsp + 0x1a8], rsi
mov esi, dword [rdx + 0xc0]
mov qword [rsp + 0x1a0], r12
mov r12d, dword [rdx + 0xac]
mov qword [rsp + 0x198], r13
mov r13d, dword [rdx + 0xb8]
mov qword [rsp + 0xa0], rax
mov eax, dword [rcx + 0x30]
mov qword [rsp + 0x190], r14
mov r14d, dword [rcx + 0x2c]
mov qword [rsp + 0xc8], rax
mov eax, dword [rcx + 0x34]
mov ecx, dword [rcx + 0x38]
mov qword [rsp + 0x188], r15
mov r15d, dword [rdx + 0x70]
mov qword [rsp + 0xb8], rcx
mov ecx, dword [rdx + 0x3c]
mov qword [rsp + 0xb0], rcx
mov ecx, dword [rdx + 0x40]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xa8], rcx
mov ecx, dword [rdx + 0x44]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0xf0], rcx
mov ecx, dword [rdx + 0x48]
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x128], rcx
mov ecx, dword [rdx + 0x4c]
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x130], rcx
mov ecx, dword [rdx + 0x50]
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x100], rcx
mov ecx, dword [rdx + 0x54]
mov dword [rsp + 0x24], r11d
mov qword [rsp + 0xd8], rcx
mov ecx, dword [rdx + 0x58]
mov dword [rsp + 0x38], esi
mov qword [rsp + 0xf8], rcx
mov ecx, dword [rdx + 0x5c]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rdx + 0x60]
mov qword [rsp + 0x108], rcx
mov ecx, dword [rdx + 0x64]
mov qword [rsp + 0x120], rcx
mov ecx, dword [rdx + 0x68]
mov qword [rsp + 0xe0], rcx
mov ecx, dword [rdx + 0x78]
mov qword [rsp + 0x90], rcx
mov ecx, dword [rdx + 0x7c]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rdx + 0x84]
mov qword [rsp + 0x70], rcx
mov ecx, dword [rdx + 0x88]
mov qword [rsp + 0xd0], rcx
mov ecx, dword [rdx + 0x8c]
mov qword [rsp + 0x58], rcx
mov ecx, dword [rdx + 0x90]
mov qword [rsp + 0xc0], rcx
mov ecx, dword [rdx + 0x94]
mov qword [rsp + 0x60], rcx
mov ecx, dword [rdx + 0x98]
mov qword [rsp + 0x88], rcx
mov ecx, dword [rdx + 0x9c]
mov qword [rsp + 0x98], rcx
mov ecx, dword [rdx + 0xa0]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rdx + 0xa4]
mov edx, dword [rdx + 0xc4]
mov dword [rsp + 0x1e8], edx
mov qword [rsp + 0x50], rcx
jbe 0x140086e8b
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x1e0]
nop
mov rdx, qword [rsp + 0x1d8]
mov edi, 0x20
sub rdi, rcx
cmp rdi, rax
cmova rdi, rax
add rcx, qword [rsp + 0x1d0]
mov r8, rdi
call sub.MSVCR120.dll_memcpy
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x1e0]
add qword [rsp + 0x1d8], rdi
add rcx, rdi
sub rax, rdi
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x1e0], rax
cmp rcx, 0x20
jne 0x140086e61
mov r8, qword [rsp + 0x1d0]
mov ecx, dword [r8]
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 4]
mov dword [rsp + 0x168], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 8]
mov dword [rsp + 0x148], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0xc]
mov dword [rsp + 0x13c], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x10]
mov dword [rsp + 0x140], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x14]
mov dword [rsp + 0x138], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x18]
mov dword [rsp + 0x144], edx
rol ecx, 0x10
mov edx, ecx
mov eax, ecx
shl ecx, 8
shr edx, 8
shl eax, 8
xor edx, eax
and edx, 0xff00ff
xor edx, ecx
mov ecx, dword [r8 + 0x1c]
mov dword [rsp + 0x174], edx
rol ecx, 0x10
mov edx, ecx
mov r11d, dword [rsp + 0x1e8]
mov r10d, dword [rsp + 0x24]
shr edx, 8
xor r11d, dword [rsp + 0x50]
xor r10d, dword [rsp + 0x98]
mov eax, ecx
shl eax, 8
shl ecx, 8
mov edi, esi
xor edx, eax
mov rax, qword [rsp + 0x70]
mov r9d, r13d
xor r9d, dword [rsp + 0x88]
xor r11d, eax
mov rax, qword [rsp + 0x48]
xor r11d, dword [rsp + 0x120]
xor edi, eax
mov rax, qword [rsp + 0x90]
xor r11d, dword [rsp + 0xf0]
xor edi, dword [rsp + 0x68]
and edx, 0xff00ff
xor edi, dword [rsp + 0x108]
xor edx, ecx
mov rcx, qword [rsp + 0x78]
xor edi, dword [rsp + 0xa8]
xor r9d, eax
xor r10d, ecx
xor r10d, dword [rsp + 0x80]
xor r9d, dword [rsp + 0xf8]
xor dword [rsp + 0xf0], edi
xor r10d, dword [rsp + 0xb0]
xor r9d, dword [rsp + 0xb8]
xor dword [rsp + 0x120], edi
xor dword [rsp + 0xb0], r9d
xor dword [rsp + 0xa8], r10d
xor dword [rsp + 0x80], r9d
xor dword [rsp + 0x108], r10d
mov dword [rsp + 0x170], edx
mov esi, r11d
xor esi, dword [rsp + 0x28]
mov edx, r11d
mov r8d, r11d
xor edx, dword [rsp + 0x20]
xor r8d, dword [rsp + 0x30]
mov eax, esi
xor eax, dword [rsp + 0xd0]
xor edx, dword [rsp + 0xc0]
xor r8d, dword [rsp + 0x60]
xor eax, dword [rsp + 0xe0]
xor dword [rsp + 0xe0], r11d
xor edx, r15d
xor edx, dword [rsp + 0x100]
xor eax, dword [rsp + 0x128]
xor dword [rsp + 0x128], r11d
xor eax, dword [rsp + 0xa0]
xor edx, dword [rsp + 0xc8]
xor dword [rsp + 0xa0], r11d
xor r8d, ebp
xor ebp, edx
mov ecx, r12d
xor ecx, dword [rsp + 0x58]
xor r8d, dword [rsp + 0xd8]
xor dword [rsp + 0xd8], edx
xor r8d, dword [rsp + 0xe8]
xor dword [rsp + 0xe8], edx
xor ecx, ebx
xor ecx, dword [rsp + 0x130]
xor dword [rsp + 0xb8], r8d
xor dword [rsp + 0x130], eax
xor dword [rsp + 0xf8], r8d
xor dword [rsp + 0x90], r8d
xor ecx, r14d
xor dword [rsp + 0xc8], ecx
xor dword [rsp + 0x100], ecx
xor r14d, eax
xor r15d, ecx
xor ebx, eax
xor dword [rsp + 0x78], r9d
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0x150], r15
xor dword [rsp + 0x58], eax
xor dword [rsp + 0x60], edx
xor dword [rsp + 0x88], r8d
xor dword [rsp + 0x30], edx
xor dword [rsp + 0x70], edi
xor dword [rsp + 0xc0], ecx
xor dword [rsp + 0x20], ecx
xor dword [rsp + 0x68], r10d
mov rdx, qword [rsp + 0xf8]
xor dword [rsp + 0x98], r9d
xor dword [rsp + 0x24], r9d
xor dword [rsp + 0x48], r10d
xor dword [rsp + 0x50], edi
xor dword [rsp + 0x38], r10d
xor dword [rsp + 0x1e8], edi
mov ebp, dword [rsp + 0x128]
xor dword [rsp + 0xd0], r11d
mov r9d, dword [rsp + 0x130]
mov r11d, dword [rsp + 0x100]
mov r15d, dword [rsp + 0x80]
xor r12d, eax
mov rax, qword [rsp + 0xf0]
xor r15d, dword [rsp + 0xb8]
xor r13d, r8d
mov r8, qword [rsp + 0xd8]
xor ebp, eax
xor r9d, eax
xor r9d, dword [rsp + 0xa0]
mov edi, r8d
mov r10d, edx
xor edi, eax
xor r10d, eax
mov dword [rsp + 0x16c], ebp
mov rbp, qword [rsp + 0x120]
xor edi, dword [rsp + 0xc8]
xor r10d, dword [rsp + 0xe8]
mov ecx, ebp
mov eax, ebp
mov dword [rsp + 0x40], r13d
xor eax, dword [rsp + 0x128]
xor ecx, r8d
mov r8d, ebp
xor r8d, dword [rsp + 0x100]
xor eax, ebx
mov r13d, ebp
xor ebp, dword [rsp + 0xe0]
xor r13d, dword [rsp + 0xa8]
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x110]
xor r11d, r14d
mov r14, qword [rsp + 0x150]
xor dword [rsp + 0x130], r14d
xor r8d, eax
mov dword [rsp + 0x3c], r12d
mov r12d, dword [rsp + 0x108]
mov dword [rsp + 0x128], r8d
mov qword [rsp + 0x120], rbp
mov rbp, qword [rsp + 0x90]
xor r12d, dword [rsp + 0xb0]
mov dword [rsp + 0x15c], r11d
xor ecx, ebp
mov dword [rsp + 0x158], edi
mov dword [rsp + 0x118], r10d
mov dword [rsp + 0xd8], ecx
mov rcx, qword [rsp + 0x78]
xor edx, ecx
mov rcx, qword [rsp + 0x68]
xor dword [rsp + 0x80], ecx
mov qword [rsp + 0xf8], rdx
mov rdx, qword [rsp + 0x70]
xor dword [rsp + 0x108], edx
xor edx, eax
mov rax, qword [rsp + 0x70]
mov r8d, eax
mov dword [rsp + 0x2c], edx
mov edx, eax
xor eax, dword [rsp + 0xd0]
xor r8d, dword [rsp + 0xe0]
xor edx, r14d
xor r8d, dword [rsp + 0x58]
mov qword [rsp + 0x70], rax
xor ebp, dword [rsp + 0x98]
mov eax, dword [rsp + 0x2c]
mov r14, qword [rsp + 0x48]
xor eax, dword [rsp + 0x88]
xor dword [rsp + 0x78], r14d
xor r14d, dword [rsp + 0x1e8]
xor ebx, dword [rsp + 0xc0]
xor edx, dword [rsp + 0x60]
mov dword [rsp + 0x2c], eax
mov qword [rsp + 0x90], rbp
mov rbp, qword [rsp + 0x50]
mov dword [rsp + 0x150], r8d
xor ecx, ebp
mov eax, ebp
mov r8d, ebp
xor eax, dword [rsp + 0x60]
xor r8d, dword [rsp + 0xd0]
mov qword [rsp + 0x68], rcx
xor eax, dword [rsp + 0x40]
mov ecx, ebp
xor ebp, esi
xor ecx, dword [rsp + 0xc0]
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x88]
xor ecx, dword [rsp + 0x30]
mov ebp, r8d
xor ebp, dword [rsp + 0x3c]
xor eax, dword [rsp + 0x24]
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x110], ebp
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
xor ebp, dword [rsp + 0x20]
mov eax, dword [rsp + 0x38]
xor dword [rsp + 0x98], eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1e8]
mov r14d, eax
xor eax, dword [rsp + 0x20]
mov qword [rsp + 0x58], rbp
mov ebp, dword [rsp + 0x1e8]
xor r14d, dword [rsp + 0x30]
xor eax, dword [rsp + 0xe8]
xor r14d, dword [rsp + 0xb8]
xor ebp, esi
mov rsi, qword [rsp + 0xa0]
xor dword [rsp + 0x1e8], esi
mov esi, ebp
mov dword [rsp + 0xd0], r14d
xor esi, dword [rsp + 0x160]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0xc8]
xor dword [rsp + 0x3c], esi
mov rsi, qword [rsp + 0xb0]
xor dword [rsp + 0x40], esi
mov esi, dword [rsp + 0x24]
xor esi, dword [rsp + 0xa8]
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x28]
xor esi, dword [rsp + 0xf0]
mov dword [rsp + 0x28], esi
mov esi, r13d
xor esi, dword [rsp + 0x1e8]
mov dword [rsp + 0xe0], esi
mov esi, r13d
xor esi, dword [rsp + 0x16c]
xor esi, dword [rsp + 0x20]
mov dword [rsp + 0xf0], esi
mov esi, r9d
xor esi, dword [rsp + 0x3c]
mov dword [rsp + 0xa8], esi
mov esi, r13d
xor esi, r11d
mov r11d, r13d
xor r11d, edi
xor esi, eax
xor r11d, r14d
xor r10d, dword [rsp + 0x40]
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xb8], r11d
mov edi, dword [rsp + 0x28]
mov r11, qword [rsp + 0x88]
mov ebp, dword [rsp + 0x40]
xor dword [rsp + 0xd0], r11d
xor ebp, dword [rsp + 0x98]
mov r14d, dword [rsp + 0x24]
mov dword [rsp + 0xc8], r10d
mov esi, edi
mov r10d, r15d
xor r10d, dword [rsp + 0x24]
xor esi, eax
mov eax, edi
xor eax, dword [rsp + 0x1e8]
mov dword [rsp + 0xa0], r10d
mov r10d, r12d
xor eax, dword [rsp + 0x110]
xor dword [rsp + 0x110], ebx
xor r10d, edi
mov dword [rsp + 0xe8], r10d
mov r10d, edi
xor edi, dword [rsp + 0x50]
xor r10d, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x58]
xor dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xc0]
xor r10d, ecx
xor esi, eax
mov dword [rsp + 0x28], edi
mov rdi, qword [rsp + 0x48]
mov r11d, edi
mov r8d, edi
xor r14d, edi
xor r8d, dword [rsp + 0x50]
xor r11d, ecx
mov ecx, edi
xor ecx, dword [rsp + 0x58]
xor r11d, dword [rsp + 0x2c]
mov dword [rsp + 0x60], r8d
mov r8d, dword [rsp + 0x150]
xor ecx, edx
mov dword [rsp + 0x30], r10d
mov r10, qword [rsp + 0x70]
xor dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], ecx
mov rcx, qword [rsp + 0x90]
xor edi, r10d
xor eax, ecx
xor ecx, dword [rsp + 0x80]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x78]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x68]
xor dword [rsp + 0x98], eax
xor dword [rsp + 0x88], edi
mov dword [rsp + 0x34], eax
xor dword [rsp + 0x34], edx
mov edx, eax
mov qword [rsp + 0x90], rcx
xor edx, ebx
mov ebx, eax
xor eax, dword [rsp + 0x120]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x34]
xor ebx, r10d
xor eax, dword [rsp + 0xd8]
mov r10, qword [rsp + 0x130]
mov dword [rsp + 0x50], edx
mov edx, dword [rsp + 0x100]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x2c]
xor eax, dword [rsp + 0xf8]
xor r8d, r10d
xor ebx, edx
mov dword [rsp + 0x150], r8d
mov r8d, dword [rsp + 0x128]
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x108]
xor dword [rsp + 0x50], r8d
mov dword [rsp + 0x70], ebx
xor edi, eax
mov ecx, dword [rsp + 0x144]
xor r12d, dword [rsp + 0x144]
mov ebx, eax
xor dword [rsp + 0xc8], ecx
mov ecx, dword [rsp + 0x174]
xor dword [rsp + 0xf8], r12d
xor dword [rsp + 0xa0], ecx
mov ecx, dword [rsp + 0x170]
mov r12d, dword [rsp + 0x144]
xor dword [rsp + 0xe8], ecx
xor dword [rsp + 0x48], r12d
xor ebx, r10d
mov r10d, eax
mov qword [rsp + 0x78], rdi
mov edi, eax
mov eax, dword [rsp + 0x168]
xor dword [rsp + 0x78], r12d
xor r10d, r9d
xor dword [rsp + 0xe0], eax
mov r9d, dword [rsp + 0x13c]
mov eax, dword [rsp + 0x148]
xor dword [rsp + 0xf0], eax
xor dword [rsp + 0xa8], r9d
mov eax, dword [rsp + 0x138]
xor dword [rsp + 0xb8], eax
xor r10d, dword [rsp + 0x120]
mov dword [rsp + 0x40], eax
xor r15d, dword [rsp + 0x40]
mov eax, ecx
xor edi, r8d
mov r8d, dword [rsp + 0x140]
xor dword [rsp + 0xd8], r15d
mov r15d, dword [rsp + 0x174]
xor dword [rsp + 0xb0], r8d
xor dword [rsp + 0x68], r15d
xor eax, r8d
mov r8d, ecx
mov dword [rsp + 0x1e8], eax
mov eax, ecx
xor r8d, dword [rsp + 0x168]
xor eax, r9d
mov r9d, ecx
mov ecx, dword [rsp + 0x15c]
xor r9d, dword [rsp + 0x108]
xor dword [rsp + 0x150], r8d
xor ecx, dword [rsp + 0x148]
xor r9d, dword [rsp + 0x16c]
xor r13d, r15d
xor dword [rsp + 0x80], r13d
mov r13d, dword [rsp + 0x40]
xor edx, ecx
mov ecx, dword [rsp + 0x158]
xor dword [rsp + 0x90], r13d
mov dword [rsp + 0x100], edx
xor ecx, eax
mov edx, r15d
xor r10d, r8d
xor edx, eax
xor ebx, ecx
mov ecx, dword [rsp + 0x118]
xor dword [rsp + 0x34], edx
xor ecx, dword [rsp + 0x1e8]
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0x2c]
xor edi, ecx
mov eax, r15d
xor edx, dword [rsp + 0x1e8]
xor eax, dword [rsp + 0x148]
mov ecx, r15d
xor dword [rsp + 0x50], eax
xor ecx, dword [rsp + 0x170]
mov dword [rsp + 0x2c], edx
xor dword [rsp + 0x70], ecx
mov edx, r12d
xor edx, eax
mov eax, r12d
mov dword [rsp + 0x24], edx
mov edx, r12d
xor eax, r15d
xor edx, r8d
xor dword [rsp + 0x60], eax
rol dword [rsp + 0x34], 2
xor dword [rsp + 0x20], eax
xor dword [rsp + 0x110], ecx
rol dword [rsp + 0x2c], 2
xor dword [rsp + 0x28], r13d
xor dword [rsp + 0x58], edx
rol edi, 1
mov eax, r13d
xor r12d, r13d
xor dword [rsp + 0x3c], r12d
mov r12, qword [rsp + 0x80]
xor eax, ecx
xor dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x24]
mov rax, qword [rsp + 0x90]
shl rbx, 0x20
mov r15d, r9d
rol eax, 2
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x78]
shl r15, 0x20
rol eax, 2
mov dword [rsp + 0x13c], eax
mov eax, ecx
xor ecx, dword [rsp + 0xd0]
xor eax, r11d
mov r11, qword [rsp + 0x88]
rol eax, 3
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x38]
rol ecx, 4
xor eax, dword [rsp + 0xc0]
mov dword [rsp + 0x24], ecx
mov ecx, edi
mov rdi, qword [rsp + 0xf8]
shl rcx, 0x20
rol eax, 3
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x1e8]
rol edi, 1
mov r8d, eax
xor eax, r14d
mov r14d, r10d
xor r8d, r11d
shl r14, 0x20
shl rdi, 0x20
rol eax, 4
mov dword [rsp + 0x1e8], eax
mov eax, dword [rsp + 0xe0]
rol r8d, 3
or r15, rax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x15c], r8d
mov r8d, r13d
xor r13d, edx
or r14, rax
mov eax, dword [rsp + 0xa8]
xor r8d, dword [rsp + 0x98]
xor r13d, esi
mov esi, dword [rsp + 0x38]
rol r13d, 4
xor esi, ebp
mov ebp, dword [rsp + 0x100]
rol r8d, 3
mov dword [rsp + 0x40], r13d
mov r13d, dword [rsp + 0xd8]
shl rbp, 0x20
or rbp, rax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x140], r8d
rol r13d, 1
or rbx, rax
mov eax, dword [rsp + 0xb8]
rol esi, 4
or rcx, rax
mov eax, dword [rsp + 0xc8]
shl r13, 0x20
mov dword [rsp + 0x38], esi
or r13, rax
mov eax, dword [rsp + 0xa0]
or rdi, rax
rol r12d, 1
mov eax, dword [rsp + 0xe8]
mov qword [rsp + 0x160], 0
shl r12, 0x20
or r12, rax
nop
xor r12, rcx
mov rax, r14
not r14
or rax, r15
xor rbp, rbx
xor rax, rbx
and rbx, r15
xor r14, rbx
xor rbx, rbp
and rbp, rax
xor rbp, r14
or r14, rbx
not rax
xor r15, r14
xor rbx, rbp
and rbp, r14
xor r14, rax
mov rax, rdi
not rdi
or rax, r13
mov r9d, r15d
xor rax, rcx
and rcx, r13
rol r9d, 2
xor rdi, rcx
xor rcx, r12
and r12, rax
xor r12, rdi
or rdi, rcx
not rax
xor rcx, r12
xor r13, rdi
and r12, rdi
xor rcx, r15
xor r13, r14
xor rdi, rax
mov r11, rcx
xor r9d, ecx
rol ecx, 0xe
xor ecx, r9d
mov r8, r13
shr r11, 0x20
mov r10d, ecx
mov ecx, r14d
shr r14, 0x20
shr r8, 0x20
xor rdi, rbp
shr r15, 0x20
rol ecx, 2
xor ecx, r13d
rol r14d, 2
xor r14d, r8d
rol r8d, 0xe
xor r8d, r14d
mov eax, r8d
rol r13d, 0xe
xor r13d, ecx
mov edx, r13d
rol r14d, 0xa
xor r14, rax
shl r14, 0x20
rol r8d, 1
mov r13d, r8d
mov r8, rdi
rol ecx, 0xa
xor rcx, rdx
shl r13, 0x20
rol r15d, 2
or r14, rcx
xor r15d, r11d
rol edx, 1
mov ecx, ebp
mov eax, edx
rol r11d, 0xe
xor r11d, r15d
or r13, rax
rol ecx, 2
xor ecx, edi
shr r8, 0x20
rol edi, 0xe
xor edi, ecx
rol ecx, 0xa
xor r12, rbx
shr rbp, 0x20
rol r9d, 0xa
mov edx, edi
xor rcx, rdx
rol ebp, 2
xor ebp, r8d
rol r8d, 0xe
xor r8d, ebp
mov eax, r8d
rol edx, 1
rol r8d, 1
mov edi, r8d
mov r8, r12
rol ebp, 0xa
xor rbp, rax
shr r8, 0x20
rol r15d, 0xa
mov eax, edx
shl rbp, 0x20
shl rdi, 0x20
or rbp, rcx
mov ecx, ebx
shr rbx, 0x20
rol ecx, 2
or rdi, rax
xor ecx, r12d
rol ebx, 2
xor ebx, r8d
rol r12d, 0xe
xor r12d, ecx
mov edx, r12d
rol ecx, 0xa
xor rcx, rdx
rol r8d, 0xe
xor r8d, ebx
mov eax, r8d
rol ebx, 0xa
xor rbx, rax
shl rbx, 0x20
rol edx, 1
or rbx, rcx
mov eax, edx
rol r8d, 1
mov rdx, qword [rsp + 0x160]
mov r12d, r8d
lea r8, [0x140000000]
shl r12, 0x20
add rdx, 8
mov ecx, r9d
xor rcx, r10
or r12, rax
mov eax, r11d
xor r15, rax
rol r11d, 1
mov qword [rsp + 0x160], rdx
shl r15, 0x20
rol r10d, 1
or r15, rcx
mov ecx, r11d
mov eax, r10d
xor r15, qword [rdx + r8 + 0x1e8af8]
shl rcx, 0x20
or rcx, rax
xor rcx, qword [rdx + r8 + 0x1e8b58]
cmp rdx, 0x40
jl 0x140086750
mov esi, dword [rsp + 0x158]
mov rax, r15
mov qword [rsp + 0xf0], r12
shr rax, 0x20
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xa0], r15
mov r15d, dword [rsp + 0x110]
mov qword [rsp + 0x128], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x130], rax
mov rax, rbp
mov ebp, dword [rsp + 0x58]
shr rax, 0x20
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x160], r14
mov r14d, dword [rsp + 0x140]
mov qword [rsp + 0x100], rax
mov rax, rbx
mov ebx, dword [rsp + 0x60]
shr rax, 0x20
shl r15, 0x20
mov qword [rsp + 0xd8], rax
mov rax, rcx
mov ecx, dword [rsp + 0x118]
shr rax, 0x20
shl rbx, 0x20
shl rbp, 0x20
mov qword [rsp + 0xf8], rax
mov rax, r13
shl rcx, 0x20
shr rax, 0x20
shl rsi, 0x20
shl r14, 0x20
mov qword [rsp + 0x80], rax
mov rax, rdi
mov edi, dword [rsp + 0x15c]
shr rax, 0x20
shl rdi, 0x20
mov qword [rsp + 0xb0], r13
mov r13d, dword [rsp + 0x40]
mov qword [rsp + 0x108], rax
mov rax, r12
mov r12, qword [rsp + 0x48]
shr rax, 0x20
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x68]
mov r12d, r12d
shl r12, 0x20
or r12, rax
mov eax, dword [rsp + 0x70]
or rbx, rax
mov eax, dword [rsp + 0x150]
or r15, rax
mov eax, dword [rsp + 0x50]
or rbp, rax
mov eax, dword [rsp + 0x34]
or rcx, rax
mov eax, dword [rsp + 0x2c]
or rsi, rax
mov eax, dword [rsp + 0x138]
or rdi, rax
mov eax, dword [rsp + 0x13c]
or r14, rax
nop dword [rax]
xor r14, rcx
mov rax, rbx
not rbx
or rax, r12
xor r15, rbp
xor rax, rbp
and rbp, r12
xor rbx, rbp
xor rbp, r15
and r15, rax
xor r15, rbx
or rbx, rbp
not rax
xor r12, rbx
xor rbp, r15
and r15, rbx
xor rbx, rax
mov rax, rdi
not rdi
or rax, rsi
mov r9d, r12d
xor rax, rcx
and rcx, rsi
rol r9d, 2
xor rdi, rcx
xor rcx, r14
and r14, rax
xor r14, rdi
or rdi, rcx
not rax
xor rcx, r14
xor rsi, rdi
and r14, rdi
xor rcx, r12
xor rsi, rbx
xor rdi, rax
mov r11, rcx
xor r9d, ecx
rol ecx, 0xe
xor ecx, r9d
mov r8, rsi
shr r11, 0x20
mov r10d, ecx
mov ecx, ebx
shr rbx, 0x20
shr r8, 0x20
xor rdi, r15
shr r12, 0x20
rol ecx, 2
xor ecx, esi
rol ebx, 2
xor ebx, r8d
rol r8d, 0xe
xor r8d, ebx
mov eax, r8d
rol esi, 0xe
xor esi, ecx
mov edx, esi
rol ebx, 0xa
xor rbx, rax
shl rbx, 0x20
rol r8d, 1
mov esi, r8d
mov r8, rdi
rol ecx, 0xa
xor rcx, rdx
shl rsi, 0x20
rol r12d, 2
or rbx, rcx
xor r12d, r11d
rol edx, 1
mov ecx, r15d
mov eax, edx
rol r11d, 0xe
xor r11d, r12d
or rsi, rax
rol ecx, 2
xor ecx, edi
shr r8, 0x20
rol edi, 0xe
xor edi, ecx
rol ecx, 0xa
xor r14, rbp
shr r15, 0x20
rol r9d, 0xa
mov edx, edi
xor rcx, rdx
rol r15d, 2
xor r15d, r8d
rol r8d, 0xe
xor r8d, r15d
mov eax, r8d
rol edx, 1
rol r8d, 1
mov edi, r8d
mov r8, r14
rol r15d, 0xa
xor r15, rax
shr r8, 0x20
rol r12d, 0xa
mov eax, edx
shl r15, 0x20
shl rdi, 0x20
or r15, rcx
mov ecx, ebp
shr rbp, 0x20
rol ecx, 2
or rdi, rax
xor ecx, r14d
rol ebp, 2
xor ebp, r8d
rol r14d, 0xe
xor r14d, ecx
mov edx, r14d
rol ecx, 0xa
xor rcx, rdx
rol r8d, 0xe
xor r8d, ebp
mov eax, r8d
rol ebp, 0xa
xor rbp, rax
shl rbp, 0x20
rol edx, 1
or rbp, rcx
mov eax, edx
rol r8d, 1
mov rdx, qword [rsp + 0x48]
mov r14d, r8d
lea r8, [0x140000000]
shl r14, 0x20
add rdx, 8
mov ecx, r9d
xor rcx, r10
or r14, rax
mov eax, r11d
xor r12, rax
rol r11d, 1
mov qword [rsp + 0x48], rdx
shl r12, 0x20
rol r10d, 1
or r12, rcx
mov ecx, r11d
mov eax, r10d
xor r12, qword [rdx + r8 + 0x1e8c18]
shl rcx, 0x20
or rcx, rax
xor rcx, qword [rdx + r8 + 0x1e8b98]
cmp rdx, 0x40
jl 0x140086aa0
mov edx, dword [rsp + 0x1e8]
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x24]
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], r14
mov qword [rsp + 0xd0], rax
mov rax, rbx
mov qword [rsp + 0xe0], r12
mov r12d, dword [rsp + 0x3c]
shr rax, 0x20
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x58], rax
mov rax, r15
mov qword [rsp + 0x68], rdi
shr rax, 0x20
mov qword [rsp + 0xc0], rax
mov rax, rbp
shr rax, 0x20
mov qword [rsp + 0x60], rax
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0x88], rax
mov rax, rsi
mov esi, dword [rsp + 0x38]
shr rax, 0x20
mov qword [rsp + 0x98], rax
mov rax, rdi
lea rdi, [0x140000000]
shr rax, 0x20
mov qword [rsp + 0x48], rax
mov rax, r14
mov r14, qword [rsp + 0x160]
shr rax, 0x20
xor ecx, ecx
mov qword [rsp + 0x50], rax
nop dword [rax]
nop word [rax + rax]
xor edx, r13d
xor r8d, r9d
mov eax, r12d
or eax, r10d
not r12d
add rcx, 4
xor eax, r9d
and r9d, r10d
xor r12d, r9d
xor r9d, r8d
and r8d, eax
xor r8d, r12d
or r12d, r9d
not eax
xor r10d, r12d
xor r9d, r8d
and r8d, r12d
xor r12d, eax
mov eax, esi
not esi
or eax, r11d
xor eax, r13d
and r13d, r11d
xor esi, r13d
xor r13d, edx
and edx, eax
xor edx, esi
or esi, r13d
not eax
xor r13d, edx
xor r11d, esi
and edx, esi
xor r13d, r10d
xor r11d, r12d
xor edx, r9d
rol r10d, 2
xor esi, eax
xor r10d, r13d
rol r12d, 2
xor esi, r8d
xor r12d, r11d
rol r9d, 2
xor r9d, edx
rol r13d, 0xe
xor r13d, r10d
rol r8d, 2
xor r8d, esi
rol r10d, 0xa
xor r10d, dword [rcx + rdi + 0x1e8adc]
xor r10d, r13d
rol r11d, 0xe
xor r11d, r12d
rol esi, 0xe
xor esi, r8d
rol edx, 0xe
xor edx, r9d
rol r13d, 1
xor r13d, dword [rcx + rdi + 0x1e8bdc]
rol r12d, 0xa
xor r12d, r11d
rol r8d, 0xa
xor r8d, esi
rol r9d, 0xa
xor r9d, edx
rol r11d, 1
rol esi, 1
rol edx, 1
cmp rcx, 0x20
jl 0x140086d50
mov rax, qword [rsp + 0x1e0]
xor ecx, ecx
mov dword [rsp + 0x24], r11d
mov qword [rsp + 0x118], rcx
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x1e8], edx
mov dword [rsp + 0x38], esi
jmp 0x140086e75
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x68]
test rax, rax
jne 0x140085bf0
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0xa0]
mov dword [rdx + 0x34], eax
mov rax, qword [rsp + 0xb8]
mov dword [rdx + 0x28], ecx
mov dword [rdx + 0x38], eax
mov rax, qword [rsp + 0xb0]
mov dword [rdx + 0x2c], r14d
mov dword [rdx + 0x3c], eax
mov rax, qword [rsp + 0xa8]
mov r14, rdx
mov dword [rdx + 0x40], eax
mov rax, qword [rsp + 0xf0]
mov dword [rdx + 0x70], r15d
mov r15, qword [rsp + 0x188]
mov dword [rdx + 0x44], eax
mov rax, qword [rsp + 0x128]
mov dword [rdx + 0x48], eax
mov rax, qword [rsp + 0x130]
mov dword [rdx + 0x74], ebp
mov rbp, qword [rsp + 0x1b0]
mov dword [rdx + 0x4c], eax
mov rax, qword [rsp + 0x100]
mov dword [rdx + 0x50], eax
mov rax, qword [rsp + 0xd8]
mov dword [rdx + 0xac], r12d
mov r12, qword [rsp + 0x1a0]
mov dword [rdx + 0x54], eax
mov rax, qword [rsp + 0xf8]
mov dword [rdx + 0x58], eax
mov rax, qword [rsp + 0x80]
mov dword [rdx + 0xb8], r13d
mov r13, qword [rsp + 0x198]
mov dword [rdx + 0x5c], eax
mov rax, qword [rsp + 0x108]
mov dword [rdx + 0x60], eax
mov rax, qword [rsp + 0x120]
mov dword [rdx + 0xc0], esi
mov rsi, qword [rsp + 0x1a8]
mov dword [rdx + 0x64], eax
mov rax, qword [rsp + 0xe0]
mov dword [rdx + 0x68], eax
mov rax, qword [rsp + 0x90]
mov rcx, rdx
mov rcx, qword [rsp + 0xc8]
mov dword [rdx + 0x78], eax
mov rax, qword [rsp + 0x70]
mov dword [rdx + 0x84], eax
mov rax, qword [rsp + 0xd0]
mov dword [rdx + 0x30], ecx
mov rcx, qword [rsp + 0x78]
mov dword [rdx + 0x88], eax
mov rax, qword [rsp + 0x58]
mov dword [rdx + 0x8c], eax
mov rax, qword [rsp + 0xc0]
mov dword [rdx + 0x6c], ebx
mov dword [rdx + 0x90], eax
mov rax, qword [rsp + 0x60]
mov dword [rdx + 0x7c], ecx
mov dword [rdx + 0x94], eax
mov rax, qword [rsp + 0x88]
mov dword [rdx + 0x80], edi
mov dword [rdx + 0x98], eax
mov rax, qword [rsp + 0x98]
mov dword [rdx + 0xa8], r10d
mov dword [rdx + 0x9c], eax
mov rax, qword [rsp + 0x48]
mov dword [rdx + 0xb0], r8d
mov dword [rdx + 0xa0], eax
mov rax, qword [rsp + 0x50]
mov dword [rdx + 0xb4], r9d
mov dword [rdx + 0xa4], eax
mov rax, qword [rsp + 0x118]
mov dword [rdx + 0xbc], r11d
mov edx, dword [rsp + 0x1e8]
mov dword [r14 + 0xc4], edx
mov qword [r14 + 0x20], rax
mov r14, qword [rsp + 0x190]
add rsp, 0x1b8
pop rdi
pop rbx
ret
jmp 0x1400859a0