Function at 0x1401922d0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x70]
add rax, 0x60
mov qword [rsp + 0x78], rax
mov rcx, qword [rcx]
xor eax, eax
mov edx, eax
sub rdx, 4
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x80], rax
mov rdx, rcx
or rdx, rdx
movabs r8, 0xbd23d0f31e15dd2
movabs r9, 0xf42dc2f0ce1ea22d
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x9288e031259fdbd9
movabs r10, 0x6d771fceda602426
xor r9, r10
movabs r10, 0x308976f79e3add84
movabs r11, 0xcf76890861c5227b
xor r10, r11
xor r9, r10
and r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, 0xffffffffffffffff
movabs r8, 0xf45ec7d87a6e3036
movabs r9, 0xba138278591cfc9
xor r8, r9
xor rcx, r8
or rdx, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0x195645e98598a966
movabs rdx, 0x195645e98598a966
xor rcx, rdx
cmp rax, rcx
jge 0x1401923dc
call fcn.14000f24b
jmp 0x14019279f
mov rax, qword [rsp + 0x80]
cmp rax, 0
jge 0x14019251a
mov eax, dword [0x14027cfd8]
xor eax, 0x14e1f7e4
mov ecx, dword [0x14027cfdc]
mov edx, 0x527b8da2
xor edx, 0x16ffb822
xor ecx, edx
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x5992f4d9
xor ecx, 0x5992f4d8
add eax, ecx
add eax, 0x876e1974
mov ecx, 0x2940725a
xor ecx, 0x77997d37
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xc3737982
mov edx, 0xffffffff
xor edx, 0xc3737982
and ecx, edx
or eax, ecx
cmp eax, 0xad1fb381
jb 0x1401927a7
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x14027cfe0]
xor eax, 0x2bd88481
add eax, dword [0x14027cfe4]
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x5f83cff8
xor r8d, 0x544958e4
and r8d, edx
mov r9d, 0xaa57437f
xor r9d, 0xa19dd463
mov edx, 0xa6b3305f
xor edx, 0x594ccfa0
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xbca971c
or eax, 0xbca971c
imul eax, r8d
add eax, edx
mov r8d, eax
and r8d, 0x9197b971
mov edx, 0x6f404b06
xor edx, 0x6f404b04
imul edx, r8d
mov r8d, 0xf52f0116
xor r8d, 0x64b8b867
add eax, r8d
sub eax, edx
sub eax, 0xcdb9bed9
mov dword [rsp + 0x64], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
mov eax, dword [rsp + 0x64]
cmp eax, 0x45987841
jb 0x1401927a7
jmp 0x14019279f
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
call fcn.14002bfc0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x4c], ecx
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x1401925a6
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0x12e05bc1d179aff0
movabs rdx, 0x12e05bc1d179aff0
xor rcx, rdx
cmp rax, rcx
je 0x1401925a6
mov rcx, qword [rsp + 0x70]
call fcn.14002bae0
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov qword [rsp + 0x38], rdx
mov rax, rdx
add rax, 0xfffffffffffffffc
mov qword [rsp + 0x40], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
mov r8b, dl
xor r8b, 0xff
or al, r8b
and cl, dl
xor cl, 0xff
and al, cl
mov cl, 1
xor cl, 0
xor al, cl
test al, 1
jne 0x140192604
jmp 0x14019260e
call fcn.14000f24b
jmp 0x14019277c
mov rax, qword [rsp + 0x38]
movabs rcx, 0x4fd0840e3a4fee50
movabs rdx, 0x4fd0840e3a4fee53
xor rcx, rdx
cmp rax, rcx
jg 0x14019266f
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
movabs r8, 0xc43bd796495b0a7
movabs r9, 0xf3bc42869b6a4f58
xor r8, r9
xor rdx, r8
add rdx, rax
call fcn.1400292ad
jmp 0x14019277c
mov eax, dword [0x14027cfe8]
mov ecx, 0x5907979e
xor ecx, 0xe5063658
xor eax, ecx
mov r8d, dword [0x14027cfec]
mov ecx, 0x52c9a01a
xor ecx, 0xad365fe5
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xcbf2719f
mov edx, 0x94342128
xor edx, 0xd88fa73b
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x4cbb8613
shl ecx, 1
mov edx, 0xf0658a4a
xor edx, 0xbcde0c59
sub ecx, edx
sub eax, ecx
add eax, 0x871eeeb3
mov ecx, 0x422f9813
xor ecx, 0x92134fc6
cmp eax, ecx
jb 0x1401927b0
mov r8, qword [rsp + 0x40]
mov eax, dword [0x14027cff0]
mov ecx, dword [0x14027cff4]
xor ecx, 0x602e2648
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, eax
mov eax, 0x9cf44ec0
xor eax, 0x51bdc18d
and ecx, eax
mov r9d, 0xfede779b
xor r9d, 0x7fb513f3
mov eax, ecx
and eax, r9d
xor ecx, 0x816b6468
or eax, ecx
xor eax, 0xdf475641
mov ecx, 0xd4dae32b
xor ecx, 0x6532221b
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov qword [rsp + 0x30], rdx
cmp eax, ecx
jae 0x1401926fe
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
jmp 0x14019277c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x20], rcx
cmp byte [rax], 0
jne 0x14019279f
mov rax, qword [rsp + 0x20]
mov ecx, dword [rsp + 0x4c]
mov dword [rax], ecx
add rsp, 0x88
ret
lodsb al, byte [rsi]
invalid
out dx, al
jo 0x1401927d2
invalid
add byte [rbx + 0xea81f05], cl
add byte [rbx + 0xea81d0d], cl
add byte [rdx + 0x209bd0a5], bh
xor edx, 0xe2650349
xor ecx, edx
add eax, ecx
mov ecx, 0x963b3fbb
xor ecx, 0xd41bf58f
imul eax, ecx
mov ecx, 0x9efb3a88
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xb4e9e282
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x106cd86a
xor r8d, 0xef932795
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb4e9e282
or eax, 0xb4e9e282
imul eax, edx
add eax, ecx
mov ecx, 0x35b5c338
xor ecx, 0xac6a64ed
cmp eax, ecx
ja 0x140192a56
mov rdx, qword [rsp + 0x50]
mov r9d, dword [0x14027d000]
mov eax, 0x30c52968
xor eax, 0x8c31dbe8
xor r9d, eax
mov r8d, dword [0x14027d004]
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x9a8df80a
mov r10d, 0xffffffff
xor r10d, 0x9a8df80a
and r9d, r10d
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x9a8df80a
and r8d, r10d
or eax, r9d
or ecx, r8d
xor eax, ecx
sub eax, 0xed45e33e
mov r9d, 0xffffffff
xor r9d, 0x6faf39da
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x6faf39da
or eax, 0x6faf39da
imul eax, r8d
add eax, ecx
imul eax, eax, 0xfefe7248
mov ecx, 0xcdd75140
xor ecx, 0xf49df9be
mov r8, rdx
add r8, 0xfffffffffffffff0
mov qword [rsp + 0x38], r8
mov rdx, qword [rdx - 0x10]
mov qword [rsp + 0x40], rdx
movabs r8, 0xf04dec336e567717
movabs r9, 0xf04dec336e567707
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
ja 0x140192854
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140192a41
jmp 0x14019293f
mov r8, qword [rsp + 0x40]
xor eax, eax
mov ecx, eax
sub rcx, 0xfffffffffffffff0
mov rax, r8
sub rax, rcx
mov qword [rsp + 0x30], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
movabs rdx, 0x5af729e2a9b66707
movabs r8, 0x5af729e2a9b66707
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14019299d
jmp 0x140192a2f
mov eax, dword [0x14027d008]
xor eax, 0x3efcf5b1
xor eax, dword [0x14027d00c]
xor eax, 0x30f9c9cd
xor eax, 0xa7771b42
mov ecx, 0x7002ad06
xor ecx, 0x7002ad06
mov edx, 0x62e4a420
xor edx, 0x606d1b61
sub ecx, edx
sub eax, ecx
mov ecx, 0xc224f15c
xor ecx, 0xccd45611
cmp eax, ecx
jbe 0x140192a5f
mov eax, dword [0x14027d010]
xor eax, dword [0x14027d014]
mov ecx, 0xfb1193cc
xor ecx, 0xb712ac70
xor edx, edx
div ecx
sub eax, 0xb75d199d
mov ecx, 0xcef9a237
xor ecx, 0xd459f6d2
add eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x2c]
cmp eax, 0x477db104
jbe 0x1401929e5
jmp 0x140192a50
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x140192a50
mov rcx, qword [rsp + 0x50]
mov edx, 8
call fcn.14001d294
nop
add rsp, 0x58
ret
jl 0x140192a56
cwde
xchg esi, eax
jmp 0x140192854
insd dword [rdi], dx
sal esi, 1
and eax, 0xffff7de9
dec dword [rdi]
invalid