Function at 0x1403f1d97
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, 0x138
mov qword [rsp + 0x188], rdx
mov rdx, qword [rcx + 0x20]
mov rax, rcx
mov ecx, 0x20
mov qword [rsp + 0x190], r8
sub rcx, rdx
cmp r8, rcx
jae 0x1403f1df4
lea r8, [rax + rdx]
mov rsi, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x190]
mov rdi, r8
add rdx, qword [rsp + 0x190]
rep movsb byte [rdi], byte [rsi]
jmp 0x1403f3279
mov esi, dword [rax + 0x28]
mov ebx, dword [rax + 0x2c]
mov r15d, dword [rax + 0x4c]
mov dword [rsp + 0x40], esi
mov esi, dword [rax + 0x30]
mov dword [rsp + 0x48], ebx
mov ebx, dword [rax + 0x34]
mov dword [rsp + 0x4c], esi
mov esi, dword [rax + 0x38]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rax + 0x3c]
mov dword [rsp + 0x64], esi
mov esi, dword [rax + 0x40]
mov dword [rsp + 0x78], ebx
mov ebx, dword [rax + 0x44]
mov dword [rsp + 0x7c], esi
mov esi, dword [rax + 0x48]
mov dword [rsp + 0x90], ebx
mov ebx, dword [rax + 0x50]
mov dword [rsp + 0x38], esi
mov esi, dword [rax + 0x54]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rax + 0x58]
mov dword [rsp + 0x58], esi
mov esi, dword [rax + 0x5c]
mov dword [rsp + 0x68], ebx
mov ebx, dword [rax + 0x60]
mov dword [rsp + 0x70], esi
mov esi, dword [rax + 0x64]
mov dword [rsp + 0x80], ebx
mov ebx, dword [rax + 0x68]
mov dword [rsp + 0x88], esi
mov dword [rsp + 0x94], ebx
mov esi, dword [rax + 0x6c]
mov ebx, dword [rax + 0x74]
mov r13d, dword [rax + 0x70]
mov dword [rsp + 0xb0], esi
mov esi, dword [rax + 0x78]
mov dword [rsp + 0xb4], ebx
mov ebx, dword [rax + 0x7c]
mov dword [rsp + 0xc0], esi
mov esi, dword [rax + 0x80]
mov dword [rsp + 0xd8], ebx
mov ebx, dword [rax + 0x88]
mov dword [rsp + 0xdc], esi
mov esi, dword [rax + 0x8c]
mov dword [rsp + 0x98], ebx
mov ebx, dword [rax + 0x90]
mov dword [rsp + 0xa0], esi
mov esi, dword [rax + 0x94]
mov dword [rsp + 0xa8], ebx
mov ebx, dword [rax + 0x98]
mov dword [rsp + 0xb8], esi
mov esi, dword [rax + 0x9c]
mov dword [rsp + 0xc8], ebx
mov ebx, dword [rax + 0xa0]
mov dword [rsp + 0xd0], esi
mov esi, dword [rax + 0xa4]
mov dword [rsp + 0xe0], ebx
mov ebx, dword [rax + 0xa8]
mov dword [rsp + 0xe8], esi
mov esi, dword [rax + 0xac]
mov dword [rsp + 0x1c], ebx
mov ebp, dword [rax + 0x84]
mov dword [rsp + 0x28], esi
mov ebx, dword [rax + 0xb0]
mov esi, dword [rax + 0xb4]
mov dword [rsp + 0x30], ebx
mov ebx, dword [rax + 0xb8]
mov dword [rsp + 0x18], esi
mov esi, dword [rax + 0xbc]
mov dword [rsp + 0x20], ebx
mov ebx, dword [rax + 0xc0]
mov dword [rsp + 0x14], esi
mov esi, dword [rax + 0xc4]
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x34], esi
cmp qword [rsp + 0x190], 0
je 0x1403f3102
mov r8d, 0x20
lea r9, [rax + rdx]
mov rsi, qword [rsp + 0x188]
sub r8, rdx
cmp r8, qword [rsp + 0x190]
mov rdi, r9
cmova r8, qword [rsp + 0x190]
sub qword [rsp + 0x190], r8
mov rcx, r8
add rdx, r8
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x188], rsi
cmp rdx, 0x20
jne 0x1403f1f6b
mov ebx, dword [rax]
bswap ebx
mov dword [rsp + 0xf0], ebx
mov ebx, dword [rax + 4]
bswap ebx
mov dword [rsp + 0x44], ebx
mov ebx, dword [rax + 8]
bswap ebx
mov dword [rsp + 0xf4], ebx
mov ebx, dword [rax + 0xc]
bswap ebx
mov dword [rsp + 0x100], ebx
mov edx, dword [rax + 0x10]
bswap edx
mov dword [rsp + 0xc], edx
mov r12d, dword [rax + 0x14]
bswap r12d
mov ebx, dword [rax + 0x18]
bswap ebx
mov dword [rsp + 0x10], ebx
mov esi, dword [rax + 0x1c]
bswap esi
mov r9d, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x90]
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x48]
xor r9d, dword [rsp + 0x50]
xor ecx, dword [rsp + 0x88]
xor r9d, r13d
mov r10d, dword [rsp + 0x40]
xor esi, r15d
xor r10d, dword [rsp + 0x38]
xor ecx, ebp
mov r8d, dword [rsp + 0x60]
xor r10d, dword [rsp + 0x94]
xor esi, dword [rsp + 0xb0]
xor r10d, dword [rsp + 0x98]
xor esi, dword [rsp + 0xa0]
xor r9d, dword [rsp + 0xa8]
xor esi, dword [rsp + 0x28]
xor r8d, dword [rsp + 0x58]
xor ecx, dword [rsp + 0xe8]
xor r8d, dword [rsp + 0xb4]
mov ebx, dword [rsp + 0x64]
xor r8d, dword [rsp + 0xb8]
xor ebx, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x78]
xor ebx, dword [rsp + 0xc0]
xor r11d, dword [rsp + 0x70]
xor ebx, dword [rsp + 0xc8]
xor r11d, dword [rsp + 0xd8]
xor ebx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x7c]
xor r11d, dword [rsp + 0xd0]
xor edx, dword [rsp + 0x80]
xor edx, dword [rsp + 0xdc]
xor edx, dword [rsp + 0xe0]
xor r11d, dword [rsp + 0x14]
mov r14d, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x34]
xor r8d, dword [rsp + 0x18]
xor r9d, dword [rsp + 0x30]
xor edx, dword [rsp + 0x2c]
xor r8d, ecx
xor r9d, ecx
xor r14d, ecx
xor r10d, dword [rsp + 0x1c]
mov edi, dword [rsp + 0x68]
xor ebp, edx
xor r13d, esi
mov dword [rsp + 0xf8], r14d
mov r14d, dword [rsp + 0x48]
xor r10d, ecx
xor edi, r8d
xor r15d, r10d
xor r14d, r10d
mov dword [rsp + 0x48], r14d
mov r14d, dword [rsp + 0x4c]
xor r14d, esi
mov dword [rsp + 0x4c], r14d
mov r14d, dword [rsp + 0x60]
xor r14d, r9d
mov dword [rsp + 0x60], r14d
mov r14d, dword [rsp + 0x64]
xor r14d, r8d
mov dword [rsp + 0x64], r14d
mov r14d, dword [rsp + 0x78]
xor r14d, ebx
mov dword [rsp + 0x78], r14d
mov r14d, dword [rsp + 0x7c]
xor r14d, r11d
mov dword [rsp + 0x7c], r14d
mov r14d, dword [rsp + 0x90]
xor r14d, edx
mov dword [rsp + 0x40], r14d
mov r14d, dword [rsp + 0x38]
xor r14d, ecx
mov dword [rsp + 0x90], r14d
mov r14d, dword [rsp + 0x50]
xor r14d, esi
mov dword [rsp + 0x50], r14d
mov r14d, dword [rsp + 0x58]
mov dword [rsp + 0x58], edi
mov edi, dword [rsp + 0x70]
xor r14d, r9d
xor edi, ebx
mov dword [rsp + 0x68], edi
mov edi, dword [rsp + 0x80]
xor edi, r11d
mov dword [rsp + 0x70], edi
mov edi, dword [rsp + 0x88]
xor edi, edx
mov dword [rsp + 0x38], edi
mov edi, dword [rsp + 0x94]
xor edi, ecx
mov dword [rsp + 0x80], edi
mov edi, dword [rsp + 0xb0]
xor edi, r10d
mov dword [rsp + 0x88], edi
mov edi, dword [rsp + 0xb4]
xor edi, r9d
mov dword [rsp + 0x94], edi
mov edi, dword [rsp + 0xc0]
xor edi, r8d
mov dword [rsp + 0xb0], edi
mov edi, dword [rsp + 0xd8]
xor edi, ebx
mov dword [rsp + 0xb4], edi
mov edi, dword [rsp + 0xdc]
xor edi, r11d
mov dword [rsp + 0xc0], edi
mov edi, dword [rsp + 0x98]
xor edi, ecx
mov dword [rsp + 0x98], edi
mov edi, dword [rsp + 0xa0]
xor edi, r10d
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0xa8]
xor edi, esi
mov dword [rsp + 0xa8], edi
mov edi, dword [rsp + 0xb8]
xor edi, r9d
mov dword [rsp + 0xb8], edi
mov edi, dword [rsp + 0xc8]
xor edi, r8d
mov dword [rsp + 0xc8], edi
mov edi, dword [rsp + 0xd0]
xor edi, ebx
xor ecx, dword [rsp + 0x1c]
xor r10d, dword [rsp + 0x28]
mov dword [rsp + 0xd8], edi
mov edi, dword [rsp + 0xe0]
mov dword [rsp + 0x1c], ecx
xor edi, r11d
mov dword [rsp + 0xd0], edi
mov edi, dword [rsp + 0xe8]
mov dword [rsp + 0x28], r10d
mov r10d, dword [rsp + 0x30]
xor r8d, dword [rsp + 0x20]
xor ebx, dword [rsp + 0x14]
xor edi, edx
mov ecx, dword [rsp + 0x4c]
xor ecx, dword [rsp + 0x40]
xor r10d, esi
mov dword [rsp + 0x20], r8d
xor r9d, dword [rsp + 0x18]
xor ecx, r14d
mov esi, dword [rsp + 0x40]
mov dword [rsp + 0x30], ebx
xor esi, dword [rsp + 0x90]
mov ebx, dword [rsp + 0x48]
mov dword [rsp + 0x18], r9d
xor ebx, dword [rsp + 0x50]
xor edx, dword [rsp + 0x34]
mov dword [rsp + 0xe0], ecx
mov r9d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x2c], esi
xor r8d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0xdc], ebx
xor r8d, r15d
xor ecx, dword [rsp + 0x58]
mov esi, dword [rsp + 0x64]
xor r15d, r13d
xor ecx, dword [rsp + 0x40]
xor esi, dword [rsp + 0x68]
mov dword [rsp + 0x34], r8d
xor r9d, r11d
mov ebx, dword [rsp + 0x78]
xor ebx, dword [rsp + 0x70]
mov dword [rsp + 0xe8], ecx
mov dword [rsp + 0x104], esi
mov esi, dword [rsp + 0x7c]
mov dword [rsp + 0x110], ebx
xor esi, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0x14], esi
xor ecx, dword [rsp + 0x38]
xor r8d, dword [rsp + 0x38]
xor ecx, dword [rsp + 0x94]
xor r8d, dword [rsp + 0x88]
mov esi, dword [rsp + 0x58]
xor esi, dword [rsp + 0xb4]
mov dword [rsp + 0x90], r8d
mov ebx, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x108], ecx
xor ebx, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x70]
xor r14d, dword [rsp + 0xb0]
xor r14d, dword [rsp + 0x38]
mov dword [rsp + 0x38], esi
mov esi, dword [rsp + 0x98]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rsp + 0x68]
xor ebx, dword [rsp + 0xc0]
xor ecx, ebp
xor r8d, ebp
xor esi, ebp
xor r8d, dword [rsp + 0xa0]
mov dword [rsp + 0x58], ebx
xor r13d, ebp
mov ebx, dword [rsp + 0x88]
xor ebx, dword [rsp + 0xa8]
mov dword [rsp + 0x68], esi
xor r13d, dword [rsp + 0xb8]
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x80], ebx
mov r8d, dword [rsp + 0x94]
xor r8d, dword [rsp + 0xc8]
mov esi, dword [rsp + 0xb0]
mov ebx, dword [rsp + 0xb4]
xor esi, dword [rsp + 0xd8]
xor ebp, r8d
xor ebx, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xa8]
mov dword [rsp + 0x88], esi
mov dword [rsp + 0x94], ebx
mov esi, dword [rsp + 0x1c]
mov ebx, dword [rsp + 0x98]
mov r11d, dword [rsp + 0xc0]
xor r8d, edi
xor esi, edi
xor r8d, dword [rsp + 0x18]
xor ebx, edi
xor ebx, dword [rsp + 0x28]
mov dword [rsp + 0x98], esi
xor r11d, edi
mov esi, dword [rsp + 0xa0]
mov dword [rsp + 0xb0], ebx
mov dword [rsp + 0xa0], r8d
mov ebx, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xb8]
xor ebx, dword [rsp + 0x30]
xor esi, r10d
xor r10d, edx
xor r8d, dword [rsp + 0x20]
mov dword [rsp + 0xb4], ebx
xor r8d, edi
mov ebx, dword [rsp + 0xd8]
mov edi, dword [rsp + 0xf8]
mov dword [rsp + 0xa8], r8d
mov r8d, dword [rsp + 0x1c]
xor ebx, r9d
xor edi, edx
mov dword [rsp + 0xb8], ebx
mov ebx, dword [rsp + 0xd0]
xor r8d, edx
mov dword [rsp + 0xc0], edi
mov edi, dword [rsp + 0x4c]
xor edi, dword [rsp + 0x28]
xor r8d, dword [rsp + 0x48]
xor ebx, edx
mov dword [rsp + 0x48], edi
mov edi, dword [rsp + 0x64]
xor edi, dword [rsp + 0x18]
xor r10d, dword [rsp + 0x60]
xor edx, edi
mov edi, dword [rsp + 0x78]
xor edi, dword [rsp + 0x20]
mov dword [rsp + 0x18], edi
mov edi, dword [rsp + 0x7c]
xor edi, dword [rsp + 0x30]
xor r9d, dword [rsp + 0x40]
mov dword [rsp + 0x1c], edi
mov edi, dword [rsp + 0xe0]
xor edi, dword [rsp + 0x14]
mov dword [rsp + 0x20], edi
mov edi, dword [rsp + 0x2c]
xor edi, dword [rsp + 0x14]
mov dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x14]
xor edi, dword [rsp + 0xc0]
mov dword [rsp + 0x40], edi
mov edi, dword [rsp + 0x28]
xor edi, r8d
xor r8d, esi
xor esi, r13d
mov dword [rsp + 0x4c], edi
mov edi, dword [rsp + 0x34]
xor esi, ebx
xor edi, dword [rsp + 0x48]
mov dword [rsp + 0x60], edi
mov edi, dword [rsp + 0xdc]
xor edi, r10d
xor edi, dword [rsp + 0x14]
xor r10d, r9d
mov dword [rsp + 0x64], edi
mov edi, dword [rsp + 0x20]
xor edi, edx
mov dword [rsp + 0x78], edi
mov edi, dword [rsp + 0xe8]
xor edi, dword [rsp + 0x18]
mov dword [rsp + 0x7c], edi
mov edi, dword [rsp + 0x104]
xor edi, dword [rsp + 0x1c]
xor edx, dword [rsp + 0xb4]
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0xc8], edi
mov edi, dword [rsp + 0x110]
mov dword [rsp + 0xd0], edx
mov edx, dword [rsp + 0x18]
xor edi, r9d
xor edx, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x98]
mov dword [rsp + 0x118], esi
mov dword [rsp + 0xd8], edi
mov edi, dword [rsp + 0x98]
mov esi, dword [rsp + 0x88]
mov dword [rsp + 0xf8], edx
xor r8d, ebx
mov edx, dword [rsp + 0x1c]
xor edi, r9d
xor r8d, dword [rsp + 0x70]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], edi
mov edi, dword [rsp + 0x68]
xor edx, ebx
xor esi, dword [rsp + 0xa8]
mov dword [rsp + 0x1c], r8d
mov dword [rsp + 0x114], edx
mov edx, dword [rsp + 0xa0]
xor edi, ebx
mov dword [rsp + 0x18], edi
mov edi, dword [rsp + 0x80]
xor edx, ebx
xor edi, dword [rsp + 0xb0]
mov dword [rsp + 0x124], esi
xor edx, ebp
mov esi, dword [rsp + 0xb4]
xor esi, dword [rsp + 0x94]
mov dword [rsp + 0x98], edi
mov dword [rsp + 0x120], edx
mov edx, r13d
mov dword [rsp + 0xb4], esi
mov r10d, dword [rsp + 0x68]
xor edx, r11d
mov esi, dword [rsp + 0xb8]
mov ebx, dword [rsp + 0x70]
xor r10d, r11d
mov r8d, dword [rsp + 0x80]
mov edi, dword [rsp + 0x2c]
xor esi, r11d
mov r13d, dword [rsp + 0x110]
mov dword [rsp + 0xb8], esi
mov esi, dword [rsp + 0x50]
xor esi, r11d
xor ebx, r15d
xor ebp, dword [rsp + 0x38]
xor edi, ecx
mov dword [rsp + 0x68], ebx
xor edx, r14d
xor r13d, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x94]
mov dword [rsp + 0x70], ebp
xor r13d, r12d
mov ebp, dword [rsp + 0x88]
xor r10d, dword [rsp + 0x90]
xor ebx, ecx
xor r8d, dword [rsp + 0x108]
xor ebp, dword [rsp + 0x58]
mov dword [rsp + 0x80], ebx
mov ebx, dword [rsp + 0x50]
xor r8d, r11d
mov r11d, dword [rsp + 0x108]
xor r14d, dword [rsp + 0x104]
mov dword [rsp + 0x50], edi
xor ebx, ecx
xor ebx, dword [rsp + 0x34]
mov dword [rsp + 0x88], ebx
mov ebx, dword [rsp + 0xdc]
xor r11d, ecx
xor ebx, dword [rsp + 0x90]
xor r11d, dword [rsp + 0xe8]
mov dword [rsp + 0x90], ebx
mov ebx, dword [rsp + 0xe0]
xor ebx, r15d
xor ebx, ecx
mov ecx, dword [rsp + 0x14]
xor ecx, dword [rsp + 0x58]
mov dword [rsp + 0x94], ebx
mov ebx, dword [rsp + 0x100]
xor ebx, dword [rsp + 0x24]
xor esi, dword [rsp + 0x10]
mov dword [rsp + 0x58], r13d
xor r11d, ebx
xor ecx, dword [rsp + 0x10]
mov dword [rsp + 0xe0], esi
mov esi, dword [rsp + 0x68]
mov dword [rsp + 0x38], r11d
mov r11d, dword [rsp + 0x10]
mov edi, dword [rsp + 0xf4]
mov dword [rsp + 0xdc], ecx
xor edi, dword [rsp + 0x24]
mov r15d, dword [rsp + 0xf0]
mov r13d, dword [rsp + 0x10]
xor r15d, dword [rsp + 0x24]
xor r11d, edi
xor r13d, dword [rsp + 0x24]
xor r14d, dword [rsp + 0xc]
xor r10d, r13d
mov ecx, dword [rsp + 0x44]
xor ecx, dword [rsp + 0x10]
xor esi, r15d
mov dword [rsp + 0x104], esi
mov esi, dword [rsp + 0x70]
xor r8d, ecx
xor ecx, r12d
mov dword [rsp + 0x110], r8d
mov r8d, ecx
mov ecx, dword [rsp + 0x18]
xor edx, r11d
xor esi, ebx
xor ebp, dword [rsp + 0xc]
mov dword [rsp + 0xe8], r10d
mov r10d, r12d
mov dword [rsp + 0x14], esi
mov esi, dword [rsp + 0x80]
xor ecx, r12d
xor r10d, r15d
mov dword [rsp + 0x108], ecx
mov ecx, dword [rsp + 0x1c]
xor esi, r12d
mov dword [rsp + 0x2c], esi
mov esi, dword [rsp + 0x10]
xor esi, r12d
xor ecx, esi
mov dword [rsp + 0x128], ecx
mov ecx, dword [rsp + 0x98]
xor esi, dword [rsp + 0x30]
xor ecx, r13d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x98], ecx
mov ecx, dword [rsp + 0x118]
xor ecx, r10d
mov dword [rsp + 0x118], ecx
mov ecx, dword [rsp + 0x120]
xor ecx, r8d
xor r8d, dword [rsp + 0xd0]
mov dword [rsp + 0x34], ecx
mov ecx, dword [rsp + 0x124]
xor ecx, r11d
xor r11d, dword [rsp + 0xf8]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rsp + 0xb4]
xor ecx, ebx
mov dword [rsp + 0x70], ecx
mov ecx, dword [rsp + 0xb8]
xor ecx, dword [rsp + 0xc]
mov dword [rsp + 0x80], ecx
mov ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0xc]
mov dword [rsp + 0x1c], ecx
mov ecx, dword [rsp + 0xc0]
xor ecx, r9d
xor ecx, dword [rsp + 0xb0]
xor ecx, dword [rsp + 0xc]
xor ecx, r12d
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0xa0]
xor ecx, dword [rsp + 0x48]
xor ecx, r9d
xor ecx, dword [rsp + 0xc]
mov r9d, dword [rsp + 0x114]
xor ecx, r13d
mov dword [rsp + 0x18], ecx
mov ecx, dword [rsp + 0xa8]
xor ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0xc]
xor ecx, r10d
xor r9d, ebx
rol edx, 2
mov dword [rsp + 0xb0], edx
mov ebx, dword [rsp + 0x2c]
rol r11d, 4
rol ecx, 4
mov dword [rsp + 0x2c], r11d
mov esi, dword [rsp + 0x14]
rol r8d, 4
rol ebp, 2
rol ebx, 2
mov r10d, dword [rsp + 0x50]
mov dword [rsp + 0x20], ecx
rol r9d, 4
mov r11d, dword [rsp + 0x88]
xor r10d, dword [rsp + 0x24]
rol esi, 2
mov dword [rsp + 0xb4], ebx
mov ebx, dword [rsp + 0x68]
shl r10, 0x20
mov edx, dword [rsp + 0xf0]
mov dword [rsp + 0xa0], esi
xor edx, dword [rsp + 0x40]
xor r11d, r15d
mov esi, dword [rsp + 0x34]
mov dword [rsp + 0x14], r8d
rol ebx, 3
or r10, rdx
shl r11, 0x20
mov edx, dword [rsp + 0x4c]
xor edx, dword [rsp + 0x44]
mov dword [rsp + 0xc0], ebx
rol esi, 3
mov ebx, dword [rsp + 0x80]
or r11, rdx
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0xb8], esi
xor edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xf4]
mov dword [rsp + 0xa8], ebp
lea rbp, [0x14072fa20]
xor ecx, dword [rsp + 0x60]
rol ebx, 3
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x34], r9d
shl rdx, 0x20
mov dword [rsp + 0xf8], ebx
mov ebx, dword [rsp + 0x38]
or rdx, rcx
mov ecx, dword [rsp + 0x94]
rol esi, 3
mov r8d, dword [rsp + 0x100]
rol ebx, 1
xor r8d, dword [rsp + 0x64]
mov dword [rsp + 0xd0], esi
mov esi, r14d
xor ecx, edi
shl rbx, 0x20
shl rcx, 0x20
or rcx, r8
mov r8d, dword [rsp + 0x78]
xor r8d, dword [rsp + 0xc]
or rbx, r8
mov r8d, dword [rsp + 0x7c]
rol esi, 1
mov r9d, dword [rsp + 0x10]
shl rsi, 0x20
xor r9d, dword [rsp + 0xc8]
mov edi, dword [rsp + 0x24]
xor r8d, r12d
xor edi, dword [rsp + 0xd8]
lea r12, [0x14072f9e0]
or rsi, r8
mov r8d, dword [rsp + 0x58]
rol r8d, 1
shl r8, 0x20
or r8, r9
mov r9d, dword [rsp + 0xdc]
rol r9d, 1
shl r9, 0x20
or r9, rdi
mov rdi, r10
xor rdx, rcx
mov r13, rsi
xor r9, rbx
or rdi, r11
or r13, r8
xor rdi, rcx
and rcx, r10
xor r13, rbx
and rbx, rsi
xor r11, rcx
xor rcx, rdx
and rdx, rdi
xor r8, rbx
not r11
not r8
xor rdx, r11
or r11, rcx
xor r10, r11
xor rcx, rdx
xor rdi, r11
and rdx, r11
mov r11, rbx
mov r14d, r10d
not rdi
xor r11, r9
and r9, r13
rol r14d, 2
xor r9, r8
or r8, r11
xor r11, r9
xor rsi, r8
and r9, r8
xor r11, r10
xor r14d, r11d
mov rbx, r11
rol r11d, 0xe
xor r11d, r14d
shr rbx, 0x20
rol r14d, 0xa
shr r10, 0x20
xor rsi, rdi
rol r10d, 2
xor r14d, r11d
rol r11d, 1
xor r10d, ebx
rol ebx, 0xe
xor ebx, r10d
rol r10d, 0xa
xor r10d, ebx
rol ebx, 1
shl r10, 0x20
shl rbx, 0x20
or r10, r14
or rbx, r11
mov r14, rsi
mov r11d, edi
shr rdi, 0x20
shr r14, 0x20
rol edi, 2
rol r11d, 2
xor edi, r14d
rol r14d, 0xe
xor r11d, esi
xor r14d, edi
rol esi, 0xe
rol edi, 0xa
xor esi, r11d
rol r11d, 0xa
xor edi, r14d
xor r11d, esi
rol r14d, 1
shl rdi, 0x20
or r11, rdi
shl r14, 0x20
xor r13, r8
mov edi, edx
rol edi, 2
xor r13, rdx
shr rdx, 0x20
xor r9, rcx
rol edx, 2
not r13
rol esi, 1
mov r8, r13
xor edi, r13d
rol r13d, 0xe
or rsi, r14
shr r8, 0x20
xor r13d, edi
rol edi, 0xa
xor edx, r8d
rol r8d, 0xe
xor edi, r13d
xor r8d, edx
rol edx, 0xa
xor edx, r8d
rol r8d, 1
rol r13d, 1
shl r8, 0x20
or r8, r13
mov r13d, ecx
shl rdx, 0x20
rol r13d, 2
or rdx, rdi
mov rdi, r9
xor r13d, r9d
rol r9d, 0xe
xor r9d, r13d
shr rdi, 0x20
rol r13d, 0xa
shr rcx, 0x20
xor r10, qword [rbp]
add rbp, 8
rol ecx, 2
xor r13d, r9d
rol r9d, 1
xor rbx, qword [r12]
xor ecx, edi
rol edi, 0xe
add r12, 8
xor edi, ecx
rol ecx, 0xa
xor ecx, edi
rol edi, 1
shl rdi, 0x20
shl rcx, 0x20
or r9, rdi
lea rdi, [0x14072fa60]
or rcx, r13
cmp rdi, rbp
jne 0x1403f2aa2
mov dword [rsp + 0x64], ebx
shr rbx, 0x20
mov edi, dword [rsp + 0xb4]
lea rbp, [0x14072f960]
mov dword [rsp + 0x4c], edx
shr rdx, 0x20
lea r12, [0x14072f920]
mov qword [rsp + 0x68], rbx
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x50], rdx
mov edx, dword [rsp + 0xe0]
mov dword [rsp + 0x78], esi
shr rsi, 0x20
shl rbx, 0x20
mov qword [rsp + 0x70], rsi
mov rsi, qword [rsp + 0x128]
or rbx, rdx
mov dword [rsp + 0x48], r11d
mov edx, dword [rsp + 0xe8]
shr r11, 0x20
mov r15, r11
shl rsi, 0x20
mov dword [rsp + 0x40], r10d
mov r11, qword [rsp + 0x98]
mov dword [rsp + 0x90], r9d
shr r9, 0x20
or rsi, rdx
shr r10, 0x20
mov edx, dword [rsp + 0x104]
shl r11, 0x20
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x88], r9
mov r9, qword [rsp + 0x118]
or r11, rdx
mov edx, dword [rsp + 0x110]
mov r10, qword [rsp + 0xb8]
mov dword [rsp + 0x60], ecx
shl r9, 0x20
mov dword [rsp + 0x7c], r8d
shr r8, 0x20
or r9, rdx
mov edx, dword [rsp + 0xb0]
mov qword [rsp + 0x80], r8
shl r10, 0x20
mov r8, qword [rsp + 0xc0]
shr rcx, 0x20
or r10, rdx
mov edx, dword [rsp + 0xa0]
mov qword [rsp + 0x58], rcx
shl r8, 0x20
mov ecx, dword [rsp + 0xa8]
or r8, rdx
mov rdx, qword [rsp + 0xd0]
shl rdx, 0x20
or rdx, rcx
mov rcx, qword [rsp + 0xf8]
shl rcx, 0x20
or rcx, rdi
mov rdi, rbx
xor r11, r9
mov r13, r8
xor rcx, r10
or rdi, rsi
or r13, rdx
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 rdx, rsi
xor rsi, rcx
and rcx, r13
not rdx
xor rcx, rdx
or rdx, rsi
xor rsi, rcx
xor r8, rdx
and rcx, rdx
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, rdx
mov edi, r11d
rol edi, 2
xor r13, r11
shr r11, 0x20
xor rcx, r9
rol r11d, 2
not r13
rol r8d, 1
mov rdx, r13
xor edi, r13d
rol r13d, 0xe
or r8, r14
shr rdx, 0x20
xor r13d, edi
rol edi, 0xa
xor r11d, edx
rol edx, 0xe
xor edi, r13d
xor edx, r11d
rol r11d, 0xa
xor r11d, edx
rol edx, 1
rol r13d, 1
shl rdx, 0x20
or rdx, r13
mov r13d, r9d
shl r11, 0x20
rol r13d, 2
or r11, rdi
mov rdi, rcx
xor r13d, ecx
rol ecx, 0xe
xor ecx, r13d
shr rdi, 0x20
rol r13d, 0xa
shr r9, 0x20
xor rbx, qword [rbp]
add rbp, 8
rol r9d, 2
xor r13d, ecx
rol ecx, 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 rcx, rdi
lea rdi, [0x14072f9a0]
or r9, r13
cmp rdi, rbp
jne 0x1403f2d80
mov dword [rsp + 0x94], ebx
mov r13d, r11d
shr rbx, 0x20
mov ebp, ecx
mov dword [rsp + 0xb0], esi
shr r11, 0x20
shr rsi, 0x20
lea r12, [0x14072f900]
mov dword [rsp + 0xb4], r9d
shr rcx, 0x20
shr r9, 0x20
lea r14, [0x14072f8e0]
mov dword [rsp + 0xc0], r10d
shr r10, 0x20
mov dword [rsp + 0xd8], r8d
shr r8, 0x20
mov dword [rsp + 0xdc], edx
shr rdx, 0x20
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rcx
mov edx, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x18]
and r11d, dword [rsp + 0x1c]
mov r10d, dword [rsp + 0x1c]
xor edx, r11d
or r10d, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x30]
xor r10d, dword [rsp + 0x18]
xor r8d, dword [rsp + 0x18]
not edx
xor r11d, r8d
mov ebx, dword [rsp + 0x1c]
and r8d, r10d
mov edi, dword [rsp + 0x2c]
xor r8d, edx
or edx, r11d
mov r9d, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x34]
xor ebx, edx
xor r11d, r8d
xor r10d, edx
and r8d, edx
mov edx, dword [rsp + 0x20]
and edx, dword [rsp + 0x14]
not r10d
xor ecx, dword [rsp + 0x20]
or r9d, dword [rsp + 0x2c]
xor edi, edx
xor r9d, dword [rsp + 0x20]
xor edx, ecx
not edi
mov esi, dword [rsp + 0x14]
and ecx, r9d
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 r9d, edi
xor esi, r10d
xor r9d, r8d
xor ecx, r11d
rol r10d, 2
xor edx, dword [r14]
not r9d
rol r8d, 2
xor r10d, esi
xor ebx, dword [r12]
rol r11d, 2
xor r8d, r9d
rol esi, 0xe
mov dword [rsp + 0x20], edx
xor r11d, ecx
rol r9d, 0xe
xor esi, r10d
add r12, 4
rol ecx, 0xe
xor r9d, r8d
rol r10d, 0xa
mov dword [rsp + 0x1c], ebx
xor ecx, r11d
rol r8d, 0xa
xor r10d, esi
add r14, 4
rol r11d, 0xa
xor r8d, r9d
rol esi, 1
lea rdx, [0x14072f920]
xor r11d, ecx
rol r9d, 1
mov dword [rsp + 0x28], r10d
rol ecx, 1
mov dword [rsp + 0x14], esi
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x18], r11d
mov dword [rsp + 0x34], ecx
cmp rdx, r12
jne 0x1403f2fce
xor edx, edx
jmp 0x1403f1f6b
mov ebx, dword [rsp + 0x40]
mov esi, dword [rsp + 0x48]
mov dword [rax + 0x4c], r15d
mov ecx, dword [rsp + 0x7c]
mov edi, dword [rsp + 0x70]
mov dword [rax + 0x28], ebx
mov ebx, dword [rsp + 0x4c]
mov dword [rax + 0x2c], esi
mov esi, dword [rsp + 0x60]
mov dword [rax + 0x30], ebx
mov ebx, dword [rsp + 0x64]
mov dword [rax + 0x34], esi
mov esi, dword [rsp + 0x78]
mov dword [rax + 0x38], ebx
mov ebx, dword [rsp + 0x90]
mov dword [rax + 0x3c], esi
mov esi, dword [rsp + 0x38]
mov dword [rax + 0x40], ecx
mov ecx, dword [rsp + 0x50]
mov dword [rax + 0x44], ebx
mov ebx, dword [rsp + 0x58]
mov dword [rax + 0x48], esi
mov esi, dword [rsp + 0x68]
mov dword [rax + 0x50], ecx
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x54], ebx
mov ebx, dword [rsp + 0x88]
mov dword [rax + 0x58], esi
mov esi, dword [rsp + 0x94]
mov dword [rax + 0x5c], edi
mov dword [rax + 0x60], ecx
mov dword [rax + 0x64], ebx
mov dword [rax + 0x68], esi
mov edi, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xb4]
mov ebx, dword [rsp + 0xc0]
mov dword [rax + 0x70], r13d
mov esi, dword [rsp + 0xd8]
mov dword [rax + 0x6c], edi
mov dword [rax + 0x74], ecx
mov edi, dword [rsp + 0xdc]
mov ecx, dword [rsp + 0x98]
mov dword [rax + 0x78], ebx
mov ebx, dword [rsp + 0xa0]
mov dword [rax + 0x7c], esi
mov dword [rax + 0x80], edi
mov esi, dword [rsp + 0xa8]
mov edi, dword [rsp + 0xb8]
mov dword [rax + 0x88], ecx
mov dword [rax + 0x8c], ebx
mov ecx, dword [rsp + 0xc8]
mov ebx, dword [rsp + 0xd0]
mov dword [rax + 0x90], esi
mov dword [rax + 0x94], edi
mov esi, dword [rsp + 0xe0]
mov edi, dword [rsp + 0xe8]
mov dword [rax + 0x98], ecx
mov dword [rax + 0x9c], ebx
mov ecx, dword [rsp + 0x1c]
mov ebx, dword [rsp + 0x28]
mov dword [rax + 0xa4], edi
mov dword [rax + 0xa8], ecx
mov dword [rax + 0xac], ebx
mov dword [rax + 0x84], ebp
mov dword [rax + 0xa0], esi
mov esi, dword [rsp + 0x30]
mov edi, dword [rsp + 0x18]
mov ecx, dword [rsp + 0x20]
mov dword [rax + 0xb0], esi
mov ebx, dword [rsp + 0x14]
mov dword [rax + 0xb4], edi
mov esi, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x34]
mov dword [rax + 0xb8], ecx
mov dword [rax + 0xbc], ebx
mov dword [rax + 0xc0], esi
mov dword [rax + 0xc4], edi
mov qword [rax + 0x20], rdx
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret