Function at 0x140045f40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor edx, edx
cmp byte [0x140136e78], dl
mov qword [rsp + 0xb0], rdx
je 0x14004646d
cmp byte [0x140136e79], dl
jne 0x14004691c
lea rax, [0x140136e7a]
mov byte [0x140136e79], 1
mov ecx, 0xe
mov r9d, 3
sub rcx, rax
mov r10d, 4
mov qword [rsp + 0xc0], rcx
mov r11d, 5
mov ecx, 0xf
mov ebx, 6
sub rcx, rax
mov edi, 7
mov qword [rsp + 0xc8], rcx
mov esi, 8
mov ecx, 0x10
mov r14d, 9
sub rcx, rax
mov r15d, 0xa
mov qword [rsp + 0x28], rcx
mov r12d, 0xb
mov ecx, 0x11
mov ebp, 0xc
sub rcx, rax
mov r13d, 0xd
mov qword [rsp + 0x30], rcx
sub r9, rax
mov ecx, 0x12
sub r10, rax
sub rcx, rax
sub r11, rax
mov qword [rsp + 0x38], rcx
sub rbx, rax
mov ecx, 0x13
sub rdi, rax
sub rcx, rax
sub rsi, rax
mov qword [rsp + 0x40], rcx
sub r14, rax
mov ecx, 0x14
sub r15, rax
sub rcx, rax
sub r12, rax
mov qword [rsp + 0x48], rcx
sub rbp, rax
mov ecx, 0x15
sub r13, rax
sub rcx, rax
movabs r8, 0x137051795078ccd5
mov qword [rsp + 0x50], rcx
mov ecx, 0x16
sub rcx, rax
mov qword [rsp + 0x58], rcx
movabs rcx, 0xd28f2c51de26cd5
nop dword [rax + rax]
mov rax, qword [0x140136ea8]
xor rax, rdx
xor rax, rcx
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
lea rax, [0x140136e78]
add rax, 2
add rdx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [0x140136e79]
xor byte [rdx], al
mov rax, rdx
sub rax, rcx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [0x140136e78]
xor byte [rdx + 1], al
mov rax, rdx
sub rax, rcx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 2], al
lea rax, [r9 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 3]
xor al, cl
mov byte [rdx + 3], al
lea rax, [r10 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 4]
xor al, cl
mov byte [rdx + 4], al
lea rax, [r11 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 5]
xor al, cl
mov byte [rdx + 5], al
lea rax, [rbx + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 6]
xor al, cl
mov byte [rdx + 6], al
lea rax, [rdi + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 7]
xor al, cl
mov byte [rdx + 7], al
lea rax, [rsi + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 8]
xor al, cl
mov byte [rdx + 8], al
lea rax, [r14 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 9]
xor al, cl
mov byte [rdx + 9], al
lea rax, [r15 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xa]
xor al, cl
mov byte [rdx + 0xa], al
lea rax, [r12 + rdx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xb]
xor al, cl
mov byte [rdx + 0xb], al
lea rax, [rdx + rbp]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xc]
xor al, cl
mov byte [rdx + 0xc], al
lea rax, [rdx + r13]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xd]
xor al, cl
mov byte [rdx + 0xd], al
mov rax, qword [rsp + 0xc0]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xe]
xor al, cl
mov byte [rdx + 0xe], al
mov rax, qword [rsp + 0xc8]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0xf]
xor al, cl
mov byte [rdx + 0xf], al
mov rax, qword [rsp + 0x28]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x10]
xor al, cl
mov byte [rdx + 0x10], al
mov rax, qword [rsp + 0x30]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x11]
xor al, cl
mov byte [rdx + 0x11], al
mov rax, qword [rsp + 0x38]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x12]
xor al, cl
mov byte [rdx + 0x12], al
mov rax, qword [rsp + 0x40]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x13]
xor al, cl
mov byte [rdx + 0x13], al
mov rax, qword [rsp + 0x48]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x14]
xor al, cl
mov byte [rdx + 0x14], al
mov rax, qword [rsp + 0x50]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x15]
xor al, cl
mov byte [rdx + 0x15], al
mov rax, qword [rsp + 0x58]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, byte [rdx + 0x16]
xor al, cl
movabs rcx, 0xd28f2c51de26cd5
mov byte [rdx + 0x16], al
mov rdx, qword [rsp + 0xb0]
add rdx, 0x17
mov qword [rsp + 0xb0], rdx
cmp rdx, 0x2e
jb 0x140046080
jmp 0x14004691c
lea rax, [0x140136e7a]
mov ecx, 0xe
sub rcx, rax
mov r9d, 3
mov qword [rsp + 0xc0], rcx
mov r10d, 4
mov ecx, 0xf
mov r11d, 5
sub rcx, rax
mov ebx, 6
mov qword [rsp + 0xc8], rcx
mov edi, 7
mov ecx, 0x10
mov esi, 8
sub rcx, rax
mov r14d, 9
mov qword [rsp + 0x28], rcx
mov r15d, 0xa
mov ecx, 0x11
mov r12d, 0xb
sub rcx, rax
mov ebp, 0xc
mov qword [rsp + 0x30], rcx
mov r13d, 0xd
mov ecx, 0x12
sub r9, rax
sub rcx, rax
sub r10, rax
mov qword [rsp + 0x38], rcx
sub r11, rax
mov ecx, 0x13
sub rbx, rax
sub rcx, rax
sub rdi, rax
mov qword [rsp + 0x40], rcx
sub rsi, rax
mov ecx, 0x14
sub r14, rax
sub rcx, rax
sub r15, rax
mov qword [rsp + 0x48], rcx
sub r12, rax
mov ecx, 0x15
sub rbp, rax
sub rcx, rax
sub r13, rax
mov qword [rsp + 0x50], rcx
movabs r8, 0x137051795078ccd5
mov ecx, 0x16
sub rcx, rax
mov qword [rsp + 0x58], rcx
movabs rcx, 0xd28f2c51de26cd5
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x140136ea8]
xor rax, rdx
xor rax, rcx
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
lea rax, [0x140136e78]
add rax, 2
add rdx, rax
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [0x140136e79]
xor byte [rdx], al
mov rax, rdx
sub rax, rcx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
lea rcx, [0x140136e78]
xor byte [rdx + 1], al
mov rax, rdx
sub rax, rcx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 2], al
lea rax, [rdx + r9]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 3], al
lea rax, [rdx + r10]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 4], al
lea rax, [rdx + r11]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 5], al
lea rax, [rdx + rbx]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 6], al
lea rax, [rdx + rdi]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 7], al
lea rax, [rdx + rsi]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 8], al
lea rax, [rdx + r14]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 9], al
lea rax, [rdx + r15]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xa], al
lea rax, [rdx + r12]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xb], al
lea rax, [rdx + rbp]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xc], al
lea rax, [rdx + r13]
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xd], al
mov rax, qword [rsp + 0xc0]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xe], al
mov rax, qword [rsp + 0xc8]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0xf], al
mov rax, qword [rsp + 0x28]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x10], al
mov rax, qword [rsp + 0x30]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x11], al
mov rax, qword [rsp + 0x38]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x12], al
mov rax, qword [rsp + 0x40]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x13], al
mov rax, qword [rsp + 0x48]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x14], al
mov rax, qword [rsp + 0x50]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
xor byte [rdx + 0x15], al
mov rax, qword [rsp + 0x58]
add rax, rdx
xor rax, qword [0x140136ea8]
mov rcx, rax
shl rcx, 0xd
xor rcx, rax
xor rcx, r8
mov rax, rcx
shr rax, 7
xor al, cl
movabs rcx, 0xd28f2c51de26cd5
xor byte [rdx + 0x16], al
mov rdx, qword [rsp + 0xb0]
add rdx, 0x17
mov qword [rsp + 0xb0], rdx
cmp rdx, 0x2e
jb 0x140046570
mov rcx, qword [rsp + 0xb8]
lea r8, [0x140136ea7]
lea rdx, [0x140136e7a]
call fcn.1400049a0
mov rax, qword [rsp + 0xb8]
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret