Function at 0x1401b8240
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rcx
mov eax, dword [0x14020c528]
mov r8d, dword [0x14020c52c]
xor r8d, 0x9b98f7ba
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0xafba2061
xor ecx, 0x5045df9e
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x89d9405
xor ecx, 0xd2294b5e
sub eax, ecx
sub eax, 0xc2926a04
mov ecx, 0xc33e9641
xor ecx, 0x198a491a
add eax, ecx
add eax, 0xfb447105
mov ecx, 0x623ad1f5
xor ecx, 0xd1ce6ebe
add eax, ecx
sub eax, 0xfb447105
mov edx, eax
and edx, 0x2f794379
mov ecx, 0xc891767f
xor ecx, 0xc891767d
imul ecx, edx
add eax, 0x2f794379
sub eax, ecx
cmp eax, 0x7e21ef1b
ja 0x1401b8c75
mov eax, dword [0x14020c530]
xor eax, 0x78d4c89
mov ecx, dword [0x14020c534]
xor edx, edx
div ecx
add eax, 0xad455efd
mov ecx, eax
xor ecx, 0x1a89e79c
and eax, 0x65761863
add eax, eax
sub eax, ecx
xor eax, 0xedd86192
mov dword [rbp + 0x34], eax
mov eax, 0x83c629e2
mov dword [rbp + 0x30], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1401bd250
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], r8
add r8, 0x50
mov qword [rbp + 0x10], r8
movabs r8, 0xfca3fe3fdb6559ee
movabs r9, 0xfca3fe3fdb6559ee
xor r8, r9
mov qword [rdx], r8
mov qword [rdx + 8], 0
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x18], rdx
mov qword [rax + 8], 0
movabs rdx, 0xff64ca3bcdd30426
movabs rax, 0xff64ca3bcdd30527
xor rdx, rax
sub rsp, 0x20
call fcn.1400a1210
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x34]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rbp + 0x38], r9
mov r8, qword [r8 + 8]
mov qword [rbp + 0x40], r8
cmp byte [rdx + 0x50], 0
sete dl
mov byte [rbp + 0x4f], dl
cmp eax, ecx
je 0x1401b82fa
mov al, byte [rbp + 0x4f]
test al, 1
jne 0x1401b8499
jmp 0x1401b8a29
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1401b7cd0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rcx
cmp byte [rax], 0
jne 0x1401b8a29
mov eax, dword [0x14020c538]
mov ecx, dword [0x14020c53c]
xor ecx, 0xf4974a4a
xor edx, edx
div ecx
xor eax, 0x72625e7
add eax, 0xd309fb6d
add eax, 0x55564e8d
mov ecx, 0x9c77597
xor ecx, 0xdc07ed7
cmp eax, ecx
jb 0x1401b8c7e
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x14020c540]
mov edx, dword [0x14020c544]
sub eax, 0xe7b426cc
sub eax, edx
add eax, 0xe7b426cc
mov r8d, 0xedcd795e
xor r8d, 0x80afb17c
xor edx, edx
div r8d
mov r8d, 0x4d3fb0a5
xor edx, edx
div r8d
mov edx, eax
xor edx, 0x6d6880e6
xor edx, 0xffffffff
or eax, 0x6d6880e6
and eax, edx
xor edx, edx
sub rdx, rcx
movabs rcx, 0x222dc4b2cd217558
movabs r8, 0x222dc4b2cd217558
xor rcx, r8
movabs r8, 0xe7accdbf8e7739e1
movabs r9, 0x185332400e7739e1
xor r8, r9
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rbp - 0x39], cl
cmp eax, 0xae5fe2c4
jae 0x1401b8505
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401b85bc
jmp 0x1401b85df
mov rcx, qword [rbp - 0x38]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1401b8a29
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x38]
mov r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x38]
mov dword [r8], r9d
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1401b7e65
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x48], rcx
mov al, byte [rax]
mov cl, 0x81
xor cl, 0x81
cmp al, cl
jne 0x1401b8a29
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.1400a4bb5
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x10]
mov dword [rbp - 0x4c], ecx
mov al, byte [rax]
mov cl, 0x8a
xor cl, 0x8a
cmp al, cl
jne 0x1401b8a29
mov eax, dword [rbp - 0x4c]
cmp eax, 0
jne 0x1401b87ac
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
mov rdx, qword [0x140216928]
mov qword [rcx], rdx
mov rdx, qword [str.Xi__]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401b8bde
mov eax, dword [0x14020c548]
mov r8d, dword [0x14020c54c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xc60ff69c
xor edx, 0xc282f3ab
mov ecx, eax
xor ecx, edx
mov edx, 0x7c3850c
xor edx, 0xf83c7af3
xor ecx, edx
mov edx, 0x3b145f2
xor edx, 0x73c40c5
or eax, edx
and eax, ecx
xor eax, 0xfe6ed49b
xor eax, 0xd33c30f
mov ecx, 0x5b0dc76d
xor ecx, 0x560b7f7f
cmp eax, ecx
je 0x1401b8c87
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x14020c550]
xor edx, edx
div dword [0x14020c554]
mov edx, 0xc9195a40
xor edx, 0xbad701f2
add eax, edx
mov edx, 0xffffffff
xor edx, 0xbae404dd
add eax, edx
mov edx, 0xef4866fe
xor edx, 0xef4866ff
add eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x4da04a8f
and edx, 0x4da04a8f
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
movabs rdx, 0x8269965f6fc4c875
movabs r8, 0x8269965f6fc4c875
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x4d], cl
cmp eax, 0xd7df57c5
je 0x1401b86ff
mov al, byte [rbp - 0x4d]
test al, 1
jne 0x1401b8bcd
jmp 0x1401b8bde
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x40]
mov r8, qword [rbp + 0x38]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401b7eb0
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1401b88fd
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401b8143
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401b88fd
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.140011160
mov rax, qword [rbp - 0x58]
add rsp, 0x20
cmp rax, 0
je 0x1401b887e
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401b887e
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401b88cf
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rcx, 0x5ce4c5f0d4a90c09
movabs rdx, 0x1ce4c5f0d4a90c09
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401b88cf
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x40]
cmp rax, 0
je 0x1401b8bde
mov rcx, qword [rbp + 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
je 0x1401b8bcd
jmp 0x1401b8bde
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x1401b8a29
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x7cada167e3a60d8
movabs rdx, 0x7cada167e3a60d8
xor rcx, rdx
cmp rax, rcx
jne 0x1401b8a29
mov eax, dword [0x14020c558]
xor edx, edx
div dword [0x14020c55c]
mov edx, eax
mov eax, 0x3339aaae
xor eax, 0x30ff2cd9
mov ecx, edx
xor ecx, eax
mov eax, 0x97fd9e29
xor eax, 0x943b185e
mov r8d, 0x913a87fe
xor r8d, 0x6ec57801
xor eax, r8d
and edx, eax
mov eax, 0xc7d66f4c
xor eax, 0xc7d66f4e
imul eax, edx
sub eax, ecx
or eax, 0x8f8d7742
mov edx, 0x553e36ac
xor edx, 0x48fbbc3c
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x1dc58a90
add eax, ecx
cmp eax, 0x36dbd289
je 0x1401b8c90
mov rcx, qword [rbp - 0x58]
mov edx, dword [0x14020c560]
mov r8d, dword [0x14020c564]
xor r8d, 0xae31e37d
mov r9d, edx
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov edx, 0x84bf018a
xor edx, 0x980b11d
xor eax, edx
xor eax, 0x5196d440
mov r8d, 0x7629e66f
xor edx, edx
div r8d
mov dword [rbp - 0x6c], eax
mov eax, 0xef1dc052
xor eax, 0x6a6bba19
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.14000fb44
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
je 0x1401b89ae
jmp 0x1401b8a29
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1401b8b8a
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rdx, 0x87851bc26e275b0f
movabs rcx, 0xc7851bc26e275b0f
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x73b9a16086ff25ed
movabs r8, 0x8c465e9f7900da12
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401b8b8a
mov r8d, dword [0x14020c568]
mov edx, dword [0x14020c56c]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x6d98650c
mov r9d, 0xffffffff
xor r9d, 0x6d98650c
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x5b0b0fae
xor r10d, 0x36936aa2
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x974fa88d
mov r8d, 0xffffffff
xor r8d, 0x974fa88d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x974fa88d
or eax, 0x974fa88d
imul eax, edx
add eax, ecx
mov ecx, 0xbffa1454
xor edx, edx
div ecx
mov ecx, 0x85e545e3
xor edx, edx
div ecx
cmp eax, 0x83f4aca0
jae 0x1401b8c99
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x14020c570]
mov edx, dword [0x14020c574]
mov r8d, 0xedd51741
xor r8d, 0x40fed07f
xor edx, r8d
sub eax, edx
imul eax, eax, 0x24f3c18b
sub eax, 0x9214f13d
mov edx, 0xe7944bcc
xor edx, 0xe02dd76c
imul eax, edx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0x76456e7d
jae 0x1401b8b2c
jmp 0x1401b8b8a
mov rax, qword [rbp + 0x40]
cmp rax, 0
je 0x1401b8bde
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401b8bde
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov eax, dword [0x14020c578]
add eax, dword [0x14020c57c]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb4838b1b
mov r8d, 0xffffffff
xor r8d, 0xb4838b1b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb4838b1b
or eax, 0xb4838b1b
imul eax, edx
add eax, ecx
imul eax, eax, 0x9f2f4abb
mov ecx, 0xffffffff
xor ecx, 0xa7e97de2
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x889dbb45
jb 0x1401b8ca2
mov eax, dword [0x14020c580]
sub eax, dword [0x14020c584]
sub eax, 0x4d062d5d
add eax, 0x4896f8db
mov ecx, 0xeed49391
xor edx, edx
div ecx
cmp eax, 0x923c65f7
ja 0x1401b8c41
mov rax, qword [rbp + 0x58]
lea rsp, [rbp + 0x60]
pop rbp
ret
invalid
in eax, dx
nop
adc ebp, ecx
jl 0x1401b8c72
invalid
cmp rax, 0x7ee9bef8
clc
invalid
jmp 0x1401b86ff
and bh, byte [rdi]
xor bh, byte [rcx]
jmp 0x1401b89ae
int1
fstp qword [rdx]
jmp 0x1401b8b2c
sub dword [0xd7054a7e], eax
invalid