Function at 0x1401c1050
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x58], rcx
call fcn.1401c3a4a
mov qword [rsp + 0x68], rax
add rax, 0x50
mov qword [rsp + 0x50], rax
mov edx, 8
mov rcx, rdx
call fcn.140015160
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
call fcn.1401b0290
mov rax, qword [rsp + 0x68]
mov cl, byte [rax + 0x50]
mov dl, 0xd7
xor dl, 0xd7
mov al, 1
cmp cl, dl
mov byte [rsp + 0x77], al
jne 0x1401c130b
mov rcx, qword [rsp + 0x58]
call fcn.1401be300
mov rax, qword [rsp + 0x50]
mov cl, byte [rax]
mov dl, 0xfc
xor dl, 0xfc
mov al, 1
cmp cl, dl
mov byte [rsp + 0x77], al
jne 0x1401c130b
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp byte [rax + 0x29], 0
je 0x1401c1300
movabs rcx, 0xd7a91e6e9db2a426
movabs rax, 0xd7a91e6e9db2a416
xor rcx, rax
movabs rdx, 0x6b18b99dfc9efc92
movabs rax, 0x6b18b99dfc9efc9a
xor rdx, rax
call fcn.14001ec20
mov qword [rsp + 0x40], rax
mov qword [rax], 0
mov ecx, 0x2cfa95b
xor ecx, 0x2cfa959
mov dword [rax + 8], ecx
mov ecx, 0x415
call fcn.14006fe60
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x77], al
jne 0x1401c130b
mov rax, qword [rsp + 0x48]
movabs rcx, 0xaa583fe020281896
movabs rdx, 0x55a7c01fa0281896
xor rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401c119a
mov rcx, qword [rsp + 0x48]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000e6db
jmp 0x1401c1300
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov dword [rax + 0xc], ecx
lea rcx, [rsp + 0x78]
call fcn.140085670
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x18], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x77], al
jne 0x1401c130b
mov ecx, dword [0x140222738]
mov edx, dword [0x14022273c]
mov eax, 0xb249e5e5
xor eax, 0x14a092ac
xor edx, eax
xor eax, eax
sub eax, edx
sub ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xb3a855cf
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov r8d, 0x8772a722
xor r8d, 0x34daf2ed
mov edx, ecx
and edx, r8d
or ecx, 0xb3a855cf
imul ecx, edx
add ecx, eax
mov edx, 0x94a3bd7
xor edx, 0x1b1e252
mov eax, ecx
and eax, edx
mov edx, 0x33d9796c
xor edx, 0x3b22a0e9
or ecx, edx
add eax, ecx
and eax, 0xbe07f4ce
mov ecx, 0xce4a8b9e
xor ecx, 0xf76e1629
cmp eax, ecx
je 0x1401c1453
mov eax, dword [0x140222740]
mov ecx, dword [0x140222744]
xor ecx, 0xb46a9d7b
xor eax, ecx
mov ecx, 0xd65daf64
xor edx, edx
div ecx
mov ecx, 0xc93cfc4e
xor ecx, 0xdb22c7dd
imul eax, ecx
mov ecx, 0x3fef68f
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x40]
mov ecx, eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x3c], ecx
mov ecx, 0x336e97a2
xor ecx, 0x345d1f68
mov dword [rsp + 0x38], ecx
mov rcx, qword [0x14022d398]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14022d3a0]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
call fcn.14002c7a0
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
jae 0x1401c1272
jmp 0x1401c1300
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov byte [rsp + 0x77], al
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov dl, byte [rsp + 0x77]
mov byte [rsp + 0x37], dl
mov byte [rax], 0
call fcn.1401af9de
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1401c1346
mov al, byte [rsp + 0x37]
mov rcx, qword [rsp + 0x50]
mov byte [rcx], al
cmp al, 0
je 0x1401c144b
call fcn.1401be0b0
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp word [rax + 0x12], 1
jle 0x1401c144b
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x6ada5411
xor ecx, 0xafa87670
cmp eax, ecx
jne 0x1401c144b
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
call fcn.1401be1d0
mov rcx, rax
call fcn.1400a4060
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x9d
xor cl, 0x9d
cmp al, cl
jne 0x1401c144b
mov eax, dword [0x140222748]
mov ecx, 0xfe75027e
xor ecx, 0x731801f2
xor eax, ecx
xor edx, edx
div dword [0x14022274c]
mov edx, 0xd4d6b609
xor edx, 0x74b9a13
mov ecx, eax
xor ecx, edx
mov edx, 0x4582e008
xor edx, 0xba7d1ff7
xor ecx, edx
or eax, 0xd39d2c1a
and eax, ecx
mov ecx, 0x917f34b4
xor ecx, 0x959d9942
and eax, ecx
xor eax, 0x453f2978
cmp eax, 0x8d88b907
ja 0x1401c145c
mov eax, dword [0x140222750]
imul eax, dword [0x140222754]
mov ecx, 0x661333a3
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xa662ed7e
xor ecx, 0xffffffff
or eax, 0xa662ed7e
and eax, ecx
or eax, 0x485d4c49
mov dword [rsp + 0x24], eax
call fcn.1401be084
mov eax, dword [rsp + 0x24]
cmp eax, 0x6f1b4780
jae 0x1401c1401
invalid
jmp 0x1401c144b
add byte [rax - 0x7f], cl
invalid
add rsp, 0x88
ret
insd dword [rdi], dx
or eax, 0x16e9a348
invalid
movsd dword [rdi], dword [rsi]
jl 0x1401c1443
jbe 0x1401c144a
pushfq
invalid