Function at 0x1400d32f9
Capabilities:
Encode data using xor

Disassembly:
test rdx, rdx
je 0x1400d38ae
mov r11, rsp
push rsi
push r12
push r14
sub rsp, 0x190
mov rax, qword [0x140634590]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r14d, r8d
mov r12, rdx
mov rsi, rcx
test r8d, r8d
je 0x1400d3892
mov qword [r11 + 0x20], rbx
mov qword [r11 - 0x20], rbp
mov qword [r11 - 0x28], rdi
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r15
mov eax, dword [rsi + 0x24]
test eax, eax
jne 0x1400d3818
cmp r14d, 0x40
jb 0x1400d3818
mov rax, qword [r12]
lea r9, [rsp + 0x20]
lea r10, [rsp + 0x24]
mov qword [rsi + 0x28], rax
mov rax, qword [r12 + 8]
lea r11, [rsp + 0x28]
mov qword [rsi + 0x30], rax
mov rax, qword [r12 + 0x10]
lea rbx, [rsp + 0x2c]
mov qword [rsi + 0x38], rax
mov rax, qword [r12 + 0x18]
sub r9, rsi
mov qword [rsi + 0x40], rax
mov rax, qword [r12 + 0x20]
sub r10, rsi
mov qword [rsi + 0x48], rax
mov rax, qword [r12 + 0x28]
sub r11, rsi
mov qword [rsi + 0x50], rax
mov rax, qword [r12 + 0x30]
lea rdx, [rsi + 0x29]
mov qword [rsi + 0x58], rax
mov rax, qword [r12 + 0x38]
sub rbx, rsi
mov qword [rsi + 0x60], rax
mov r8d, 4
nop word [rax + rax]
movzx eax, byte [rdx]
movzx ecx, byte [rdx - 1]
add rdx, 0x10
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xc]
mov dword [r9 + rdx - 0x39], ecx
movzx ecx, byte [rdx - 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 8]
mov dword [r10 + rdx - 0x39], ecx
movzx ecx, byte [rdx - 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 4]
mov dword [r11 + rdx - 0x39], ecx
movzx ecx, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 2]
shl ecx, 8
or ecx, eax
dec r8
mov dword [rbx + rdx - 0x39], ecx
jne 0x1400d33d0
mov r15d, dword [rsi + 0x10]
mov edi, dword [rsi + 0x14]
mov r10d, dword [rsi + 0x18]
mov r11d, dword [rsi + 0x1c]
mov ebx, dword [rsi + 0x20]
mov ebp, r15d
lea r9, [rsp + 0x40]
lea r13d, [r8 + 0x10]
nop dword [rax]
mov edx, dword [r9 - 0x18]
mov ecx, dword [r9 - 0x14]
mov r8d, dword [r9 - 0x20]
xor r8d, dword [r9 + 0x14]
mov eax, dword [r9 - 0x1c]
add r9, 0x10
xor eax, dword [r9 + 8]
xor r8d, edx
xor eax, dword [r9 - 0xc]
xor r8d, dword [r9 - 0x10]
xor eax, ecx
rol r8d, 1
rol eax, 1
mov dword [r9 + 0x10], r8d
mov dword [r9 + 0x14], eax
mov eax, dword [r9 + 0xc]
xor eax, dword [r9 - 0x20]
xor eax, dword [r9 - 8]
xor eax, edx
rol eax, 1
mov dword [r9 + 0x18], eax
mov eax, dword [r9 - 0x1c]
xor eax, dword [r9 - 4]
xor eax, r8d
xor eax, ecx
rol eax, 1
dec r13
mov dword [r9 + 0x1c], eax
jne 0x1400d3490
lea rdx, [rsp + 0x20]
lea r8d, [r13 + 4]
nop dword [rax + rax]
mov eax, r11d
mov ecx, ebp
add rdx, 0x14
xor eax, r10d
rol ecx, 5
and eax, edi
xor eax, r11d
add ecx, eax
mov eax, r10d
add ecx, dword [rdx - 0x14]
rol edi, 0x1e
xor eax, edi
lea ebx, [rbx + rcx + 0x5a827999]
and eax, ebp
mov ecx, ebx
xor eax, r10d
rol ecx, 5
add ecx, eax
mov eax, edi
add ecx, dword [rdx - 0x10]
rol ebp, 0x1e
xor eax, ebp
lea r11d, [r11 + rcx + 0x5a827999]
and eax, ebx
mov ecx, r11d
xor eax, edi
rol ecx, 5
add ecx, eax
add ecx, dword [rdx - 0xc]
rol ebx, 0x1e
lea r10d, [r10 + rcx + 0x5a827999]
mov eax, ebx
xor eax, ebp
mov ecx, r10d
and eax, r11d
rol ecx, 5
xor eax, ebp
add ecx, eax
mov eax, ebx
add ecx, dword [rdx - 8]
rol r11d, 0x1e
lea edi, [rdi + rcx + 0x5a827999]
xor eax, r11d
and eax, r10d
mov ecx, edi
rol ecx, 5
xor eax, ebx
add ecx, eax
add ecx, dword [rdx - 4]
rol r10d, 0x1e
dec r8
lea ebp, [rbp + rcx + 0x5a827999]
jne 0x1400d3500
lea rdx, [rsp + 0x70]
mov r8d, 4
nop word [rax + rax]
mov eax, r11d
mov ecx, ebp
add rdx, 0x14
xor eax, r10d
rol ecx, 5
xor eax, edi
add ecx, eax
mov eax, r10d
add ecx, dword [rdx - 0x14]
rol edi, 0x1e
xor eax, edi
lea ebx, [rbx + rcx + 0x6ed9eba1]
xor eax, ebp
mov ecx, ebx
rol ecx, 5
add ecx, eax
mov eax, ebx
add ecx, dword [rdx - 0x10]
xor eax, edi
rol ebp, 0x1e
lea r11d, [r11 + rcx + 0x6ed9eba1]
xor eax, ebp
mov ecx, r11d
rol ecx, 5
add ecx, eax
add ecx, dword [rdx - 0xc]
rol ebx, 0x1e
lea r10d, [r10 + rcx + 0x6ed9eba1]
mov eax, ebx
xor eax, r11d
mov ecx, r10d
rol ecx, 5
xor eax, ebp
add ecx, eax
mov eax, ebx
add ecx, dword [rdx - 8]
rol r11d, 0x1e
lea edi, [rdi + rcx + 0x6ed9eba1]
xor eax, r11d
xor eax, r10d
mov ecx, edi
rol ecx, 5
add ecx, eax
add ecx, dword [rdx - 4]
rol r10d, 0x1e
dec r8
lea ebp, [rbp + rcx + 0x6ed9eba1]
jne 0x1400d35c0
lea r8, [rsp + 0xc0]
mov r9d, 4
nop dword [rax]
mov ecx, r10d
mov eax, r10d
mov edx, ebp
or ecx, edi
and eax, edi
rol edx, 5
and ecx, r11d
add r8, 0x14
or ecx, eax
add ecx, dword [r8 - 0x14]
add ecx, ebx
rol edi, 0x1e
lea ebx, [rcx + rdx - 0x70e44324]
mov ecx, edi
mov eax, edi
or ecx, ebp
and eax, ebp
mov edx, ebx
and ecx, r10d
rol edx, 5
or ecx, eax
mov eax, ebx
add ecx, dword [r8 - 0x10]
add ecx, r11d
rol ebp, 0x1e
lea r11d, [rcx + rdx - 0x70e44324]
and eax, ebp
mov ecx, ebx
or ecx, ebp
mov edx, r11d
and ecx, edi
rol edx, 5
or ecx, eax
add ecx, dword [r8 - 0xc]
add ecx, r10d
rol ebx, 0x1e
lea r10d, [rcx + rdx - 0x70e44324]
mov ecx, ebx
mov eax, ebx
or ecx, r11d
and eax, r11d
mov edx, r10d
and ecx, ebp
rol edx, 5
or ecx, eax
add ecx, dword [r8 - 8]
add ecx, edi
rol r11d, 0x1e
lea edi, [rcx + rdx - 0x70e44324]
mov ecx, r11d
mov eax, r11d
or ecx, r10d
and eax, r10d
mov edx, edi
and ecx, ebx
rol edx, 5
or ecx, eax
add ecx, dword [r8 - 4]
add ecx, ebp
rol r10d, 0x1e
dec r9
lea ebp, [rcx + rdx - 0x70e44324]
jne 0x1400d3670
lea rdx, [rsp + 0x110]
lea r8d, [r9 + 4]
mov eax, r11d
mov ecx, ebp
add rdx, 0x14
xor eax, r10d
rol ecx, 5
xor eax, edi
add eax, dword [rdx - 0x14]
add eax, ebx
rol edi, 0x1e
lea ebx, [rax + rcx - 0x359d3e2a]
mov eax, r10d
xor eax, edi
mov ecx, ebx
xor eax, ebp
rol ecx, 5
add eax, dword [rdx - 0x10]
add eax, r11d
rol ebp, 0x1e
lea r11d, [rax + rcx - 0x359d3e2a]
mov eax, ebx
xor eax, edi
mov ecx, r11d
xor eax, ebp
rol ecx, 5
add eax, dword [rdx - 0xc]
add eax, r10d
rol ebx, 0x1e
lea r10d, [rax + rcx - 0x359d3e2a]
mov eax, ebx
xor eax, r11d
mov ecx, r10d
xor eax, ebp
rol ecx, 5
add eax, dword [rdx - 8]
add eax, edi
rol r11d, 0x1e
lea edi, [rax + rcx - 0x359d3e2a]
mov eax, ebx
xor eax, r11d
mov ecx, edi
xor eax, r10d
rol ecx, 5
add eax, dword [rdx - 4]
add eax, ebp
rol r10d, 0x1e
dec r8
lea ebp, [rax + rcx - 0x359d3e2a]
jne 0x1400d3740
add qword [rsi + 8], 0x200
lea eax, [r15 + rbp]
add r12, 0x40
mov dword [rsi + 0x10], eax
mov eax, dword [rsi + 0x14]
add eax, edi
mov dword [rsi + 0x14], eax
mov eax, dword [rsi + 0x18]
add eax, r10d
mov dword [rsi + 0x18], eax
mov eax, dword [rsi + 0x1c]
add eax, r11d
mov dword [rsi + 0x1c], eax
mov eax, dword [rsi + 0x20]
add eax, ebx
add r14d, 0xffffffc0
mov dword [rsi + 0x20], eax
jmp 0x1400d3861
mov edi, 0x40
mov rdx, r12
sub edi, eax
mov eax, dword [rsi + 0x24]
cmp r14d, edi
lea rcx, [rax + rsi + 0x28]
cmovb edi, r14d
mov r8d, edi
mov ebx, edi
call fcn.14035fcd0
add dword [rsi + 0x24], edi
add r12, rbx
sub r14d, edi
cmp dword [rsi + 0x24], 0x40
jne 0x1400d3861
mov rcx, rsi
call fcn.1400d2e30
add qword [rsi + 8], 0x200
mov dword [rsi + 0x24], 0
test r14d, r14d
jne 0x1400d3340
mov r15, qword [rsp + 0x170]
mov r13, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x180]
mov rbp, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140360fe0
add rsp, 0x190
pop r14
pop r12
pop rsi
repz ret