Function at 0x14001b7bf
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x80
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
cmp rax, rdx
jle 0x14001b155
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
jmp 0x14001b792
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jge 0x14001b792
mov eax, dword [0x1401f1f18]
or eax, dword [0x1401f1f1c]
and eax, 0xf27d96df
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xd3dec404
add eax, ecx
mov ecx, 0x59fd2e44
xor ecx, 0x59fd2e44
mov edx, 0xaf11e07c
xor edx, 0x9e0c6976
sub ecx, edx
sub eax, ecx
cmp eax, 0xb909bcff
ja 0x14001b79b
mov rcx, qword [rsp + 0x70]
mov esi, dword [0x1401f1f20]
mov r11d, dword [0x1401f1f24]
xor r11d, 0x20463a0e
mov edx, esi
xor edx, 0xffffffff
mov eax, 0x9c14d47f
xor eax, 0x63eb2b80
mov r8d, r11d
xor r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x11fb7a95
mov r10d, 0xfbea6c9d
xor r10d, 0xea111608
mov eax, edx
and eax, r10d
and esi, r9d
mov r10d, r8d
and r10d, 0x11fb7a95
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xac4f1aab
xor r8d, 0xbdb4603e
or r8d, r9d
and edx, r8d
or eax, edx
mov r8d, 0x7109c065
xor edx, edx
div r8d
sub eax, 0x9e28c524
mov edx, 0x81d5aaa0
xor edx, 0xb1fa04b7
sub eax, edx
mov edx, 0xb732a00b
xor edx, 0x291a652f
add eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa55d0f32
mov r8d, 0xffffffff
xor r8d, 0xa55d0f32
and eax, r8d
sub eax, edx
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x58], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0xeaa6ab95
je 0x14001b79b
mov al, byte [rsp + 0x67]
test al, 1
jne 0x14001b2e0
jmp 0x14001b2b0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs rdx, 0xf7f395ae7895c43a
movabs r8, 0x480c6a51876a3bc5
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x14001b4ea
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x68]
mov rax, r8
xor rax, 0xffffffffffffffff
and rax, rdx
movabs rcx, 0xecefeafd7ee2a655
movabs r9, 0x13101502811d59aa
xor rcx, r9
mov r9, rdx
xor r9, rcx
mov rcx, r8
and rcx, r9
sub rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
mov dl, 1
xor dl, 1
or al, cl
mov cl, 1
xor cl, 0
or cl, dl
xor al, 0xff
and al, cl
test al, 1
jne 0x14001b4e0
mov eax, dword [0x1401f1f28]
mov edx, dword [0x1401f1f2c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0xc1f50daa
mov ecx, 0x8a87d798
xor edx, edx
div ecx
imul eax, eax, 0x8d67841c
cmp eax, 0xb8465602
jae 0x14001b7a4
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
mov r9d, dword [0x1401f1f30]
xor r9d, 0x15d08a50
mov r10d, dword [0x1401f1f34]
mov eax, r9d
or eax, r10d
mov r11d, 0x4e2dda92
xor r11d, 0xb1d2256d
xor eax, r11d
mov r11d, 0x979a9b10
xor r11d, 0x686564ef
xor r9d, r11d
xor r10d, 0xffffffff
and r9d, r10d
mov r10d, 0xe84b52f7
xor r10d, 0x17b4ad08
xor eax, r10d
mov r10d, 0x593c4aec
xor r10d, 0xa6c3b513
xor r9d, r10d
and eax, r9d
imul r11d, eax, 0xb75e0670
mov r9d, r11d
xor r9d, 0xffffffff
mov eax, 0xf3a823f0
xor eax, 0xcf0fd6c4
and eax, r9d
mov esi, 0xffffffff
xor esi, 0x3ca7f534
and r11d, esi
mov r9d, 0x34a0435
xor r9d, 0x959eecc0
mov r10d, 0x474cc6e7
xor r10d, 0xb8b33918
xor r9d, r10d
mov r10d, 0xe5a22364
xor r10d, 0xd905d650
and r9d, r10d
mov r10d, 0x58d54536
xor r10d, 0xce01adc3
and r10d, esi
or eax, r11d
or r9d, r10d
xor eax, r9d
mov r9d, 0x66d41b65
xor r9d, 0xd1644e9d
and eax, r9d
mov dword [rsp + 0x44], eax
movabs r9, 0xe4338d80a1d6428c
movabs rax, 0xe4338d80a1d6428d
xor r9, rax
movabs rax, 0xff54b110c06a03b
movabs r10, 0xff54b110c06a03a
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140014320
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov eax, dword [rsp + 0x44]
mov qword [rcx], rdx
cmp eax, 0x90e1bb53
jb 0x14001b392
jmp 0x14001b4ea
call fcn.1400091c0
jmp 0x14001b792
mov eax, dword [0x1401f1f38]
mov r8d, dword [0x1401f1f3c]
xor r8d, 0x6de552ce
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor eax, 0x96234c59
mov ecx, 0x972fc56f
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x2791a817
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x8b4704ad
je 0x14001b7ad
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1401f1f40]
mov r9d, dword [0x1401f1f44]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x86e95a3d
mov r9d, 0xffffffff
xor r9d, 0x86e95a3d
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x86e95a3d
or eax, 0x86e95a3d
imul eax, r8d
add eax, edx
mov r8d, 0xa7cb2416
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xc416b24c
mov r9d, 0xffffffff
xor r9d, 0xc416b24c
and eax, r9d
sub eax, r8d
mov qword [rcx], rdx
cmp eax, 0xa9e3883c
jae 0x14001b7ad
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
jmp 0x14001b5ff
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14001b792
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov cl, 0x66
xor cl, 0x66
mov byte [rax + rdx + 8], cl
xor eax, eax
mov ecx, eax
sub rcx, rdx
xor eax, eax
sub rax, 1
add rcx, rax
movabs rax, 0x3e939e530e092c4f
movabs r8, 0x3e939e530e092c4f
xor rax, r8
sub rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
movabs rdx, 0x88b3d7e7e2e282eb
movabs r8, 0x88b3d7e7e2e282eb
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x14001b5ff
mov eax, dword [0x1401f1f48]
xor eax, dword [0x1401f1f4c]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x782264a5
mov r8d, 0xffffffff
xor r8d, 0x782264a5
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x782264a5
or eax, 0x782264a5
imul eax, edx
add eax, ecx
mov r8d, 0x86438af9
xor r8d, 0x42559b9b
mov ecx, 0xe4c82c14
xor ecx, 0x1b37d3eb
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x2485edac
xor r8d, 0xe093fcce
mov edx, eax
and edx, r8d
mov r8d, 0xc121a5ae
xor r8d, 0x537b4cc
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x7e6dfd2f
shl ecx, 1
xor eax, 0x7e6dfd2f
add eax, ecx
cmp eax, 0xdbc31d21
ja 0x14001b7b6
mov eax, dword [0x1401f1f50]
imul eax, dword [0x1401f1f54]
mov ecx, 0xb9867661
xor ecx, 0x8ae0dbc
xor eax, ecx
mov ecx, 0xb38eefcb
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x3428a746
xor edx, 0x65b009f4
mov eax, 0x33003819
xor eax, 0xccffc7e6
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x2357eef3
ja 0x14001b733
jmp 0x14001b792
add rsp, 0x80
pop rsi
ret
clc
invalid
cmpsd dword [rsi], dword [rdi]
invalid
ret 0x30d9
add ah, byte [rax]
outsb dx, byte [rsi]
mov dh, 0xe9
je 0x14001b7bc
invalid
invalid
and qword [rcx], 0
jmp 0x14001b120