Function at 0x1400b78d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rdi, rdx
mov rbx, rcx
movzx r14d, dl
and r14b, 1
mov byte [rsp + 0xa0], r14b
and rdi, 0xfffffffffffffffe
movzx eax, word [rcx + 0xc]
movzx r13d, ax
xor r13w, 0x7b
xor r15d, r15d
mov qword [rsp + 0xb0], r15
test r14b, r14b
jne 0x1400b7960
movzx edx, ax
bts edx, 0x10
call fcn.1400602b0
mov word [rbx + 0xb0], r15w
movzx ecx, word [rbx + 0x7a]
nop dword [rax]
movzx eax, word [rdi]
cmp cx, ax
je 0x1400b795a
cmp word [rbx + 0x7c], ax
je 0x1400b795a
cmp word [rbx + 0x72], ax
je 0x1400b795a
cmp word [rbx + 0x78], ax
jne 0x1400b7960
add rdi, 2
jmp 0x1400b7940
mov ebp, r15d
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x30], r15
test byte [rbx + 0x12], 0x80
lea r12, [rsp + 0x30]
lea rax, [rsp + 0x38]
cmove r12, rax
movzx eax, word [rbx + 0x70]
cmp word [rdi], ax
je 0x1400b7e74
mov r14d, 9
test byte [rbx + 0x13], 1
je 0x1400b79a8
mov rcx, qword [rsp + 0xb0]
call fcn.14005b500
test byte [rbx + 0xb0], 0x42
jne 0x1400b7e6c
mov qword [rsp + 0xa8], rdi
movzx esi, word [rbx + 0x70]
mov rcx, rdi
call fcn.14002e810
cmp word [rax], si
je 0x1400b7e6c
test ebp, ebp
jg 0x1400b7d21
movzx r9d, word [rbx + 0x7e]
movzx eax, word [rdi]
cmp r9w, ax
jne 0x1400b7ac4
add rdi, 2
mov r9, rdi
mov qword [rsp + 0xa8], rdi
movzx ecx, word [rbx + 0x7a]
nop
movzx eax, word [rdi]
cmp cx, ax
je 0x1400b7a1a
cmp word [rbx + 0x7c], ax
je 0x1400b7a1a
cmp word [rbx + 0x72], ax
je 0x1400b7a1a
cmp word [rbx + 0x78], ax
jne 0x1400b7a28
add rdi, 2
mov qword [rsp + 0xa8], rdi
jmp 0x1400b7a00
cmp word [rdi], si
je 0x1400b7995
lea rdx, [rbx + 0x92]
mov rcx, rdi
call fcn.140060280
test eax, eax
je 0x1400b7995
lea rdx, [rbx + 0x82]
mov rcx, rdi
call fcn.140060280
test eax, eax
je 0x1400b7995
mov qword [rsp + 0xa8], r9
lea rax, [0x14014f7a8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0xa8]
mov rdx, qword [rbx + 0x40]
mov rcx, rbx
call fcn.1400a71e0
movzx r11d, word [rbx + 0x7a]
mov rdi, qword [rsp + 0xa8]
movzx eax, word [rdi]
cmp r11w, ax
je 0x1400b7ab6
cmp word [rbx + 0x7c], ax
je 0x1400b7ab6
cmp word [rbx + 0x72], ax
je 0x1400b7ab6
cmp word [rbx + 0x78], ax
jne 0x1400b7995
add rdi, 2
mov qword [rsp + 0xa8], rdi
jmp 0x1400b7a97
cmp ax, word [rbx + 0xa2]
jne 0x1400b7d21
movzx eax, word [rbx + 0xa4]
cmp word [rdi + 2], ax
jne 0x1400b7d21
lea rax, [rdi + 4]
mov qword [rsp + 0xa8], rax
movzx r10d, word [rbx + 0x7a]
movzx ecx, word [rax]
cmp r10w, cx
je 0x1400b7b0e
cmp word [rbx + 0x7c], cx
je 0x1400b7b0e
cmp word [rbx + 0x72], cx
je 0x1400b7b0e
cmp word [rbx + 0x78], cx
jne 0x1400b7b1c
add rax, 2
mov qword [rsp + 0xa8], rax
jmp 0x1400b7af3
movzx ecx, word [rax]
cmp cx, si
je 0x1400b7b56
movzx edx, word [rbx + 0x72]
movzx r8d, word [rbx + 0x78]
nop dword [rax]
cmp cx, dx
je 0x1400b7b56
cmp cx, r8w
je 0x1400b7b56
cmp r9w, cx
je 0x1400b7b56
add rax, 2
mov qword [rsp + 0xa8], rax
mov cx, word [rax]
cmp cx, word [rbx + 0x70]
jne 0x1400b7b30
mov rsi, rax
movzx edx, word [rbx + 0x7c]
movzx r8d, word [rbx + 0x72]
movzx r9d, word [rbx + 0x78]
movzx ecx, word [rsi]
cmp r10w, cx
je 0x1400b7b81
cmp dx, cx
je 0x1400b7b81
cmp r8w, cx
je 0x1400b7b81
cmp r9w, cx
jne 0x1400b7b87
add rsi, 2
jmp 0x1400b7b67
cmp r13w, word [rsi]
jne 0x1400b7c9e
sub rax, rdi
sar rax, 1
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0xb8]
call fcn.1400712b0
nop
mov rax, qword [rsp + 0xa8]
sub rax, rdi
sar rax, 1
sub eax, 1
movsxd rcx, eax
mov r9, qword [rsp + 0xb8]
js 0x1400b7bdf
nop dword [rax]
movzx eax, word [rbx + 0xc]
xor word [r9 + rcx*2], ax
sub rcx, 1
jns 0x1400b7bd0
add rsi, 2
mov r10, rsi
mov qword [rsp + 0xa8], rsi
movzx ecx, word [rbx + 0x7a]
movzx eax, word [r10]
cmp cx, ax
je 0x1400b7c0d
cmp word [rbx + 0x7c], ax
je 0x1400b7c0d
cmp word [rbx + 0x72], ax
je 0x1400b7c0d
cmp word [rbx + 0x78], ax
jne 0x1400b7c1b
add r10, 2
mov qword [rsp + 0xa8], r10
jmp 0x1400b7bf2
movzx eax, word [rbx + 0x70]
cmp word [r10], ax
je 0x1400b7c89
lea rdx, [rbx + 0x92]
mov rcx, r10
call fcn.140060280
test eax, eax
je 0x1400b7c89
lea rdx, [rbx + 0x82]
mov rcx, r10
call fcn.140060280
test eax, eax
je 0x1400b7c89
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0x20], r9
xor r9d, r9d
lea r8, [rsp + 0xa8]
mov rdx, qword [rbx + 0x40]
mov rcx, rbx
call fcn.1400a71e0
mov rdi, qword [rsp + 0xa8]
lea rcx, [rsp + 0xb8]
call fcn.14005b520
jmp 0x1400b7995
lea rcx, [rsp + 0xb8]
call fcn.14005b520
mov rax, qword [rsp + 0xa8]
movzx ecx, word [rax]
movzx r8d, word [rbx + 0x7a]
cmp cx, r8w
je 0x1400b7cbe
cmp cx, word [rbx + 0x7c]
je 0x1400b7cbe
cmp cx, word [rbx + 0x72]
je 0x1400b7cbe
cmp cx, word [rbx + 0x78]
jne 0x1400b7cf0
cmp word [rbx + 0x70], cx
je 0x1400b7cf0
movzx edx, word [rbx + 0x72]
cmp dx, cx
je 0x1400b7cf0
cmp word [rbx + 0x78], cx
je 0x1400b7cf0
add rax, 2
mov qword [rsp + 0xa8], rax
mov cx, word [rax]
cmp word [rbx + 0x70], cx
jne 0x1400b7cc8
nop dword [rax + rax]
movzx ecx, word [rax]
cmp r8w, cx
je 0x1400b7d0b
cmp word [rbx + 0x7c], cx
je 0x1400b7d0b
cmp word [rbx + 0x72], cx
je 0x1400b7d0b
cmp word [rbx + 0x78], cx
jne 0x1400b7d19
add rax, 2
mov qword [rsp + 0xa8], rax
jmp 0x1400b7cf0
mov rdi, rax
jmp 0x1400b7995
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0xa8], r15
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0xa8]
mov r8, rdi
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.14002d0e0
movzx ecx, word [rax]
test cx, cx
je 0x1400b7e37
cmp cx, 0x2f
je 0x1400b7e37
cmp cx, 0x3b
je 0x1400b7e37
cmp cx, 0x60
je 0x1400b7e37
mov r9, rax
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call fcn.14006d8b0
mov rdi, rax
mov r8d, 4
lea rdx, str._SUB
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x1400b7dd3
movzx ecx, word [rdi + 8]
cmp r14w, cx
ja 0x1400b7dc0
cmp cx, 0xd
jbe 0x1400b7dcf
mov esi, 0x20
cmp si, cx
je 0x1400b7dcf
test cx, cx
jne 0x1400b7dd8
inc ebp
jmp 0x1400b7e37
mov esi, 0x20
mov r8d, 4
lea rdx, str._END
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x1400b7e14
movzx eax, word [rdi + 8]
cmp r14w, ax
ja 0x1400b7e02
cmp ax, 0xd
jbe 0x1400b7e0c
cmp si, ax
je 0x1400b7e0c
test ax, ax
jne 0x1400b7e14
test ebp, ebp
jle 0x1400b7e37
dec ebp
jmp 0x1400b7e37
test ebp, ebp
jg 0x1400b7e37
mov rax, qword [r12]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa8]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.14004d38c
movzx ecx, word [rbx + 0x72]
mov rdi, qword [rsp + 0xa8]
movzx eax, word [rdi]
cmp ax, cx
je 0x1400b7e51
cmp ax, word [rbx + 0x78]
jne 0x1400b7e5f
add rdi, 2
mov qword [rsp + 0xa8], rdi
jmp 0x1400b7e43
movzx eax, word [rbx + 0x70]
cmp word [rdi], ax
jne 0x1400b7995
mov r14b, byte [rsp + 0xa0]
test r14b, r14b
jne 0x1400b7e81
mov word [rbx + 0xb0], r15w
lea rcx, [rsp + 0xb0]
call fcn.14005b520
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret