Function at 0x1400b1df0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov rdi, rcx
mov eax, dword [0x1405315b8]
add eax, dword [rcx + 0x160]
mov ecx, 0x9cb3a3a4
add ecx, dword [0x1404d3e94]
test eax, ecx
je 0x1400b2527
mov ecx, dword [rdi + 0x164]
mov eax, 0x9cb39ba4
add eax, dword [0x1404d3e94]
lea rdx, [fcn.1400b1df0]
add edx, edx
add edx, 0xd60
mov r8d, edx
not r8d
and r8d, edx
cmp r8d, eax
jne 0x1400b1e7e
movsxd r14, dword [0x140400930]
mov eax, dword [0x140531588]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1400b1e86
mov eax, dword [0x140400930]
jmp 0x1400b1e66
mov r8d, 0x9cb39ba4
lea rax, [fcn.1400b1df0]
add eax, eax
add eax, 0x4660
mov r9d, eax
not r9d
and r9d, eax
lea rax, [0x140400930]
add r14, rax
nop dword [rax]
mov eax, dword [0x1404d3e94]
add eax, r8d
cmp r9d, eax
jne 0x1400b1ed0
mov r12d, dword [0x140400948]
mov eax, dword [0x14053158c]
cmp eax, 0x20
jle 0x1400b1f03
mov eax, dword [0x140400948]
mov edx, dword [0x140531588]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1404d3e94]
lea r11d, [r10 - 0x634c645a]
xor edx, edx
div r11d
add r10d, 0x9cb39ba4
cmp edx, r10d
jne 0x1400b1eb0
jmp 0x1400b1ebe
add ecx, dword [0x1405315a0]
mov eax, ecx
xor eax, 0xfffffeff
mov edx, 0x9cb39ca4
add edx, dword [0x1404d3e94]
xor ecx, 0x100
xor eax, edx
not edx
and edx, ecx
or edx, eax
cmp edx, 0xffffffff
je 0x1400b2527
mov qword [rbp - 8], 0
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea rax, [0x140400808]
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x20]
call fcn.14023df40
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x58]
xor r8d, r8d
call fcn.14023b570
mov rbx, qword [rbp + 0x70]
mov r13d, dword [0x1404c8518]
lea esi, [r13 + 1]
mov dword [0x1404c8518], esi
mov al, 1
nop word cs:[rax + rax]
mov ecx, dword [0x140531588]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1400b1fb2
mov ecx, dword [0x140531588]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1400b1fb8
test al, al
je 0x1400b1f90
jmp 0x1400b1fa1
test r13d, esi
je 0x1400b1fc5
xor r15d, r15d
jmp 0x1400b25a1
mov eax, dword [0x14053158c]
cmp eax, 0x4e
jg 0x1400b2560
jmp 0x1400b2555
cmp qword [rbp + 0x78], 0x10
jb 0x1400b1fe6
mov rcx, qword [rbp + 0x60]
jmp 0x1400b1fea
lea rcx, [rbp + 0x60]
mov edx, ebx
call fcn.1400f5a80
mov rbx, qword [rbp + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
cmp qword [rbp + 0x78], 0x10
jb 0x1400b2056
mov r14, qword [rbp + 0x60]
cmp rbx, 0xf
jbe 0x1400b2060
mov r12, rbx
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x1400b2073
lea rcx, [r12 + 0x28]
call fcn.1403bba7c
mov rdx, rax
add rdx, 0x27
mov ecx, edx
not ecx
xor rdx, 0xffffffffffffffe0
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x1400b2080
lea r14, [rbp + 0x60]
cmp rbx, 0xf
ja 0x1400b200d
lea rax, [rbp + 0x10]
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
mov r12d, 0xf
jmp 0x1400b2090
lea rcx, [r12 + 1]
call fcn.1403bba7c
mov rcx, rax
mov qword [rbp + 0x10], rcx
lea r8, [rbx + 1]
mov rdx, r14
call fcn.1403e3a10
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], r12
lea rax, [0x1403fe9c8]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x78]
movabs r12, 0xcc5cc1783c354517
mov rcx, qword [0x1404d3e98]
add rcx, r12
cmp rax, rcx
jbe 0x1400b2129
mov rcx, qword [rbp + 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b2124
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, qword [0x1404d3e98]
movabs rdx, 0xcc5cc1783c354500
add rdx, rcx
cmp rdx, 0x20
jae 0x1400b253c
movabs rcx, 0xac7ca91a73321945
xor rcx, rax
movabs rdx, 0x2c7ca91a73321945
and rdx, rax
lea rax, [rcx + rdx*2]
movabs rdx, 0x538356e58ccde6e3
add rdx, rax
mov rcx, r8
call fcn.1400a6550
cmp qword [rdi + 0xb8], 0
je 0x1400b242d
lea rbx, [rdi + 0xb0]
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.1400f5af0
cmp rax, qword [rbx]
sete al
movzx ecx, byte [0x1405315a4]
test cl, al
jne 0x1400b2163
xor cl, al
je 0x1400b242d
movzx edx, word [0x1405311ba]
mov rcx, qword [rdi + 0x190]
call fcn.140239370
mov r14, rax
test rax, rax
lea rbx, [0x1403ff2a8]
cmove r14, rbx
mov qword [rbp + 0x70], 0
add r12, qword [0x1404d3e98]
mov qword [rbp + 0x78], r12
mov byte [rbp + 0x60], 0
mov rcx, r14
mov edx, 0x8b52083d
mov r8d, 0x2f44ea2d
mov r9d, 0x843e0099
call fcn.1400a9690
mov r12, rax
cmp rax, 0xf
jbe 0x1400b21d1
lea rcx, [rbp + 0x60]
mov rdx, r12
mov r9, r14
call fcn.140087e80
jmp 0x1400b21ea
mov qword [rbp + 0x70], r12
lea rcx, [rbp + 0x60]
mov rdx, r14
mov r8, r12
call fcn.1403e3a10
mov byte [rbp + r12 + 0x60], 0
lea rax, [0x1403fe9c8]
mov qword [rbp + 0x58], rax
movzx edx, word [0x1405311c8]
mov rcx, qword [rdi + 0x190]
call fcn.140239370
test rax, rax
cmovne rbx, rax
lea rdi, [rbp + 0x38]
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], 0
mov rcx, rbx
mov edx, 0x8b52083d
mov r8d, 0x2f44ea2d
mov r9d, 0x843e0099
call fcn.1400a9690
mov r14, rax
cmp rax, 0xf
jbe 0x1400b2259
mov rcx, rdi
mov rdx, r14
mov r9, rbx
call fcn.140087e80
jmp 0x1400b2271
mov qword [rbp + 0x48], r14
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call fcn.1403e3a10
mov byte [rbp + r14 + 0x38], 0
lea rax, [0x1403fe9c8]
mov qword [rbp + 0x30], rax
movzx eax, word [0x14040094c]
xor ecx, ecx
test r13d, esi
setne cl
movzx ecx, cx
or ecx, 0xb84a
nop word cs:[rax + rax]
cmp dword [0x1404d3e94], 0x634c645c
jne 0x1400b22a0
jmp 0x1400b22c4
mov edx, dword [0x140531588]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1400b22d8
mov edx, dword [0x140531588]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1400b22b0
add ecx, 0x47b5
mov edx, dword [0x1404d3ea0]
sub edx, r15d
add eax, edx
add eax, 0xffff93e6
and eax, ecx
mov ecx, dword [0x140531588]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1400b2308
mov byte [0x1405315a4], 0
test ax, ax
sete al
setne cl
movzx edx, byte [0x1405315a4]
xor al, cl
and al, dl
and dl, cl
xor al, cl
or al, dl
mov byte [0x1405315a4], al
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x186ad
lea rcx, [rbp - 0x28]
mov edx, 0xffffffff
xor r8d, r8d
mov r9d, 4
call fcn.140105f80
mov rax, qword [rbp + 0x50]
cmp rax, 0x10
jb 0x1400b23d5
mov rcx, qword [rbp + 0x38]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b23d0
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
movabs rdx, 0xcc5cc1783c354528
add rdx, qword [0x1404d3e98]
cmp rcx, rdx
jae 0x1400b254b
movabs rcx, 0xcc5cc1783c354530
add rcx, qword [0x1404d3e98]
mov rdx, rax
xor rdx, rcx
and rcx, rax
lea rdx, [rdx + rcx*2]
mov rcx, r8
call fcn.1400a6550
mov rax, qword [rbp + 0x78]
cmp rax, 0x10
jb 0x1400b2428
mov rcx, qword [rbp + 0x60]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b2423
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1400b2550
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a6550
call fcn.14015bd90
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x1400b247a
mov rcx, qword [rbp + 0x10]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1400b2475
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400b2541
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a6550
mov rax, qword [rbp]
cmp rax, 0x10
jb 0x1400b2527
mov rcx, qword [rbp - 0x18]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
mov r8, qword [0x1404d3e98]
movabs r9, 0xcc5cc1783c355507
xor r9, r8
movabs r10, 0x4c5cc1783c355507
and r10, r8
lea r8, [r9 + r10*2]
cmp rdx, r8
jbe 0x1400b2522
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400b2546
mov ecx, eax
not ecx
and ecx, 0x28
mov rdx, rax
and rdx, 0xffffffffffffffd7
or rdx, rcx
mov rcx, qword [0x1404d3e98]
movabs r9, 0xcc5cc1783c354530
add r9, rcx
and r9, rax
movabs rax, 0xcc5cc1783c35450a
add rax, rcx
imul rax, r9
mov rcx, rdx
xor rcx, rax
and rax, rdx
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a6550
nop
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
call fcn.14039c09c
mov eax, dword [0x14053158c]
cmp eax, 0x5e
jl 0x1400b256d
mov eax, dword [0x14053158c]
cmp eax, 0x53
jge 0x1400b2560
jmp 0x1400b2555
xor eax, eax
mov r15d, 0
test r12d, r12d
jle 0x1400b25a1
xor ecx, ecx
nop dword [rax]
cdqe
movzx edx, word [r14 + rax]
mov r15d, edx
xor r15d, edx
not r15d
and r15d, ecx
xor r15d, edx
add eax, 2
mov ecx, r15d
cmp eax, r12d
jl 0x1400b2580
mov eax, dword [0x1404d3e94]
mov ecx, eax
xor ecx, 0x9cb39ba4
and eax, 0x1cb39ba4
lea eax, [rcx + rax*2]
cmp ebx, eax
jne 0x1400b1fd9
jmp 0x1400b1ff5