Function at 0x14017fb50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov r8, qword [rsp + 0xf8]
add rax, 0x60
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x110], 0
movabs rax, 0x54c16544d231c264
movabs rcx, 0x54c16544d231c264
xor rax, rcx
cmp r8, rax
jge 0x14017fbdd
mov rcx, qword [rsp + 0xf8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x140180979
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov qword [rsp + 0xe0], rax
cmp rax, rcx
jg 0x14017fc1f
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffff
call fcn.1400292ad
jmp 0x14017fd24
mov eax, dword [0x14027c7c0]
xor eax, 0x1318665b
mov ecx, dword [0x14027c7c4]
xor ecx, 0xe64bf3cd
or eax, ecx
mov ecx, 0xf5e69589
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xae595af8
xor edx, 0xc416054c
mov eax, ecx
or eax, edx
mov edx, 0x2431c786
xor edx, 0xdbce3879
xor eax, edx
mov edx, 0xd18fe8c5
xor edx, 0x2e70173a
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x6a4f5fb4
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xab792973
mov ecx, 0x76644ef9
xor ecx, 0xe4959310
cmp eax, ecx
jb 0x140180981
mov rcx, qword [rsp + 0xf0]
mov eax, dword [0x14027c7c8]
or eax, dword [0x14027c7cc]
mov edx, 0x71e93b7
xor edx, 0x71e93b7
mov r8d, 0xd03cd7d5
xor r8d, 0xd86ae2d0
sub edx, r8d
sub eax, edx
mov r8d, 0xec31790e
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xf8]
mov r8d, 0x2dd1c98a
xor r8d, 0xd3d10f18
and eax, r8d
mov rcx, qword [rcx + 8]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov qword [rsp + 0xd8], rcx
cmp eax, 0x8ea268ef
ja 0x140180981
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd0], rax
jmp 0x14017fd24
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rax
mov eax, dword [0x14027c7d0]
xor edx, edx
div dword [0x14027c7d4]
mov ecx, 0xe5148e16
xor edx, edx
div ecx
add eax, 0xb32f599f
mov ecx, 0xaf4944eb
xor edx, edx
div ecx
cmp eax, 0xc92a42a3
je 0x14018098a
mov rdx, qword [rsp + 0x100]
mov eax, dword [0x14027c7d8]
or eax, dword [0x14027c7dc]
and eax, 0xa8d9abfb
mov ecx, 0xc545c17c
xor ecx, 0x4b5ca320
xor eax, ecx
xor eax, 0x6e4c6a1b
mov ecx, 0x35175d63
xor ecx, 0xfbbfda5f
mov dl, byte [rdx]
mov r8b, 0x46
xor r8b, 0x46
cmp dl, r8b
sete dl
mov byte [rsp + 0xc7], dl
cmp eax, ecx
ja 0x14017fd64
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x14017fdcc
jmp 0x140180979
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rax]
lea rcx, [rsp + 0x110]
xor r8d, r8d
call fcn.140183b30
mov rax, qword [rsp + 0x100]
mov al, byte [rax]
mov cl, 0x26
xor cl, 0x26
cmp al, cl
jne 0x140180979
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe8]
cmp rax, rcx
mov qword [rsp + 0xb8], rax
jle 0x1401807ad
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
add rcx, 8
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x108], 0
movabs rcx, 0xc9400c07f0fe26d6
movabs rdx, 0xebabe56065a9c28b
xor rcx, rdx
mov rdx, rax
add rdx, rcx
movabs rcx, 0x67d9f3d28d39d6c7
movabs r8, 0x98260c2d72c62938
xor rcx, r8
add rdx, rcx
movabs rcx, 0x22ebe9679557e45d
sub rdx, rcx
mov qword [rsp + 0xa0], rdx
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, rax
movabs r8, 0x5e59f4499e6083f
movabs r9, 0xfa1a60bb6619f7c0
xor r8, r9
xor rcx, r8
movabs r9, 0xf00ae973b1aedc49
movabs r8, 0xff5168c4e5123b6
xor r9, r8
mov r8, rax
xor r8, r9
movabs r10, 0x887352d337493f75
movabs r9, 0x778cad2cc8b6c08a
xor r10, r9
mov r9, rax
xor r9, r10
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0xd022013320020910
movabs r8, 0xd022013320020910
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0
setg dl
mov r8b, 1
xor r8b, 0
mov al, dl
xor al, r8b
xor r8d, r8d
xor r8b, 1
xor dl, r8b
and al, dl
or cl, cl
mov dl, 1
xor dl, 0
xor cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x14017ff7a
jmp 0x14017ff84
call fcn.14000f24b
jmp 0x1401804d7
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
movabs rcx, 0x4220ca33cc0899c0
movabs r8, 0x4220ca33cc0899c1
xor rcx, r8
sar rdx, cl
mov qword [rsp + 0x90], rdx
cmp rax, 1
jge 0x1401800a9
mov ecx, dword [0x14027c7e0]
mov edx, dword [0x14027c7e4]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0x9ea6d061
mov ecx, 0x46fb38f
xor edx, edx
div ecx
add eax, 0x32027716
mov ecx, 0x54b52bc4
xor ecx, 0x9930e440
cmp eax, ecx
jae 0x140180993
mov rcx, qword [rsp + 0x90]
mov edx, dword [0x14027c7e8]
sub edx, dword [0x14027c7ec]
xor edx, 0x75ca77a0
mov eax, 0xf4d986dd
xor eax, 0x8b0e5c9
imul edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x7dd0361e
xor r8d, 0x822fc9e1
xor edx, r8d
and eax, edx
mov edx, 0x6bb25c29
or edx, 0x6bb25c29
mov r8d, 0x1f2a1d32
xor r8d, 0xe0d5e2cd
xor edx, r8d
or eax, edx
mov edx, 0x75a5781b
xor edx, 0x8a5a87e4
xor eax, edx
mov dword [rsp + 0x8c], eax
mov eax, 0x918f416e
xor eax, 0xb1f3f18f
mov dword [rsp + 0x88], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
cmp eax, ecx
ja 0x14017fffb
jmp 0x1401804d7
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
cmp rax, rcx
jle 0x140180126
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov rdx, qword [rax + rcx*8 + 8]
mov r8b, 1
xor r8b, 1
and r8b, 1
lea rcx, [rsp + 0x108]
call fcn.140183b30
mov rdx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x98]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x78], rax
je 0x14018028f
jmp 0x1401805aa
mov ecx, dword [0x14027c7f0]
mov r8d, dword [0x14027c7f4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xda19c12c
xor edx, 0x129346ec
mov r8d, 0x70e57bbf
xor r8d, 0x8f1a8440
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc88a87c0
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xcb90072f
xor ecx, 0x94dc6255
add eax, ecx
mov ecx, 0x4149736e
xor edx, edx
div ecx
mov ecx, 0x7b0e98df
xor ecx, 0x839ff16
cmp eax, ecx
ja 0x14018099c
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
mov r8d, dword [0x14027c7f8]
mov eax, dword [0x14027c7fc]
xor eax, 0xa2d141dc
xor r8d, eax
sub r8d, 0x8cd4d22d
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, 0xe89fad56
xor eax, 0x8fab0821
and eax, r9d
mov r9d, 0xffffffff
xor r9d, 0x6734a577
and r8d, r9d
or eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x876474da
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x876474da
or eax, 0x876474da
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x70], eax
movabs rax, 0x64ff3b1294530c13
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x64ff3b1294530c13
add rdx, rax
call fcn.1400292ad
mov eax, dword [rsp + 0x70]
cmp eax, 0x10a32f26
je 0x1401801b7
mov rax, qword [rsp + 0x98]
mov cl, 1
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x78], rax
jmp 0x1401805aa
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x60], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rcx + 8]
mov rdx, qword [rdx + 8]
sub rcx, rdx
setge cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0x6f], al
or al, cl
test al, 1
jne 0x1401803b3
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rax, rcx
jl 0x140180328
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffff
call fcn.1400292ad
jmp 0x1401804d7
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0x108]
call fcn.1401840a0
mov rdx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x98]
mov cl, 1
cmp byte [rdx], 0
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x78], rax
jne 0x1401805aa
lea rcx, [rsp + 0x108]
call fcn.140184419
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov cl, byte [rcx]
cmp cl, 0
cmove rax, rdx
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x78], rax
jmp 0x1401805aa
mov ecx, dword [0x14027c800]
xor ecx, dword [0x14027c804]
mov eax, 0xa4a58cd0
xor eax, 0xeb8f1124
or ecx, eax
sub ecx, 0xe3ce486e
mov edx, 0xebe58a6a
xor edx, 0x13f9362b
mov eax, 0x4114ba63
xor eax, 0xbeeb459c
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x46e54a45
jae 0x1401809a5
mov r8d, dword [0x14027c808]
xor r8d, dword [0x14027c80c]
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0x5756b2c2
xor ecx, 0x28e5f73f
and ecx, eax
mov edx, 0xffffffff
xor edx, 0x7fb345fd
and r8d, edx
mov eax, 0xe14efad3
xor eax, 0xf772c7ad
mov r9d, 0x4cbfa151
xor r9d, 0xb3405eae
xor eax, r9d
and eax, 0x7fb345fd
and edx, 0x163c3d7e
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x67447a04
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0x2c872217
xor edx, 0x165f270
mov ecx, eax
xor ecx, edx
mov edx, 0x5d810da0
xor edx, 0xa27ef25f
xor ecx, edx
or eax, 0x2de2d067
and eax, ecx
cmp eax, 0x8fdd8b2d
je 0x1401803f9
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x1401804d7
jmp 0x1401804a4
mov rcx, qword [rsp + 0x108]
call fcn.140184430
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x98]
cmp byte [rcx], 0
mov qword [rsp + 0xb8], rax
je 0x1401807ad
jmp 0x1401807a8
mov eax, dword [0x14027c810]
xor eax, 0x92904583
sub eax, dword [0x14027c814]
or eax, 0x34b684b
mov ecx, 0xe304c9d7
xor ecx, 0x4c8f477b
imul eax, ecx
xor eax, 0xeae3057e
cmp eax, 0xa5771cf3
je 0x1401809ae
mov rcx, qword [rsp + 0x100]
mov edx, dword [0x14027c818]
sub edx, dword [0x14027c81c]
or edx, 0x315c8386
mov r8d, 0x9a0778a6
xor r8d, 0x3503d118
mov eax, edx
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0x3b0e1571
xor r8d, 0xc4f1ea8e
xor edx, r8d
mov r8d, 0xd1ab43ca
xor r8d, 0x7eafea74
mov r9d, 0x4f7b17b
xor r9d, 0xfb084e84
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x86fe09ac
xor edx, 0xf34edb0a
xor eax, edx
mov cl, byte [rcx]
mov byte [rsp + 0x4f], cl
cmp eax, 0x2efe431e
jbe 0x14018050b
mov rax, qword [rsp + 0x98]
mov cl, byte [rsp + 0x4f]
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x78], rax
jmp 0x1401805aa
mov al, byte [rsp + 0x77]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x4e], al
mov ecx, dword [str._t1]
mov edx, dword [0x14027c824]
mov eax, edx
and eax, ecx
mov r8d, 0x1355a8d2
xor r8d, 0xecaa572d
xor eax, r8d
add ecx, edx
add ecx, 1
add ecx, eax
mov edx, 0xfff0db11
xor edx, 0xf24ee
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xa012efd7
or edx, 0xa012efd7
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xa012efd7
mov edx, 0x9842f1b4
xor edx, 0x67bd0e4b
xor ecx, edx
mov edx, 0x1e46a415
xor edx, 0xe1b95bea
xor eax, edx
mov edx, 0x280ef578
xor edx, 0xd7f10a87
xor ecx, edx
and eax, ecx
mov ecx, 0x96d9267d
xor ecx, 0xc80fa33c
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x9ce3d2f5
mov r8d, 0xffffffff
xor r8d, 0x9ce3d2f5
and edx, r8d
or eax, edx
mov edx, 0xb81fb2b7
xor edx, 0x47e04d48
xor eax, edx
or ecx, 0x9ce3d2f5
mov edx, 0x363edfe8
xor edx, 0xc9c12017
xor ecx, edx
mov edx, 0xc8a0d1bd
xor edx, 0x375f2e42
xor eax, edx
mov edx, 0x1413339f
xor edx, 0xebeccc60
xor ecx, edx
and eax, ecx
cmp eax, 0x18c3c257
jbe 0x1401809b7
mov rax, qword [rsp + 0x100]
mov edx, dword [0x14027c828]
mov ecx, 0xbfb543f4
xor ecx, 0xf3561cf8
xor edx, ecx
mov r8d, dword [0x14027c82c]
mov ecx, edx
and ecx, r8d
or edx, r8d
add ecx, edx
mov r8d, 0xbf6008d3
xor r8d, 0x409ff72c
mov edx, ecx
xor edx, r8d
mov r8d, 0x83b79406
xor r8d, 0x69d203ad
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0xea6597ab
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0xea6597ab
or ecx, 0xea6597ab
imul ecx, r8d
add ecx, edx
or ecx, 0xa9578c41
mov edx, 0xea40c1cd
xor edx, 0xf93b8f42
add ecx, edx
mov dword [rsp + 0x38], ecx
mov byte [rax], 0
mov rcx, qword [rsp + 0x108]
call fcn.140184430
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x291d89cf
jae 0x1401806bf
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140180792
jmp 0x1401807a8
mov al, byte [rsp + 0x4e]
mov rcx, qword [rsp + 0x100]
mov byte [rcx], al
cmp al, 0
je 0x1401807d8
jmp 0x140180979
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x14018081e
jmp 0x140180806
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xe8]
cmp rax, rcx
mov rcx, rax
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
jg 0x14017fe43
jmp 0x1401807ad
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffff
call fcn.1400292ad
jmp 0x140180979
mov eax, dword [0x14027c830]
mov ecx, dword [0x14027c834]
xor ecx, 0xb84b21fa
add eax, ecx
imul eax, eax, 0xf01e65d9
mov ecx, 0x675ecc0b
xor ecx, 0x8d600255
imul eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa7dd64d9
mov r8d, 0xffffffff
xor r8d, 0xa7dd64d9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xfd2abaef
xor r8d, 0x5af7de36
mov edx, eax
and edx, r8d
or eax, 0xa7dd64d9
imul eax, edx
add eax, ecx
cmp eax, 0xd9df80d0
ja 0x1401809c0
mov rcx, qword [rsp + 0xf0]
mov eax, dword [0x14027c838]
xor edx, edx
div dword [0x14027c83c]
mov edx, eax
mov rax, qword [rsp + 0x28]
xor r8d, r8d
sub r8d, edx
mov edx, 0x39a57773
xor edx, 0x39a57773
mov r9d, 0x4e93c6ca
xor r9d, 0x3a033776
sub edx, r9d
add r8d, edx
xor edx, edx
sub edx, r8d
mov r9d, 0xe77683bf
xor r9d, 0x60d5dd21
mov r8d, edx
and r8d, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x87a35e9e
or edx, r9d
mov r9d, 0xcdcdd6e7
xor r9d, 0x32322918
xor r8d, r9d
xor edx, 0xffffffff
enter 0xfffffffffffff283, 0xffffffffffffffff
or r8d, edx
mov edx, r8d
or edx, 0x63a5b002
xor edx, 0xffffffff
mov r9d, 0x5e7b28c3
xor r9d, 0x3dde98c1
or r8d, r9d
mov r9d, 0x3c2600c2
xor r9d, 0xc3d9ff3d
xor r8d, r9d
or edx, r8d
xor edx, 0xffffffff
mov dword [rsp + 0x24], edx
mov rcx, qword [rcx + 8]
add rcx, 8
shl rax, 3
add rcx, rax
mov rdx, qword [rsp + 0x110]
call fcn.1401840a0
mov eax, dword [rsp + 0x24]
cmp eax, 0xae885c80
jae 0x1401809c0
jmp 0x140180979
add rsp, 0x118
ret
je 0x14018090c
sub dword [rbx - 0xcf017], esi
invalid
in al, dx
add al, 0xd3
jmp 0x14017fd64
ja 0x140180974
invalid
scasb al, byte [rdi]
pop rsp
clc
int1
jmp 0x1401801b7
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 + 0x4b], al
cli
invalid
jle 0x140180a02
push rcx
movabs byte [0xb3999cfffffb54e9], al
xchg edi, eax
pushfq
cdq
mov bl, 0x97
jmp 0x1401806bf
movsd dword [rdi], dword [rsi]
mov ax, 0xe96a
invalid
invalid