Function at 0x14001ae60
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x60], r8
mov rax, rcx
add rax, 8
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
movabs rcx, 0x259967c5ebfcc9c6
movabs rdx, 0x259967c5ebfcc9c6
xor rcx, rdx
sub rcx, r8
xor edx, edx
sub rdx, 1
add rcx, rdx
movabs rdx, 0x32a591de2aa6f007
movabs r9, 0x32a591de2aa6f007
xor rdx, r9
sub rdx, rcx
mov qword [rsp + 0x78], rdx
movabs rcx, 0x68f4478533725014
movabs r9, 0x970bb87acc8dafeb
xor rcx, r9
xor r8, rcx
movabs r9, 0xe144cab72bcd012e
movabs rcx, 0x1ebb3548d432fed1
xor r9, rcx
mov rcx, rdx
xor rcx, r9
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs r9, 0xc669fa7cf95036d7
movabs rdx, 0x3996058306afc928
xor r9, rdx
mov rdx, r8
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
movabs rdx, 0x18b790f07d3a705
movabs r8, 0xfe7486f0f82c58fa
xor rdx, r8
xor rcx, rdx
mov qword [rsp + 0x80], rcx
cmp rax, 0
je 0x14001afc3
mov rax, qword [rsp + 0x80]
cmp rax, 0
jl 0x14001afb9
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rax]
movabs r9, 0xbfffffffffffffff
mov r8, rcx
xor r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0xbfffffffffffffff
or rcx, r9
and rcx, r8
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jl 0x14001afc3
jmp 0x14001b29a
call fcn.1400077a3
jmp 0x14001b3e6
mov eax, dword [0x1401d5dd8]
mov edx, dword [0x1401d5ddc]
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x5bfd2425
xor r8d, 0xa402dbda
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x239a1e9f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x239a1e9f
or eax, 0x239a1e9f
imul eax, edx
add eax, ecx
mov ecx, 0xc81c18b6
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x5083fbe5
xor edx, 0xaf7c041a
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xf3673cd2
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf3673cd2
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xbf2c4f4
jae 0x14001b3f0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov r10d, dword [0x1401d5de0]
mov r9d, dword [0x1401d5de4]
xor r9d, 0xa23f63ba
mov r8d, r10d
xor r8d, 0xffffffff
and r8d, 0xdc860bcb
mov r11d, 0x4d24bfb0
xor r11d, 0x91a2b47b
mov eax, 0xd9ffe3ed
xor eax, 0x26001c12
xor r11d, eax
and r10d, r11d
mov esi, 0x6e3cc414
xor esi, 0x91c33beb
mov eax, r9d
xor eax, esi
and eax, 0xdc860bcb
and r9d, r11d
or r8d, r10d
or eax, r9d
xor r8d, eax
mov r9d, 0xfff661d7
xor r9d, 0x99e28
mov eax, r8d
xor eax, r9d
and eax, 0xc39d3565
mov r9d, 0x664780d0
xor r9d, 0xa5dab5b5
mov r10d, 0x97f9d402
xor r10d, 0x68062bfd
xor r9d, r10d
and r8d, r9d
or eax, r8d
mov r8d, eax
xor r8d, 0xb55cd616
mov r9d, 0xffffffff
xor r9d, 0xb55cd616
and eax, r9d
shl eax, 1
sub eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x5d9f4f4
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r10d, 0x55c1daa5
xor r10d, 0x50182e51
mov r9d, eax
and r9d, r10d
mov r10d, 0x32067267
xor r10d, 0x37df8693
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x34], eax
mov r8d, 1
mov r9d, 0x10
mov qword [rsp + 0x20], 8
call fcn.140011990
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov r8, rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x38], r8
mov qword [rdx], r8
movabs rdx, 0xf5dcc19fdbf3a37f
movabs r8, 0xf5dcc19fdbf3a37f
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0x24edc326
je 0x14001b069
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x14001b1fc
jmp 0x14001b29a
mov eax, dword [0x1401d5de8]
imul eax, dword [0x1401d5dec]
mov ecx, 0x6ffa01f1
xor edx, edx
div ecx
sub eax, 0xbc772d5
mov edx, 0x72d3d821
xor edx, 0x53f4cbf6
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x212713d7
shl ecx, 1
mov edx, 0x14e28db3
xor edx, 0x35c59e64
sub ecx, edx
sub eax, ecx
cmp eax, 0xa00f254c
jb 0x14001b3f9
mov ecx, dword [0x1401d5df0]
sub ecx, dword [0x1401d5df4]
mov eax, ecx
and eax, 0x74efb44c
xor ecx, 0x74efb44c
or eax, ecx
mov ecx, 0x269c01dd
xor ecx, 0x87ae4672
or eax, ecx
mov ecx, 0x22da6223
xor edx, edx
div ecx
mov dword [rsp + 0x30], eax
call fcn.1400077a3
mov eax, dword [rsp + 0x30]
cmp eax, 0x91e07635
ja 0x14001b24c
jmp 0x14001b3e6
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401d5df8]
xor eax, 0x7386fdcf
sub eax, dword [0x1401d5dfc]
mov r8d, 0xffffffff
xor r8d, 0x9dfda8cc
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9dfda8cc
or eax, 0x9dfda8cc
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf1794147
xor edx, 0x16b7e3c4
and edx, ecx
mov r8d, 0xe876b7b0
xor r8d, 0xfb81533
mov ecx, 0x751c2628
xor ecx, 0x8ae3d9d7
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe7cea283
mov r8d, 0x9214b65a
xor r8d, 0x75da14d9
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x99e12357
cmp eax, 0x6247ca
jbe 0x14001b402
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x78]
mov eax, dword [0x1401d5e00]
or eax, dword [0x1401d5e04]
add eax, 0x757b3f7e
mov r11d, eax
xor r11d, 0xffffffff
mov esi, 0xd0a58ec8
xor esi, 0x48643393
and esi, r11d
mov edi, 0xffffffff
xor edi, 0x98c1bd5b
mov r11d, eax
and r11d, edi
imul r11d, esi
mov esi, eax
and esi, 0x98c1bd5b
mov edi, 0x518622be
xor edi, 0xc9479fe5
or eax, edi
imul eax, esi
add eax, r11d
xor eax, 0xc7138874
mov qword [r9], r10
add rcx, 8
shl r8, 4
add rcx, r8
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
cmp eax, 0x5b603782
jae 0x14001b346
jmp 0x14001b3e6
add rsp, 0x88
pop rdi
pop rsi
ret
int3
mov dh, 0x15
stosd dword [rdi], eax
sub ecx, 0xfffffe4a
jrcxz 0x14001b413
xlatb
invalid
pop rax
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
call fcn.14000aa89
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rcx, qword [rcx]
call fcn.14001b645
test al, 1
jne 0x14001b442
jmp 0x14001b557
mov eax, dword [0x1401d5e08]
mov ecx, 0x440fc3a1
xor ecx, 0x15677f86
xor eax, ecx
mov ecx, dword [0x1401d5e0c]
xor ecx, 0xc7ece843
sub eax, ecx
or eax, 0x755ac30c
mov ecx, 0xecb8bacb
xor ecx, 0x545d84b
add eax, ecx
mov ecx, 0x8a0ed7e3
xor ecx, 0x40db3825
sub eax, ecx
sub eax, 0xe9fd6280
mov ecx, 0xe57d1242
xor edx, edx
div ecx
cmp eax, 0xbdfb5ea9
ja 0x14001b633
mov rax, qword [rsp + 0x38]
mov edx, dword [0x1401d5e10]
imul edx, dword [0x1401d5e14]
mov r8d, 0x79868908
xor r8d, 0x78c7e3d6
mov ecx, edx
and ecx, r8d
xor edx, 0x1416ade
or ecx, edx
mov edx, 0x3c959886
xor edx, 0xd669589
or ecx, edx
imul ecx, ecx, 0xdd5e8f57
mov dword [rsp + 0x28], ecx
mov ecx, 0x2b14f902
xor ecx, 0xf8d8f8a
mov dword [rsp + 0x24], ecx
mov rax, qword [rax]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x48]
call fcn.1400c156b
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
mov dl, byte [rdx + 0x60]
mov r8b, 0xfc
xor r8b, 0xfc
cmp dl, r8b
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
jbe 0x14001b49b
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14001b545
jmp 0x14001b62e
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000eb78
mov eax, dword [0x1401d5e18]
xor eax, 0xd75d7401
imul eax, dword [0x1401d5e1c]
mov ecx, eax
and ecx, 0x58d287f5
shl ecx, 1
mov edx, 0xd6876e53
xor edx, 0x8e55e9a6
xor eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x32d29951
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xfa63f768
xor r8d, 0xc8b16e39
mov edx, eax
and edx, r8d
mov r8d, 0x66588a12
xor r8d, 0x548a1343
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x7aa9f019
cmp eax, 0x25537024
jbe 0x14001b63c
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1401d5e20]
xor edx, edx
div dword [0x1401d5e24]
mov rdx, qword [rsp + 0x38]
mov ecx, eax
mov eax, ecx
and eax, 0x8691c7f6
xor ecx, 0x8691c7f6
or eax, ecx
mov ecx, 0x4d946bc6
xor ecx, 0x80cc458
or eax, ecx
imul eax, eax, 0x6c16002
mov ecx, 0xee3b8aa0
xor ecx, 0x89718f7b
mov qword [rdx], r8
cmp eax, ecx
jae 0x14001b63c
jmp 0x14001b62e
add rsp, 0x58
ret
test rcx, 0xfffffffffe5fe985
invalid
xchg ecx, eax
invalid