Function at 0x1400a62b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov esi, r8d
mov ebx, ecx
mov r14, qword [0x140186d50]
mov edi, edx
or edi, 0xd000
test edx, 0x3c00
cmovne edi, edx
and ecx, 0xffff0fff
lea eax, [rcx - 0x20f]
cmp eax, 7
ja 0x1400a6320
mov eax, 0x1000
cmp ecx, 0x20f
je 0x1400a6349
cmp ecx, 0x213
je 0x1400a6349
mov ecx, ebx
and ecx, 0xffff0ffb
cmp ecx, 0x210
je 0x1400a6334
cmp ecx, 0x211
jne 0x1400a633b
mov eax, 0x4000
jmp 0x1400a6349
cmp dword [r14 + 0x49f8], ebx
jne 0x1400a6354
int3
mov eax, 0x2000
jmp 0x1400a6349
xor eax, eax
cmp ecx, 0x212
sete al
shl eax, 0xf
or ebx, eax
cmp dword [r14 + 0x49f8], ebx
je 0x1400a6329
test edi, 0x10000
je 0x1400a636a
cmp qword [r14 + 0x4ba8], 0
je 0x1400a678a
test edi, 0x2000
jne 0x1400a64c8
mov eax, dword [r14 + 0x40e4]
test eax, eax
je 0x1400a65e8
cmp eax, esi
je 0x1400a65e8
test edi, 0x400
jne 0x1400a678a
cmp byte [r14 + 0xe4], 0
je 0x1400a65a2
mov eax, ebx
and eax, 0x5000
cmp eax, 0x1000
je 0x1400a65a2
mov rax, qword [0x140186d50]
test ebx, 0x1000
je 0x1400a63d2
cmp byte [rax + 0x59], 0
jne 0x1400a65a2
mov ecx, ebx
and ecx, 0xffff0fe0
add ecx, 0xfffffe00
sar ecx, 5
movsxd rcx, ecx
mov eax, dword [rax + rcx*4 + 0x4148]
bt eax, ebx
jae 0x1400a65a2
test byte [r14 + 0x6184], 0x80
je 0x1400a678a
mov ecx, ebx
call fcn.1400917b0
mov r8, rax
cmp byte [0x1401876f2], 0
jne 0x1400a6882
mov ecx, 1
xor r9d, r9d
movabs r11, 0x842108421084211
lea rbx, [0x140109b30]
lea r14, [0x140187699]
mov rax, rcx
mul r11
mov r10, rdx
mov rax, r9
mul r11
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
mov rdx, rax
shl rdx, 5
sub rax, rdx
lea rdx, [rbx + r9]
movzx eax, byte [rdx + rax + 0x1948]
xor al, byte [r9 + rbx + 0x1967]
mov byte [r9 + r14], al
cmp r9, 0x58
je 0x1400a687b
mov rax, rcx
sub rax, r10
shr rax, 1
add rax, r10
shr rax, 4
mov rdx, rax
shl rdx, 5
sub rax, rdx
add rax, rbx
add rax, 0x1949
movzx eax, byte [rax + r9]
xor al, byte [r9 + rbx + 0x1968]
mov byte [r9 + r14 + 1], al
add r9, 2
add rcx, 2
jmp 0x1400a643b
mov bpl, 1
test byte [r14 + 0x6184], 0x80
je 0x1400a6852
mov ecx, ebx
call fcn.1400917b0
mov r8, rax
cmp byte [0x140187698], 0
jne 0x1400a6588
mov ecx, 1
xor r9d, r9d
movabs r10, 0x1a7b9611a7b9611b
lea r11, [0x140109b30]
lea rbx, [0x14018764c]
mov rax, rcx
mul r10
mov r14, rcx
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 4
mov rax, r9
mul r10
imul rax, r14, 0xffffffffffffffe3
mov r14, r9
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 4
imul rdx, r14, 0xffffffffffffffe3
lea r14, [r11 + r9]
movzx edx, byte [rdx + r14 + 0x18ce]
xor dl, byte [r9 + r11 + 0x18eb]
mov byte [r9 + rbx], dl
movzx eax, byte [rax + r14 + 0x18cf]
xor al, byte [r9 + r11 + 0x18ec]
mov byte [r9 + rbx + 1], al
add r9, 2
add rcx, 2
cmp r9, 0x4c
jne 0x1400a6510
mov byte [0x140187698], 1
lea rcx, [0x14018764c]
mov rdx, r8
mov r8d, edi
mov r9d, esi
call fcn.140086520
jmp 0x1400a6852
test di, di
js 0x1400a65e8
cmp byte [r14 + 0x49f4], 0
je 0x1400a65e8
mov eax, ebx
and eax, 0xffff0fff
je 0x1400a65c9
add eax, 0xfffffd89
cmp eax, 0xffffff88
jbe 0x1400a65e8
jmp 0x1400a678a
mov eax, ebx
and eax, 0xf000
lea ecx, [rax - 0x1000]
shr ecx, 0xc
cmp ecx, 7
ja 0x1400a65ba
mov edx, 0x8b
bt edx, ecx
jae 0x1400a65ba
test edi, 0x20000
jne 0x1400a65f9
lea rcx, [r14 + 0x49fc]
jmp 0x1400a660b
mov rax, qword [r14 + 0x4078]
mov rcx, qword [rax + 0x390]
add rcx, 0x10
mov rax, qword [0x140186d50]
test edi, 0x800
jne 0x1400a665c
test edi, 0x400
jne 0x1400a66a4
mov eax, edi
and eax, 0x9000
xor ebp, ebp
cmp eax, 0x1000
jne 0x1400a66ba
test edi, 0x4000
mov eax, 0xfe
mov ebp, 2
cmove ebp, eax
test byte [r14 + 0x6184], 0x80
jne 0x1400a66c8
jmp 0x1400a6782
mov ecx, dword [rcx]
test esi, esi
je 0x1400a666f
mov ebp, 1
cmp dword [rax + 0x40e4], esi
je 0x1400a66ba
mov ebp, 0xff
test ecx, ecx
je 0x1400a66ba
mov edx, dword [rax + 0x4bd0]
test edx, edx
jle 0x1400a66ba
mov r8, qword [rax + 0x4bd8]
xor eax, eax
nop dword [rax + rax]
cmp dword [r8 + rax*8], ecx
je 0x1400a6863
inc rax
cmp rdx, rax
jne 0x1400a6690
jmp 0x1400a66ba
test esi, esi
je 0x1400a66b5
mov ebp, 1
cmp dword [rax + 0x40e4], esi
je 0x1400a66ba
mov ebp, 0xff
test byte [r14 + 0x6184], 0x80
je 0x1400a6782
mov ecx, ebx
call fcn.1400917b0
mov r8, rax
cmp byte [0x140187734], 0
jne 0x1400a6769
mov ecx, 1
xor r9d, r9d
movabs r11, 0xd79435e50d79435f
lea r15, [0x140109b30]
lea r12, [0x1401876f3]
nop
mov rax, rcx
mul r11
mov r10, rdx
mov rax, r9
mul r11
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
lea rdx, [r15 + r9]
movzx eax, byte [rax + rdx + 0x19d7]
xor al, byte [r9 + r15 + 0x19ea]
mov byte [r9 + r12], al
cmp r9, 0x40
je 0x1400a6762
shr r10, 4
imul rax, r10, 0xffffffffffffffed
add rax, r15
add rax, 0x19d8
movzx eax, byte [rax + r9]
xor al, byte [r9 + r15 + 0x19eb]
mov byte [r9 + r12 + 1], al
add r9, 2
add rcx, 2
jmp 0x1400a6700
mov byte [0x140187734], 1
mov dword [rsp + 0x20], ebp
lea rcx, [0x1401876f3]
mov rdx, r8
mov r8d, edi
mov r9d, esi
call fcn.140086520
cmp ebp, 0xff
jne 0x1400a6791
xor ebp, ebp
jmp 0x1400a6852
mov ecx, ebx
call fcn.1400a5fd0
mov rdi, rax
movzx eax, byte [rax + 5]
cmp ebp, eax
jge 0x1400a67aa
mov dword [rdi + 0xc], esi
mov byte [rdi + 5], bpl
mov eax, dword [rdi + 8]
cmp eax, esi
jne 0x1400a684c
test byte [r14 + 0x6184], 0x80
mov eax, esi
je 0x1400a684c
cmp byte [0x140187751], 0
jne 0x1400a683d
xor ecx, ecx
movabs r8, 0x4ec4ec4ec4ec4ec5
lea r9, [0x140109b30]
lea r10, [0x140187735]
nop dword [rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
imul rax, rdx, 0xffffffffffffffe6
lea rdx, [r9 + rcx]
movzx r11d, byte [rax + rdx + 0x1a48]
movzx eax, byte [rax + rdx + 0x1a49]
xor r11b, byte [rcx + r9 + 0x1a62]
xor al, byte [rcx + r9 + 0x1a63]
mov byte [rcx + r10], r11b
mov byte [rcx + r10 + 1], al
add rcx, 2
cmp rcx, 0x1c
jne 0x1400a67f0
mov byte [0x140187751], 1
lea rcx, [0x140187735]
call fcn.140086520
mov eax, dword [rdi + 8]
cmp eax, esi
sete bpl
mov eax, ebp
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
add eax, 3
mov ebp, eax
test byte [r14 + 0x6184], 0x80
jne 0x1400a66c8
jmp 0x1400a6782
mov byte [0x1401876f2], 1
lea rcx, [0x140187699]
mov rdx, r8
mov r8d, edi
mov r9d, esi
call fcn.140086520
xor ebp, ebp
jmp 0x1400a6852