Function at 0x1400b88ec
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
movzx r13d, word [rcx + 0x48]
xor r15d, r15d
mov r12b, dl
and r12b, 1
mov rdi, rdx
xor r13w, 0x7b
and rdi, 0xfffffffffffffffe
mov rbx, rcx
mov qword [rax + 0x18], r15
mov byte [rsp + 0x90], r12b
cmp r12b, r15b
jne 0x1400b8970
movzx edx, word [rcx + 0x48]
bts edx, 0x10
call fcn.14005fba4
mov word [rbx + 0xc8], r15w
movzx eax, word [rdi]
cmp word [rbx + 0x92], ax
je 0x1400b896a
cmp word [rbx + 0x94], ax
je 0x1400b896a
cmp word [rbx + 0x8a], ax
je 0x1400b896a
cmp word [rbx + 0x90], ax
jne 0x1400b8970
add rdi, 2
jmp 0x1400b8943
test byte [rbx + 0x10], 0x80
mov ebp, r15d
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x30], r15
je 0x1400b8994
lea r14, [rsp + 0x30]
cmp qword [0x140137040], r15
jne 0x1400b8999
lea r14, [rsp + 0x38]
movzx eax, word [rbx + 0x88]
cmp word [rdi], ax
je 0x1400b8f84
mov r12d, 9
test byte [rbx + 0x11], 1
je 0x1400b89c2
mov rcx, qword [rsp + 0xa0]
call fcn.140059884
test byte [rbx + 0xc8], 0x42
jne 0x1400b8f7c
movzx esi, word [rbx + 0x88]
mov rcx, rdi
mov qword [rsp + 0x98], rdi
call fcn.140061bb4
cmp word [rax], si
je 0x1400b8f7c
cmp ebp, r15d
jg 0x1400b8d63
movzx edx, word [rbx + 0x96]
movzx eax, word [rdi]
cmp dx, ax
jne 0x1400b8aec
add rdi, 2
mov r9, rdi
mov qword [rsp + 0x98], rdi
movzx eax, word [rdi]
cmp word [rbx + 0x92], ax
je 0x1400b8a41
cmp word [rbx + 0x94], ax
je 0x1400b8a41
cmp word [rbx + 0x8a], ax
je 0x1400b8a41
cmp word [rbx + 0x90], ax
jne 0x1400b8a47
add rdi, 2
jmp 0x1400b8a12
cmp word [rdi], si
je 0x1400b89af
lea rdx, [rbx + 0xaa]
mov rcx, rdi
call fcn.14005fb74
cmp eax, r15d
je 0x1400b89af
lea rdx, [rbx + 0x9a]
mov rcx, rdi
call fcn.14005fb74
cmp eax, r15d
je 0x1400b89af
mov rdx, qword [rbx + 0x40]
lea rax, [0x1401175e8]
mov qword [rsp + 0x98], r9
lea r8, [rsp + 0x98]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400ad8fc
mov rdi, qword [rsp + 0x98]
movzx eax, word [rdi]
cmp word [rbx + 0x92], ax
je 0x1400b8ade
cmp word [rbx + 0x94], ax
je 0x1400b8ade
cmp word [rbx + 0x8a], ax
je 0x1400b8ade
cmp word [rbx + 0x90], ax
jne 0x1400b89af
add rdi, 2
mov qword [rsp + 0x98], rdi
jmp 0x1400b8ab3
cmp ax, word [rbx + 0xba]
jne 0x1400b8d63
movzx eax, word [rbx + 0xbc]
cmp word [rdi + 2], ax
jne 0x1400b8d63
movzx r9d, word [rbx + 0x92]
lea rax, [rdi + 4]
mov qword [rsp + 0x98], rax
movzx ecx, word [rax]
cmp r9w, cx
je 0x1400b8b42
cmp word [rbx + 0x94], cx
je 0x1400b8b42
cmp word [rbx + 0x8a], cx
je 0x1400b8b42
cmp word [rbx + 0x90], cx
jne 0x1400b8b48
add rax, 2
jmp 0x1400b8b16
movzx ecx, word [rax]
cmp cx, si
je 0x1400b8b7f
cmp cx, word [rbx + 0x8a]
je 0x1400b8b7f
cmp cx, word [rbx + 0x90]
je 0x1400b8b7f
cmp dx, cx
je 0x1400b8b7f
add rax, 2
mov qword [rsp + 0x98], rax
mov cx, word [rax]
cmp cx, word [rbx + 0x88]
jne 0x1400b8b50
movzx ecx, word [rbx + 0x94]
movzx edx, word [rbx + 0x8a]
movzx r8d, word [rbx + 0x90]
mov rsi, rax
cmp r9w, word [rsi]
je 0x1400b8bae
cmp cx, word [rsi]
je 0x1400b8bae
cmp dx, word [rsi]
je 0x1400b8bae
cmp r8w, word [rsi]
jne 0x1400b8bb4
add rsi, 2
jmp 0x1400b8b98
cmp r13w, word [rsi]
jne 0x1400b8cd4
sub rax, rdi
lea rcx, [rsp + 0xa8]
mov rdx, rdi
sar rax, 1
mov r8, rax
call fcn.14006e2cc
mov r11, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa8]
sub r11, rdi
sar r11, 1
dec r11d
movsxd rcx, r11d
cmp rcx, r15
jl 0x1400b8c07
movzx eax, word [rbx + 0x48]
xor word [r9 + rcx*2], ax
sub rcx, 1
jns 0x1400b8bf8
add rsi, 2
mov r10, rsi
mov qword [rsp + 0x98], rsi
movzx eax, word [r10]
cmp word [rbx + 0x92], ax
je 0x1400b8c3e
cmp word [rbx + 0x94], ax
je 0x1400b8c3e
cmp word [rbx + 0x8a], ax
je 0x1400b8c3e
cmp word [rbx + 0x90], ax
jne 0x1400b8c4c
add r10, 2
mov qword [rsp + 0x98], r10
jmp 0x1400b8c16
movzx eax, word [rbx + 0x88]
cmp word [r10], ax
je 0x1400b8cbf
lea rdx, [rbx + 0xaa]
mov rcx, r10
call fcn.14005fb74
cmp eax, r15d
je 0x1400b8cbf
lea rdx, [rbx + 0x9a]
mov rcx, r10
call fcn.14005fb74
cmp eax, r15d
je 0x1400b8cbf
mov rdx, qword [rbx + 0x40]
mov qword [rsp + 0x20], r9
lea r8, [rsp + 0x98]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x98], rsi
call fcn.1400ad8fc
mov rdi, qword [rsp + 0x98]
lea rcx, [rsp + 0xa8]
call fcn.140059920
jmp 0x1400b89af
lea rcx, [rsp + 0xa8]
call fcn.140059920
mov rax, qword [rsp + 0x98]
movzx ecx, word [rax]
movzx edx, word [rbx + 0x92]
cmp cx, dx
je 0x1400b8d21
cmp cx, word [rbx + 0x94]
je 0x1400b8d21
cmp cx, word [rbx + 0x8a]
je 0x1400b8d21
cmp cx, word [rbx + 0x90]
jne 0x1400b8d2a
jmp 0x1400b8d21
cmp word [rbx + 0x8a], cx
je 0x1400b8d2a
cmp word [rbx + 0x90], cx
je 0x1400b8d2a
add rax, 2
mov qword [rsp + 0x98], rax
mov cx, word [rax]
cmp word [rbx + 0x88], cx
jne 0x1400b8d00
movzx ecx, word [rax]
cmp dx, cx
je 0x1400b8d4d
cmp word [rbx + 0x94], cx
je 0x1400b8d4d
cmp word [rbx + 0x8a], cx
je 0x1400b8d4d
cmp word [rbx + 0x90], cx
jne 0x1400b8d5b
add rax, 2
mov qword [rsp + 0x98], rax
jmp 0x1400b8d2a
mov rdi, rax
jmp 0x1400b89af
lea r9, [rsp + 0x98]
lea rdx, [rsp + 0xa0]
mov r8, rdi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x98], r15
mov byte [rsp + 0x20], r15b
call fcn.14001b264
cmp word [rax], r15w
je 0x1400b8f41
cmp word [rax], 0x2f
je 0x1400b8f41
cmp word [rax], 0x3b
je 0x1400b8f41
cmp word [rax], 0x60
je 0x1400b8f41
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x98]
mov r9, rax
mov rcx, rbx
call fcn.14006ca64
lea rdx, [0x14011e160]
mov r8d, 4
mov rcx, rax
mov rdi, rax
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x1400b8e18
movzx eax, word [rdi + 8]
cmp r12w, ax
ja 0x1400b8e01
cmp ax, 0xd
jbe 0x1400b8e11
mov esi, 0x20
cmp si, ax
je 0x1400b8e11
cmp ax, r15w
jne 0x1400b8e1d
inc ebp
jmp 0x1400b8f41
mov esi, 0x20
lea rdx, [0x14011e170]
mov r8d, 4
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x1400b8e63
movzx eax, word [rdi + 8]
cmp r12w, ax
ja 0x1400b8e48
cmp ax, 0xd
jbe 0x1400b8e53
cmp si, ax
je 0x1400b8e53
cmp ax, r15w
jne 0x1400b8e63
cmp ebp, r15d
jle 0x1400b8f41
dec ebp
jmp 0x1400b8f41
cmp ebp, r15d
jg 0x1400b8f41
cmp byte [0x14013701f], 3
jne 0x1400b8f23
lea rcx, [0x140124870]
mov r8d, 4
mov rdx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x1400b8eaf
movzx eax, word [rdi + 8]
cmp r12w, ax
ja 0x1400b8ea4
cmp ax, 0xd
jbe 0x1400b8f23
cmp si, ax
je 0x1400b8f23
cmp ax, r15w
je 0x1400b8f23
lea rcx, [0x140124860]
mov r8d, 4
mov rdx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x1400b8ee5
movzx eax, word [rdi + 8]
cmp r12w, ax
ja 0x1400b8eda
cmp ax, 0xd
jbe 0x1400b8f23
cmp si, ax
je 0x1400b8f23
cmp ax, r15w
je 0x1400b8f23
lea rcx, [0x140124858]
mov r8d, 3
mov rdx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x1400b8f1b
movzx eax, word [rdi + 6]
cmp r12w, ax
ja 0x1400b8f10
cmp ax, 0xd
jbe 0x1400b8f23
cmp si, ax
je 0x1400b8f23
cmp ax, r15w
je 0x1400b8f23
mov rcx, rbx
call fcn.140025230
mov rax, qword [r14]
lea r9, [rsp + 0x98]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14004b0dc
mov rdi, qword [rsp + 0x98]
movzx eax, word [rdi]
cmp ax, word [rbx + 0x8a]
je 0x1400b8f5e
cmp ax, word [rbx + 0x90]
jne 0x1400b8f6c
add rdi, 2
mov qword [rsp + 0x98], rdi
jmp 0x1400b8f49
movzx eax, word [rbx + 0x88]
cmp word [rdi], ax
jne 0x1400b89af
mov r12b, byte [rsp + 0x90]
cmp r12b, r15b
jne 0x1400b8f91
mov word [rbx + 0xc8], r15w
lea rcx, [rsp + 0xa0]
call fcn.140059920
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret