Function at 0x1400d2210
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x20], rcx
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov eax, 0x20
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1400cf8a3
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x48], rax
movabs rdx, 0x70f20eef28093732
movabs rax, 0x70f20eef2809372a
xor rdx, rax
sub rsp, 0x20
call fcn.1400cf8be
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400cf8be
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400cf8be
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.14000fb15
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov r9d, 0xa275d25e
xor r9d, 0xa275d256
lea rcx, [rbp + 0x68]
lea r8, [rbp + 0x58]
sub rsp, 0x20
call fcn.1400d1af0
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x80], rcx
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x88], rcx
mov cl, byte [rbp + 0x78]
mov byte [rbp + 0x57], cl
cmp byte [rax], 0
jne 0x1400d28e5
mov al, byte [rbp + 0x57]
mov cl, 0x7c
xor cl, 0x7c
cmp al, cl
jne 0x1400d24d3
mov eax, dword [0x1401ddb40]
and eax, dword [0x1401ddb44]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xaf83235
mov r8d, 0xffffffff
xor r8d, 0xaf83235
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xaf83235
or eax, 0xaf83235
imul eax, edx
add eax, ecx
sub eax, 0x77c0b4ca
sub eax, 0x47d89d82
cmp eax, 0x6c7918e5
je 0x1400d29aa
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401ddb48]
and eax, dword [0x1401ddb4c]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x1c3c10ed
mov r8d, 0xffffffff
xor r8d, 0x1c3c10ed
and eax, r8d
sub eax, edx
sub eax, 0xd2a73ce8
mov edx, eax
and edx, 0xd9fa18b3
shl edx, 1
add eax, 0xd9fa18b3
sub eax, edx
mov dword [rbp - 8], eax
mov eax, 0x8a624759
xor eax, 0x446d2cb9
mov dword [rbp - 0xc], eax
sub rsp, 0x20
call fcn.140082b7a
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 8]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xc9
xor r8b, 0xc9
cmp dl, r8b
sete dl
mov byte [rbp - 1], dl
cmp eax, ecx
je 0x1400d23b9
mov al, byte [rbp - 1]
test al, 1
jne 0x1400d244e
jmp 0x1400d28e5
mov rcx, qword [rbp + 0x20]
movabs rdx, 0xae70173030849a8d
movabs rax, 0xae70173030849a95
xor rdx, rax
sub rsp, 0x20
call fcn.1400cf8be
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d28e5
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
cmp rax, 0
je 0x1400d299d
mov rax, qword [rbp - 0x18]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
movabs rdx, 0xc4ca5a7160235ac7
movabs r8, 0xc4ca5a7160235ac7
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x20], rax
je 0x1400d298c
jmp 0x1400d299d
mov eax, dword [0x1401ddb50]
xor eax, 0x7cce8dd1
mov ecx, dword [0x1401ddb54]
xor ecx, 0x5fa35919
imul eax, ecx
and eax, 0x32956bb5
mov ecx, 0xe119836f
xor edx, edx
div ecx
mov edx, eax
mov ecx, edx
xor ecx, 0x368d34d6
mov eax, 0xffffffff
xor eax, 0x368d34d6
and edx, eax
mov eax, 0x5db2ab15
xor eax, 0x5db2ab17
imul eax, edx
sub eax, ecx
mov ecx, 0xf8ad9d5a
xor ecx, 0x4b6c0245
cmp eax, ecx
jbe 0x1400d29b3
mov r8, qword [rbp + 0x28]
mov eax, dword [0x1401ddb58]
xor edx, edx
div dword [0x1401ddb5c]
imul eax, eax, 0x1f939cc8
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0xffffffff
xor eax, 0x31fd9138
mov edx, 0xffffffff
xor edx, 0x31fd9138
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf5cec00e
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf5cec00e
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x43f4f674
xor ecx, 0xc724fb5c
mov rdx, qword [rbp + 0x80]
mov qword [r8], rdx
mov rdx, qword [rbp + 0x88]
mov qword [r8 + 8], rdx
mov edx, dword [r8 + 8]
mov r8, qword [r8]
mov qword [rbp - 0x38], r8
movsxd r8, edx
mov qword [rbp - 0x30], r8
mov r8d, 0x6adb40d3
xor r8d, 0x6adb40d3
cmp edx, r8d
setl dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
jbe 0x1400d29b3
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1400d25fb
jmp 0x1400d26fe
mov eax, dword [0x1401ddb60]
or eax, dword [0x1401ddb64]
or eax, 0xe8dacc17
imul r11d, eax, 0xd4f6e0fc
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x5331fba2
mov edx, 0xffffffff
xor edx, 0xf92ad466
mov eax, ecx
and eax, 0xf92ad466
and r11d, edx
mov r9d, r8d
and r9d, 0xf92ad466
mov r10d, edx
and r10d, 0x5331fba2
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xf92ad466
and ecx, edx
or eax, ecx
mov ecx, 0x5d3b7cba
xor ecx, 0xd7a65797
cmp eax, ecx
jae 0x1400d29bc
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1401ddb68]
xor eax, 0x30bf915d
mov r8d, dword [0x1401ddb6c]
mov edx, eax
add edx, 1
mov r9d, 0x8eca1752
xor r9d, 0x7135e8ad
xor eax, r9d
or eax, r8d
add eax, edx
imul eax, eax, 0xb51e486e
sub eax, 0xd6dcef62
add eax, 0x7db702b5
mov edx, 0x5b6424a3
xor edx, 0x8db8cbc1
add eax, edx
add eax, 0x6041e926
mov dword [rbp - 0x3c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c4b0
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0xecf506d4
jae 0x1400d267b
jmp 0x1400d28d4
mov eax, dword [0x1401ddb70]
xor eax, 0x60020769
xor edx, edx
div dword [0x1401ddb74]
xor eax, 0xfc931063
mov ecx, 0x68776f63
xor ecx, 0x5b7abfb1
xor edx, edx
div ecx
add eax, 0xfb786d30
cmp eax, 0x1d6d8fb7
jb 0x1400d29c5
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x1401ddb78]
xor eax, 0x39a1630e
and eax, dword [0x1401ddb7c]
mov r8d, 0xc70f9d3
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x30]
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x31115d0a
xor r8d, 0x45c8eec6
mov r9d, 0xbb0a4473
xor r9d, 0xcfd3f7bf
or r8d, r9d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or eax, 0x43cd2789
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.14002386a
mov rdx, qword [rbp + 0x10]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov rcx, qword [rdx]
mov qword [rbp - 0x50], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x48], rdx
cmp rcx, 1
setl cl
mov byte [rbp - 0x3d], cl
cmp eax, 0xe4dc07d
jb 0x1400d2735
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x1400d27d9
jmp 0x1400d27f7
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x1400d28d4
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
add rax, 8
mov qword [rbp - 0x70], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x68], rax
xor eax, eax
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x78], rax
cmp rax, rcx
je 0x1400d286e
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x38]
mov dl, byte [rdx + rcx]
mov byte [rax + rcx], dl
movabs rdx, 0xfbb87996fa8ffab5
movabs rax, 0xfbb87996fa8ffab4
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 1
add rax, rcx
mov qword [rbp - 0x60], rax
jmp 0x1400d281a
mov rcx, qword [rbp + 0x18]
mov edx, 0x18
sub rsp, 0x20
call fcn.1400cf8be
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov byte [rcx + 0x10], 1
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14002c1ca
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.14001cd4b
add rsp, 0x20
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 8]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1400d299d
mov rax, qword [rbp - 0x80]
mov rdx, qword [rax]
movabs r8, 0x4000000000000000
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rdx, r8
movabs r8, 0x5bc6d651258514fe
movabs r9, 0xa43929aeda7aeb01
xor r8, r9
xor rcx, r8
movabs r8, 0xecc825b512a58322
movabs r9, 0x1337da4aed5a7cdd
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0xd606432424c3b635
movabs r8, 0xd606432424c3b635
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x20], rax
jne 0x1400d299d
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp]
lea rsp, [rbp + 0xa0]
pop rbp
ret
cld
invalid
invalid
int 0x4e
int3
invalid
jns 0x1400d29c3
invalid