Function at 0x1403d1177
Capabilities:
Encode data using xor

Disassembly:
mov r9d, 7
lea r8, [0x140703580]
mov edx, 0x17
jmp 0x1403d0161
mov r9d, 8
lea r8, [0x140703560]
mov edx, 0x16
jmp 0x1403d0161
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x30], rcx
mov rbx, qword [rsp + 0x30]
mov r10d, edx
mov ecx, r8d
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], r9
mov r9d, dword [rax + 4]
mov eax, r8d
add rax, qword [rbx + 0xa0]
bswap rax
mov qword [rsp + 0x70], rax
mov eax, r9d
lea rdx, [rsp + 0x6c]
or eax, r8d
je 0x1403d121c
cmp r9d, 3
jbe 0x1403d11df
test r8d, r8d
je 0x1403d1222
cmp r9d, 4
jne 0x1403d11e8
xor r9d, r9d
mov eax, 0xff
mov r8d, r9d
shr eax, cl
mov ecx, 3
not eax
sub ecx, r9d
and eax, r10d
mov byte [rsp + r8 + 0x6c], al
lea r8d, [r9 + 1]
xor eax, eax
cmp r8d, 4
cmova rcx, rax
add r8, rdx
mov rdi, r8
rep stosb byte [rdi], al
jmp 0x1403d1222
mov r9d, 4
mov eax, r9d
mov rcx, qword [rsp + 0x30]
mov r8d, 0x10
mov r15d, 0xa
add rdx, rax
sub r8, rax
call fcn.1403cb120
mov rax, qword [rsp + 0x30]
lea r9, [rsp + 0xb8]
mov rdi, r9
imul r8d, dword [rax + 8], 6
lea rdx, [rax + 0xc]
mov eax, 0x1e
sub rax, r8
lea rcx, [r8*4]
lea rsi, [rdx + rax*4]
rep movsb byte [rdi], byte [rsi]
mov ecx, eax
mov rsi, rdx
shl rcx, 2
rep movsb byte [rdi], byte [rsi]
lea rdi, [0x140702ce0]
lea rsi, [0x1407028e0]
mov rax, qword [rsp + 0x124]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xc4]
mov r8d, 0x6c
lea r13, [0x1407030e0]
lea r12, [0x1407024e0]
mov qword [rsp + 0x7c], rax
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x84], eax
call fcn.14042d778
mov rax, qword [rsp + 0x7c]
mov edx, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x84]
xor dword [rsp + 0xfc], edx
mov qword [rsp + 0xb8], rax
xor eax, dword [rsp + 0xc8]
xor r10d, edx
mov edx, eax
mov r9d, dword [rsp + 0xbc]
movzx r8d, al
shr edx, 0x10
xor r9d, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0xc8]
movzx edx, dl
xor qword [rsp + 0xf4], rcx
mov ebx, r9d
mov r8d, dword [r12 + r8*4]
mov ecx, dword [rdi + rdx*4]
movzx edx, ah
shr eax, 0x18
movzx ebx, bh
mov ebp, dword [r13 + rax*4]
mov eax, r9d
mov r11d, ebx
mov rbx, r12
shr eax, 0x18
mov r14d, dword [rsi + r11*4]
movzx r11d, r9b
mov edx, edx
mov eax, dword [r13 + rax*4]
mov r12d, dword [r12 + r11*4]
xor ebp, r8d
shr r9d, 0x10
mov edx, dword [rsi + rdx*4]
movzx r9d, r9b
xor ebp, ecx
mov r11d, eax
xor r8d, r12d
xor r11d, r12d
mov r12d, r10d
xor r11d, dword [rdi + r9*4]
mov r9d, r10d
shr r12d, 0x10
xor ebp, edx
xor r11d, r14d
xor edx, r14d
movzx r12d, r12b
shr r9d, 0x18
mov r14d, dword [rdi + r12*4]
movzx r12d, r10b
mov r9d, dword [r13 + r9*4]
mov r12d, dword [rbx + r12*4]
mov ebx, r10d
xor eax, r9d
movzx ebx, bh
xor ecx, r14d
xor r8d, r12d
xor r9d, r12d
mov r12d, dword [rsp + 0xc4]
mov r10d, ebx
xor r9d, r14d
xor r9d, dword [rsi + r10*4]
mov r10d, r12d
mov ebx, r12d
shr r10d, 0x18
movzx ebx, bh
mov r10d, dword [r13 + r10*4]
mov r13d, r12d
movzx r12d, r12b
shr r13d, 0x10
movzx r13d, r13b
xor eax, r10d
mov r14d, dword [rdi + r13*4]
mov r13d, ebx
lea rbx, [0x1407024e0]
mov r13d, dword [rsi + r13*4]
xor r10d, dword [rbx + r12*4]
mov r12d, ebp
xor ecx, r14d
xor edx, r13d
xor r10d, r14d
xor r12d, eax
xor r10d, r13d
mov r13d, r11d
and r12d, 0xff000000
xor r13d, ecx
and r13d, 0xff0000
or r12d, r13d
mov r13d, r8d
xor r13d, r10d
movzx r13d, r13b
or r12d, r13d
mov r13d, r9d
xor r13d, edx
and r13d, 0xff00
or r12d, r13d
mov r13d, r8d
mov dword [rsp + 0xb8], r12d
mov r12d, eax
shr r13d, 0x18
shl r12d, 8
xor r13d, ebp
xor r12d, r11d
movzx r13d, r13b
and r12d, 0xff000000
or r12d, r13d
mov r13d, ecx
shl r13d, 8
xor r13d, r9d
and r13d, 0xff0000
or r12d, r13d
mov r13d, edx
shl r13d, 8
xor r13d, r10d
and r13d, 0xff00
or r12d, r13d
mov r13d, r8d
mov dword [rsp + 0xbc], r12d
mov r12d, eax
shr r13d, 0x10
shl r12d, 0x10
xor r13d, r11d
xor r12d, r9d
movzx r13d, r13b
and r12d, 0xff000000
or r12d, r13d
mov r13d, ecx
shl r13d, 0x10
shl eax, 0x18
shr r8d, 8
xor r13d, r10d
xor eax, r10d
shr ecx, 8
and r13d, 0xff0000
xor r8d, r9d
and eax, 0xff000000
xor ecx, ebp
or r12d, r13d
mov r13d, edx
movzx r8d, r8b
shr edx, 8
shr r13d, 0x10
or eax, r8d
and ecx, 0xff0000
xor edx, r11d
xor r13d, ebp
or eax, ecx
and edx, 0xff00
and r13d, 0xff00
or eax, edx
or r12d, r13d
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0xc4], eax
dec r15d
jne 0x1403d1289
mov dword [rsp + 0x54], 0xd
lea r12, [0x140702ce0]
lea rbp, [0x1407028e0]
mov eax, dword [rsp + 0xb8]
lea rdi, [rsp + 0x7c]
mov ebx, dword [rsp + 0xc8]
lea rdx, [rsp + 0xf4]
lea rsi, [rsp + 0xf4]
mov ecx, 0xf
lea r13, [0x1407030e0]
xor ebx, eax
xor eax, dword [rsp + 0xf4]
lea r11, [0x1407024e0]
mov dword [rsp + 0xf4], eax
rep movsd dword [rdi], dword [rsi]
mov rdi, rdx
mov edx, eax
mov dword [rsp + 0xc8], ebx
shr edx, 0x10
mov dword [rsp + 0x40], ebx
lea rbx, [rsp + 0xb8]
mov ecx, 0xf
movzx edx, dl
mov rsi, rbx
mov qword [rsp + 0x38], rbx
rep movsd dword [rdi], dword [rsi]
mov rdi, rbx
lea rsi, [rsp + 0x7c]
mov ecx, 0xf
rep movsd dword [rdi], dword [rsi]
mov edi, dword [r12 + rdx*4]
movzx edx, ah
mov edx, edx
mov ebx, dword [rbp + rdx*4]
movzx edx, al
shr eax, 0x18
mov ecx, dword [rsp + 0xbc]
mov esi, dword [r11 + rdx*4]
mov r10d, dword [rsp + 0xc0]
mov dword [rsp + 0x44], ebx
mov ebx, dword [r13 + rax*4]
movzx r14d, r10b
xor ebx, esi
mov eax, ebx
mov rbx, r11
xor eax, edi
xor eax, dword [rsp + 0x44]
mov r14d, dword [rbx + r14*4]
mov ebx, r10d
mov r15d, eax
mov eax, ecx
movzx ebx, bh
shr eax, 0x18
mov r8d, dword [r13 + rax*4]
movzx eax, ch
mov eax, eax
mov edx, dword [rbp + rax*4]
movzx eax, cl
shr ecx, 0x10
mov eax, dword [r11 + rax*4]
movzx ecx, cl
mov r11d, r8d
xor r11d, eax
xor r11d, dword [r12 + rcx*4]
mov ecx, r10d
xor eax, r14d
shr ecx, 0x18
xor eax, esi
mov esi, dword [rsp + 0xc4]
xor r11d, edx
mov r9d, dword [r13 + rcx*4]
mov ecx, r10d
mov r10d, ebx
shr ecx, 0x10
mov ebx, esi
xor r8d, r9d
xor r9d, r14d
mov r14d, esi
movzx ecx, cl
shr r14d, 0x10
mov ecx, dword [r12 + rcx*4]
movzx r14d, r14b
mov r14d, dword [r12 + r14*4]
xor r9d, ecx
xor r9d, dword [rbp + r10*4]
mov r10d, esi
shr r10d, 0x18
movzx esi, sil
xor ecx, r14d
mov r10d, dword [r13 + r10*4]
xor ecx, edi
movzx edi, bh
lea rbx, [0x1407024e0]
mov edi, edi
xor r8d, r10d
mov edi, dword [rbp + rdi*4]
xor r10d, dword [rbx + rsi*4]
mov esi, r11d
lea rbx, [0x1407024e0]
xor r10d, r14d
xor esi, ecx
xor r10d, edi
xor edx, edi
mov edi, r9d
xor edx, dword [rsp + 0x44]
and esi, 0xff0000
xor edi, edx
mov r14d, edx
and edi, 0xff00
shl r14d, 8
or esi, edi
mov edi, eax
xor r14d, r10d
xor edi, r10d
and r14d, 0xff00
movzx edi, dil
or esi, edi
mov edi, r15d
xor edi, r8d
and edi, 0xff000000
or esi, edi
mov edi, ecx
shl edi, 8
mov dword [rsp + 0xb8], esi
xor edi, r9d
and edi, 0xff0000
or edi, r14d
mov r14d, r8d
shl r14d, 8
xor r14d, r11d
and r14d, 0xff000000
or edi, r14d
mov r14d, eax
shr r14d, 0x18
xor r14d, r15d
movzx r14d, r14b
or edi, r14d
mov r14d, eax
mov dword [rsp + 0x44], edi
shr r14d, 0x10
mov dword [rsp + 0xbc], edi
mov edi, r8d
xor r14d, r11d
shl edi, 0x10
movzx r14d, r14b
xor edi, r9d
and edi, 0xff000000
or edi, r14d
mov r14d, ecx
shl r14d, 0x10
xor r14d, r10d
and r14d, 0xff0000
or edi, r14d
mov r14d, edx
shr r14d, 0x10
shl r8d, 0x18
shr eax, 8
xor r8d, r10d
shr ecx, 8
xor r14d, r15d
xor eax, r9d
and r8d, 0xff000000
xor ecx, r15d
shr edx, 8
movzx eax, al
xor edx, r11d
and ecx, 0xff0000
and r14d, 0xff00
or eax, r8d
and edx, 0xff00
or edi, r14d
mov r8d, 0x40
or eax, ecx
mov dword [rsp + 0x48], edi
mov ecx, 0xe
or eax, edx
mov dword [rsp + 0xc0], edi
lea rdi, [rsp + 0x7c]
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc8]
xor eax, esi
xor esi, dword [rsp + 0xf8]
mov r15d, esi
mov dword [rsp + 0xf8], esi
lea rsi, [rsp + 0xf8]
rep movsd dword [rdi], dword [rsi]
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0xf0]
lea rsi, [rsp + 0x7c]
mov dword [rsp + 0xc8], eax
call fcn.14042d778
mov eax, r15d
mov rdi, qword [rsp + 0x38]
mov ecx, 0xe
rep movsd dword [rdi], dword [rsi]
shr eax, 0x10
movzx eax, al
mov edi, dword [r12 + rax*4]
mov eax, r15d
mov edx, dword [rsp + 0xbc]
movzx eax, ah
mov r11d, dword [rsp + 0xc0]
mov eax, eax
movzx ecx, dl
mov esi, dword [rbp + rax*4]
movzx eax, r15b
shr r15d, 0x18
mov ecx, dword [rbx + rcx*4]
mov r14d, dword [rbx + rax*4]
mov eax, dword [r13 + r15*4]
movzx r15d, r11b
mov r15d, dword [rbx + r15*4]
mov ebx, r11d
xor eax, r14d
movzx ebx, bh
xor eax, edi
xor eax, esi
mov dword [rsp + 0x38], eax
mov eax, edx
shr eax, 0x18
mov r8d, dword [r13 + rax*4]
movzx eax, dh
shr edx, 0x10
movzx edx, dl
mov eax, eax
mov r10d, r8d
mov eax, dword [rbp + rax*4]
xor r10d, ecx
xor r10d, dword [r12 + rdx*4]
mov edx, r11d
shr edx, 0x18
xor r10d, eax
mov r9d, dword [r13 + rdx*4]
mov edx, r11d
mov r11d, ebx
mov ebx, dword [rsp + 0x40]
xor r8d, r9d
shr edx, 0x10
xor r9d, r15d
xor ecx, r15d
movzx edx, dl
xor ecx, r14d
mov edx, dword [r12 + rdx*4]
xor r9d, edx
xor r9d, dword [rbp + r11*4]
mov r11d, dword [rsp + 0x40]
shr r11d, 0x18
mov r11d, dword [r13 + r11*4]
mov r13d, dword [rsp + 0x40]
shr r13d, 0x10
xor r8d, r11d
movzx r13d, r13b
mov r14d, r8d
mov r13d, dword [r12 + r13*4]
xor edx, r13d
xor edx, edi
movzx edi, bh
lea rbx, [0x1407024e0]
mov edi, edi
mov edi, dword [rbp + rdi*4]
xor eax, edi
xor eax, esi
movzx esi, byte [rsp + 0x40]
xor r11d, dword [rbx + rsi*4]
mov esi, r9d
xor r11d, r13d
mov r13d, r10d
xor esi, eax
xor r13d, edx
and esi, 0xff00
xor r11d, edi
mov edi, eax
and r13d, 0xff0000
shl edi, 8
or r13d, esi
mov esi, ecx
xor edi, r11d
xor esi, r11d
movzx esi, sil
or r13d, esi
mov esi, dword [rsp + 0x38]
xor esi, r8d
and esi, 0xff000000
or r13d, esi
mov esi, edx
shl esi, 8
mov dword [rsp + 0xb8], r13d
xor esi, r9d
and esi, 0xff0000
and edi, 0xff00
shl r14d, 0x10
or esi, edi
mov edi, r8d
xor r14d, r9d
shl r8d, 0x18
shl edi, 8
and r14d, 0xff000000
xor r8d, r11d
xor edi, r10d
and r8d, 0xff000000
and edi, 0xff000000
or esi, edi
mov edi, ecx
shr edi, 0x18
xor edi, dword [rsp + 0x38]
movzx edi, dil
or esi, edi
mov edi, ecx
shr ecx, 8
shr edi, 0x10
xor ecx, r9d
mov dword [rsp + 0xbc], esi
xor edi, r10d
movzx ecx, cl
movzx edi, dil
or ecx, r8d
or r14d, edi
mov edi, edx
shr edx, 8
shl edi, 0x10
xor edi, r11d
and edi, 0xff0000
or r14d, edi
mov edi, eax
shr edi, 0x10
xor edi, dword [rsp + 0x38]
and edi, 0xff00
or edi, r14d
mov dword [rsp + 0xc0], edi
xor edx, dword [rsp + 0x38]
and edx, 0xff0000
or edx, ecx
shr eax, 8
xor eax, r10d
and eax, 0xff00
or eax, edx
dec dword [rsp + 0x54]
mov dword [rsp + 0xc4], eax
jne 0x1403d154f
mov ecx, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x44]
xor ecx, r13d
xor edx, r13d
mov dword [rsp + 0xc8], ecx
mov dword [rsp + 0xf4], edx
bswap esi
mov rbx, qword [rsp + 0x28]
mov dword [rbx], esi
bswap edi
mov dword [rbx + 4], edi
bswap eax
mov dword [rbx + 8], eax
mov eax, ecx
bswap eax
mov dword [rbx + 0xc], eax
mov eax, edx
bswap eax
mov dword [rbx + 0x10], eax
mov eax, dword [rsp + 0x48]
bswap eax
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x4c]
bswap eax
cmp qword [rsp + 0x58], 8
mov dword [rbx + 0x18], eax
jne 0x1403d1ae2
mov eax, dword [rsp + 0x50]
bswap eax
mov rcx, qword [rsp + 0x30]
mov dword [rbx + 0x1c], eax
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1403d1160
mov rcx, qword [rsp + 0x30]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1403d1144