Function at 0x1401b4810
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x1a8
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
call fcn.1401b462b
mov qword [rsp + 0x118], rax
mov ecx, 0x15e
call fcn.140066b71
mov ecx, eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x1a4], ecx
mov cl, byte [rax]
mov dl, 0x7a
xor dl, 0x7a
xor eax, eax
cmp cl, dl
mov dword [rsp + 0x124], eax
jne 0x1401b541f
mov ecx, 0xa8
call fcn.140066b71
mov ecx, eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x1a0], ecx
mov cl, byte [rax]
mov dl, 0x33
xor dl, 0x33
xor eax, eax
cmp cl, dl
mov dword [rsp + 0x124], eax
jne 0x1401b541f
mov eax, dword [0x14020c350]
mov ecx, dword [0x14020c354]
mov edx, 0xa86c0cfe
xor edx, 0x5793f301
xor ecx, edx
mov edx, 0x982eae1d
xor edx, 0x982eae1d
mov r8d, 0x87168a06
xor r8d, 0x87168a07
sub edx, r8d
sub ecx, edx
sub eax, ecx
and eax, 0x66323119
or eax, 0xdd3de416
mov ecx, 0x93bd96ed
xor ecx, 0xc3d7c02b
xor eax, ecx
cmp eax, 0x8780548b
jb 0x1401b542e
mov eax, dword [0x14020c358]
mov edx, dword [0x14020c35c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0xdf37414f
xor r8d, 0x20c8beb0
xor edx, r8d
and eax, edx
sub eax, ecx
or eax, 0xdbd89b56
xor ecx, ecx
sub ecx, eax
mov eax, 0xa084e8f8
xor eax, 0xa084e8f8
mov edx, 0xe24d550d
xor edx, 0x549d9b6f
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0xf40c7fa5
add eax, 0xf61741f7
mov ecx, 0x4aa2f206
xor ecx, 0xbeae8da3
add eax, ecx
mov dword [rsp + 0x100], eax
lea rcx, [rsp + 0x1a4]
lea rdx, [rsp + 0x1a0]
call fcn.1400ad101
mov rcx, qword [rsp + 0x118]
mov eax, dword [rsp + 0x100]
mov cl, byte [rcx]
mov dl, 0x42
xor dl, 0x42
cmp cl, dl
sete cl
mov byte [rsp + 0x107], cl
cmp eax, 0xa432d38f
je 0x1401b542e
mov cl, byte [rsp + 0x107]
xor eax, eax
test cl, 1
mov dword [rsp + 0x124], eax
jne 0x1401b49bf
jmp 0x1401b541f
mov eax, dword [0x14020c360]
mov r8d, dword [0x14020c364]
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
or eax, eax
mov ecx, 0xb5cc623b
xor ecx, 0x4a339dc4
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x7125c5c8
mov edx, 0x4284ed61
xor edx, 0x33a128a9
mov r8d, 0x34bb6557
xor r8d, 0xcb449aa8
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
and eax, 0x788aaa13
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x7ac3d18f
add eax, ecx
cmp eax, 0x88e4c66
jbe 0x1401b5437
mov eax, dword [0x14020c368]
mov edx, dword [0x14020c36c]
mov ecx, eax
xor ecx, edx
not ecx
or eax, edx
and eax, ecx
and eax, 0x160e048e
xor eax, 0x2006054a
or eax, 0x89e18a31
mov dword [rsp + 0xf0], eax
mov cx, 0x4c3
call fcn.140066b71
mov rcx, qword [rsp + 0x118]
mov r9d, eax
mov eax, dword [rsp + 0xf0]
mov cl, byte [rcx]
test cl, cl
setne cl
sete r8b
mov edx, dword [rsp + 0x1a0]
mov dword [rsp + 0xf4], edx
sub edx, r9d
sete dl
and r8b, dl
movzx r8d, r8b
mov dword [rsp + 0xf8], r8d
or cl, dl
mov byte [rsp + 0xff], cl
cmp eax, 0xa652435d
je 0x1401b5437
mov eax, dword [rsp + 0xf8]
mov cl, byte [rsp + 0xff]
test cl, 1
mov dword [rsp + 0x124], eax
jne 0x1401b541f
jmp 0x1401b4afc
mov eax, dword [rsp + 0xf4]
movsxd rcx, eax
mov qword [rsp + 0xe8], rcx
mov ecx, 0x17d5a4cf
xor ecx, 0x17d5a4cf
cmp eax, ecx
jge 0x1401b4b4f
mov rcx, qword [rsp + 0xe8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x124], eax
jmp 0x1401b541f
mov rcx, qword [rsp + 0xe8]
call fcn.14000b997
mov r8, rax
mov qword [rsp + 0xe0], r8
mov ecx, dword [rsp + 0x1a4]
mov edx, dword [rsp + 0x1a0]
call fcn.1400ad12c
mov rax, qword [rsp + 0x118]
mov al, byte [rax]
mov cl, 0x52
xor cl, 0x52
cmp al, cl
jne 0x1401b53e4
mov cx, 0x832b
xor cx, 0x8722
call fcn.140066b71
mov ecx, eax
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0xdc], ecx
mov al, byte [rax]
mov cl, 0x98
xor cl, 0x98
cmp al, cl
jne 0x1401b53e4
mov eax, dword [rsp + 0xdc]
cmp dword [rsp + 0x1a0], eax
jne 0x1401b4cf0
mov eax, dword [0x14020c370]
mov ecx, 0x580fa795
xor ecx, 0x2db852dd
xor eax, ecx
mov edx, dword [0x14020c374]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
sub eax, 0x80261637
mov ecx, 0x4e716f86
xor ecx, 0xf40219f0
xor edx, edx
div ecx
or eax, 0xc8a2da20
cmp eax, 0xf7cb36e0
je 0x1401b5440
mov rdx, qword [rsp + 0xe0]
mov eax, dword [0x14020c378]
mov ecx, 0xd9b6bfa8
xor ecx, 0x4dd87c5d
xor eax, ecx
and eax, dword [0x14020c37c]
xor eax, 0xd028fc4a
mov ecx, 0xb3e76fa1
xor ecx, 0x22cd8bc1
add eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x245bcfe4
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x245bcfe4
mov r9d, 0xb09e7574
xor r9d, 0x94c5ba90
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0x7ae633fc
xor ecx, 0x650e2146
cmp rdx, 0
sete dl
mov byte [rsp + 0xdb], dl
cmp eax, ecx
je 0x1401b5440
mov cl, byte [rsp + 0xdb]
mov eax, 1
test cl, 1
mov dword [rsp + 0x124], eax
jne 0x1401b541f
jmp 0x1401b4cd2
mov rcx, qword [rsp + 0xe0]
call fcn.14001f7f0
mov eax, 1
mov dword [rsp + 0x124], eax
jmp 0x1401b541f
mov eax, dword [0x14020c380]
imul eax, dword [0x14020c384]
mov ecx, 0x1054fee2
xor ecx, 0x9e782c44
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x620d2130
mov edx, 0xffffffff
xor edx, 0x620d2130
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xa25a00ee
xor edx, edx
div ecx
mov ecx, 0xd0082367
xor ecx, 0xb99bc4e8
cmp eax, ecx
jae 0x1401b5449
mov eax, dword [0x14020c388]
xor eax, 0xd7b6091b
imul eax, dword [0x14020c38c]
imul ecx, eax, 0x3ebd8017
mov edx, 0xfda4aa01
xor edx, 0x25b55fe
mov eax, ecx
xor eax, edx
and eax, 0x8fe7b47e
mov edx, 0xaeb54c67
xor edx, 0x2152f819
mov r8d, 0x6ab726d8
xor r8d, 0x9548d927
xor edx, r8d
and ecx, edx
or eax, ecx
sub eax, 0x2fb34b12
mov dword [rsp + 0xcc], eax
mov eax, 0xb48b97c1
xor eax, 0xc40e246d
mov dword [rsp + 0xc8], eax
mov cx, 0xb181
xor cx, 0xb57a
call fcn.140066656
mov rdx, qword [rsp + 0x118]
mov ecx, dword [rsp + 0xc8]
mov r8, rax
mov eax, dword [rsp + 0xcc]
mov qword [rsp + 0xd0], r8
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0xda], dl
cmp eax, ecx
je 0x1401b4d42
mov al, byte [rsp + 0xda]
test al, 1
jne 0x1401b4e02
jmp 0x1401b53e4
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x110]
movsxd rdx, dword [rsp + 0x1a4]
mov qword [rsp + 0xa0], rdx
lea rdx, [rsp + 0x138]
add rdx, 0x40
mov qword [rsp + 0xa8], rdx
lea rdx, [rsp + 0x128]
add rdx, 8
mov qword [rsp + 0xb0], rdx
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x98], rax
cmp rax, rcx
jge 0x1401b53a8
lea rcx, [rsp + 0x138]
mov edx, 0x68
call fcn.1401b4650
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xe0]
imul rax, rax, 0x68
add rdx, rax
lea rcx, [rsp + 0x138]
mov r8d, 0x68
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
call fcn.1401b462b
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
call fcn.1400a16c1
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x94], ecx
mov al, byte [rax]
mov cl, 0x2a
xor cl, 0x2a
cmp al, cl
jne 0x1401b4f57
mov eax, dword [rsp + 0x94]
movsxd rcx, eax
mov qword [rsp + 0x78], rcx
cmp eax, 0
jge 0x1401b4f3d
mov rcx, qword [rsp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x1401b4f57
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x128]
call fcn.1400a179e
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x60], r8
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
mov cl, byte [rcx]
mov dl, 0xbc
xor dl, 0xbc
cmp cl, dl
mov qword [rsp + 0x70], rax
jne 0x1401b5323
mov eax, dword [0x14020c390]
mov edx, dword [0x14020c394]
mov ecx, eax
xor ecx, edx
mov r8d, 0x58ec33c5
xor r8d, 0xa713cc3a
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x24e79c72
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x24e79c72
add eax, edx
sub eax, ecx
sub eax, 0xa7fae74b
mov ecx, 0x8cbea6ae
xor edx, edx
div ecx
mov ecx, 0x6b199782
xor ecx, 0xc5cc10c2
cmp eax, ecx
ja 0x1401b5452
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x110]
mov eax, dword [0x14020c398]
mov r9d, 0xfd5e5672
xor r9d, 0x5d206b9e
xor eax, r9d
imul eax, dword [0x14020c39c]
add eax, 0xe539ddf
mov r9d, 0x16e36023
xor r9d, 0x4839cccd
and eax, r9d
mov r11d, 0xffffffff
xor r11d, 0x48232d
mov r10d, eax
and r10d, r11d
mov r9d, eax
or r9d, r11d
xor r9d, 0xffffffff
imul r9d, r10d
mov r11d, 0xdec589c7
xor r11d, 0xde8daaea
mov r10d, eax
and r10d, r11d
or eax, 0x48232d
imul eax, r10d
add eax, r9d
mov rcx, qword [rcx]
mov r8, qword [r8]
mov qword [rsp + 0x50], r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xde40603c
jae 0x1401b4ffb
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x1401b50b3
jmp 0x1401b520b
mov rax, qword [rsp + 0x60]
movabs rcx, 0xe96f025278b906b6
movabs rdx, 0xe96f025278b906b6
xor rcx, rdx
cmp rax, rcx
je 0x1401b5151
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
add rdx, 8
mov qword [rsp + 0x30], rdx
add rax, 8
mov qword [rsp + 0x38], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
cmp rax, rcx
je 0x1401b5151
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
add rax, 1
cmp cl, dl
mov qword [rsp + 0x48], rax
je 0x1401b510e
jmp 0x1401b520b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x138]
mov qword [rcx], rdx
mov rdx, qword [rsp + 0x140]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401b51e7
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x93eb68524c40502f
movabs rdx, 0x93eb68524c40502f
xor rcx, rdx
cmp rax, rcx
jne 0x1401b51e7
mov rcx, qword [rsp + 0x68]
call fcn.14000fb44
mov rax, qword [rsp + 0xe0]
cmp rax, 0
je 0x1401b539a
mov rcx, qword [rsp + 0xe0]
call fcn.14001f7f0
jmp 0x1401b539a
mov rcx, qword [rsp + 0x98]
mov rax, rcx
add rax, 1
mov r8, rcx
and r8, r8
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
movabs rdx, 0x7614337ab47cf9b9
movabs r9, 0x89ebcc854b830646
xor rdx, r9
movabs r9, 0xea659757910af69d
movabs r10, 0x159a68a86ef50962
xor r9, r10
xor rdx, r9
movabs r9, 0x7895189f925cf0b4
movabs r10, 0x876ae7606da30f4b
xor r9, r10
movabs r10, 0xb65c703008393b7f
movabs r11, 0x49a38fcff7c6c480
xor r10, r11
xor r9, r10
or rdx, r9
xor rcx, 0xffffffffffffffff
movabs r9, 0x2a9e6e672586fbc3
movabs r10, 0xd5619198da79043c
xor r9, r10
xor rdx, r9
or rcx, rdx
and r8, rcx
movabs rcx, 0x7cfebf6e369121e0
movabs rdx, 0x83014091c96ede1f
xor rcx, rdx
xor r8, rcx
mov rdx, rax
xor rdx, r8
movabs rcx, 0x229bb371bbea7b99
movabs r9, 0xdd644c8e44158466
xor rcx, r9
xor rdx, rcx
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x70], rax
jge 0x1401b5323
call fcn.140007f57
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rcx
cmp rax, 0
je 0x1401b5375
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401b5375
mov rcx, qword [rsp + 0x68]
call fcn.14000fb44
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x118]
mov cl, byte [rcx]
cmp cl, 0
mov qword [rsp + 0xc0], rax
je 0x1401b4e5e
jmp 0x1401b53e4
xor eax, eax
mov dword [rsp + 0x124], eax
jmp 0x1401b541f
mov rcx, qword [rsp + 0xe0]
mov eax, 0xd
cmp rcx, 0
mov dword [rsp + 0x124], eax
je 0x1401b541f
mov rcx, qword [rsp + 0xe0]
call fcn.14001f7f0
mov eax, 0xd
mov dword [rsp + 0x124], eax
jmp 0x1401b541f
mov eax, dword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
cmp rcx, 0
mov dword [rsp + 0x124], eax
je 0x1401b541f
mov rcx, qword [rsp + 0xe0]
call fcn.14001f7f0
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x124]
add rsp, 0x1a8
ret
fsubr qword [rdx]
adc al, 0x60
jmp 0x1401b48f4
push 0xffffffffe9f62e92
adc dh, dh
invalid
cmp al, 0xf1
cli
mov ch, cl
invalid
and al, 0x76
jp 0x1401b545a
jmp 0x1401b4d42
movabs dword [0xfffffba0e91be640], eax
dec dword [rax - 0x7d]
in al, dx
sub byte [rax - 0x77], cl
and al, 0x20