Function at 0x14004ca40
Capabilities:
Encode data using xor

Disassembly:
mov eax, Ordinal_266
call fcn.1400035e0
sub rsp, rax
mov rax, qword [0x1401ad1c0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rbp
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], r12
mov rbx, rcx
mov esi, 8
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xe0], r14
lea ecx, [rdx + 7]
mov eax, edx
mov qword [rsp + 0xd8], r15
shr ecx, 3
and eax, 7
lea r14d, [rsi + 4]
cmove eax, esi
xor ebp, ebp
cmp ecx, 1
mov dword [rsp + 0x24], ebp
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x2c], ebp
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
jbe 0x14004cc77
add ecx, 0xfffffffe
mov edi, ebp
mov dword [rsp + 0xb0], ecx
je 0x14004cc77
mov r15d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
nop
nop
test edi, edi
mov edx, dword [rbx]
mov r13d, dword [rbx + 4]
mov r11d, edx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x2c], r13d
jne 0x14004cbf5
lea rdx, [rsp + 0xb8]
xor r8d, r8d
mov rcx, rbx
call fcn.14004c060
cmp dword [0x1401f3edc], ebp
jne 0x14004cf65
mov rax, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0xbc]
lea r8, [rsp + 0x44]
mov dword [rsp + 0x40], eax
lea r10d, [rdi + 5]
nop
nop
nop
mov ecx, dword [r8 - 4]
add r8, 0x14
lea edx, [rcx + r9]
and ecx, 0x1f
mov dword [r8 - 0x14], edx
mov edx, eax
ror edx, cl
xor dword [rsp + 0x44], edx
mov ecx, dword [r8 - 0x14]
lea edx, [rcx + r9]
and ecx, 0x1f
mov dword [r8 - 0x10], edx
mov edx, eax
ror edx, cl
xor dword [rsp + 0x44], edx
mov ecx, dword [r8 - 0x10]
lea edx, [rcx + r9]
and ecx, 0x1f
mov dword [r8 - 0xc], edx
mov edx, eax
ror edx, cl
xor dword [rsp + 0x44], edx
mov ecx, dword [r8 - 0xc]
lea edx, [rcx + r9]
and ecx, 0x1f
mov dword [r8 - 8], edx
mov edx, eax
ror edx, cl
xor dword [rsp + 0x44], edx
mov ecx, dword [r8 - 8]
lea edx, [rcx + r9]
and ecx, 0x1f
mov dword [r8 - 4], edx
mov r15d, dword [rsp + 0x44]
mov edx, eax
ror edx, cl
xor r15d, edx
dec r10
mov dword [rsp + 0x44], r15d
jne 0x14004cb60
mov r12d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x20]
jmp 0x14004cc48
mov r10d, r14d
mov r8d, r13d
lea r9, [rsp + 0xa0]
nop
nop
nop
nop
sub edx, dword [r9 + 4]
mov ecx, r8d
shr ecx, 7
and ecx, 0x1f
ror edx, cl
xor edx, r8d
add r8d, dword [r9]
sub r9, rsi
mov ecx, edx
shr ecx, 4
and ecx, 0x1f
ror r8d, cl
xor r8d, edx
add r10d, 0xffffffff
jne 0x14004cc10
sub edx, r15d
sub r8d, r12d
mov dword [rbx + 4], r8d
mov dword [rbx], edx
mov eax, dword [rsp + 0x34]
inc edi
mov dword [rsp + 0x34], r11d
xor dword [rbx], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x38], r13d
xor dword [rbx + 4], eax
add rbx, rsi
cmp edi, dword [rsp + 0xb0]
jb 0x14004cb00
mov eax, dword [rsp + 0x28]
jmp 0x14004cc81
mov r15d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
test eax, eax
mov dword [rsp + 0xb0], ebp
mov r13d, ebp
mov dword [rsp + 0xb4], ebp
je 0x14004ccbd
lea rdx, [rbx + 8]
lea rcx, [rsp + 0xb0]
mov r8d, eax
call sub.MSVCR110.dll_memcpy
mov eax, dword [rsp + 0xb0]
mov r13d, dword [rsp + 0xb4]
mov dword [rsp + 0x24], eax
mov r11d, dword [rsp + 0x30]
cmp r11d, 1
jne 0x14004cd44
lea rbp, [0x1401f33fd]
mov rcx, rbx
mov rdx, rsi
sub rbp, rbx
nop
nop
movzx eax, byte [rcx]
inc rcx
dec rdx
mov byte [rcx + rbp - 1], al
jne 0x14004cce0
mov word [0x1401f33fb], si
mov word [0x1401f33f9], dx
call fcn.14004bd30
sub eax, 0x18
je 0x14004ceda
dec eax
je 0x14004cecb
cmp dword [0x1401f3edc], 0
jne 0x14004cf65
lea rdi, [0x1401f3516]
mov rcx, rbx
sub rcx, rdi
nop
movzx eax, byte [rdi]
inc rdi
dec rsi
mov byte [rcx + rdi - 1], al
jne 0x14004cd30
jmp 0x14004cf58
cmp r11d, 2
lea rbp, [0x1401f33fd]
lea rdi, [0x1401f3516]
jne 0x14004cdd7
mov r8, rbp
mov rcx, rbx
mov rdx, rsi
sub r8, rbx
nop
nop
nop
movzx eax, byte [rcx]
inc rcx
dec rdx
mov byte [r8 + rcx - 1], al
jne 0x14004cd70
mov word [0x1401f33fb], si
mov word [0x1401f33f9], dx
call fcn.14004bd30
sub eax, 0x18
je 0x14004ceda
dec eax
je 0x14004cecb
cmp dword [0x1401f3edc], 0
jne 0x14004cf65
mov r8, rbx
mov rcx, rdi
mov rdx, rsi
sub r8, rdi
nop
movzx eax, byte [rcx]
inc rcx
dec rdx
mov byte [r8 + rcx - 1], al
jne 0x14004cdc0
mov r11d, dword [rsp + 0x30]
jmp 0x14004ce32
mov edx, dword [rbx]
mov r8d, dword [rbx + 4]
mov r10d, r14d
lea r9, [rsp + 0xa0]
nop
nop
sub edx, dword [r9 + 4]
mov ecx, r8d
shr ecx, 7
and ecx, 0x1f
ror edx, cl
xor edx, r8d
add r8d, dword [r9]
sub r9, rsi
mov ecx, edx
shr ecx, 4
and ecx, 0x1f
ror r8d, cl
xor r8d, edx
add r10d, 0xffffffff
jne 0x14004cdf0
sub edx, r15d
sub r8d, r12d
cmp r11d, 1
mov dword [rbx], edx
mov dword [rbx + 4], r8d
jbe 0x14004cf58
mov eax, dword [rsp + 0x24]
xor r13d, dword [rbx + 4]
xor eax, dword [rbx]
mov dword [rsp + 0xb4], r13d
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14004ce8a
lea r8, [rsp + 0xb0]
mov r9, rbx
lea rcx, [rbx + 8]
sub r9, r8
mov r8, rax
lea rdx, [rsp + 0xb0]
movzx eax, byte [rcx]
inc rcx
inc rdx
dec r8
mov byte [r9 + rdx - 1], al
movzx eax, byte [rdx - 1]
mov byte [rcx - 1], al
jne 0x14004ce70
cmp r11d, 2
jne 0x14004cf11
mov rcx, rbx
mov rdx, rsi
sub rbp, rbx
nop
movzx eax, byte [rcx]
inc rcx
dec rdx
mov byte [rcx + rbp - 1], al
jne 0x14004cea0
mov word [0x1401f33fb], si
mov word [0x1401f33f9], dx
call fcn.14004bd30
sub eax, 0x18
je 0x14004ceda
dec eax
jne 0x14004cee6
mov dword [0x1401f3edc], 0x99
jmp 0x14004cf65
mov dword [0x1401f3edc], 0x98
jmp 0x14004cf65
cmp dword [0x1401f3edc], 0
jne 0x14004cf65
mov rcx, rbx
sub rcx, rdi
nop
nop
nop
movzx eax, byte [rdi]
inc rdi
dec rsi
mov byte [rcx + rdi - 1], al
jne 0x14004cf00
jmp 0x14004cf58
mov edx, dword [rbx]
mov r8d, dword [rbx + 4]
lea r9, [rsp + 0xa0]
nop
sub edx, dword [r9 + 4]
mov ecx, r8d
shr ecx, 7
and ecx, 0x1f
ror edx, cl
xor edx, r8d
add r8d, dword [r9]
sub r9, rsi
mov ecx, edx
shr ecx, 4
and ecx, 0x1f
ror r8d, cl
xor r8d, edx
add r14d, 0xffffffff
jne 0x14004cf20
sub edx, r15d
sub r8d, r12d
mov dword [rbx + 4], r8d
mov dword [rbx], edx
mov eax, dword [rsp + 0x20]
xor dword [rbx], eax
mov eax, dword [rsp + 0x2c]
xor dword [rbx + 4], eax
mov r15, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0xc0]
call fcn.14006b6a0
add rsp, 0x108
ret