Function at 0x1400d7a50
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov dword [rbp - 4], r8d
mov qword [rbp + 0x10], rdx
mov qword [rbp], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.1400d6e29
add rsp, 0x20
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x58]
mov edx, 8
sub rsp, 0x20
call fcn.1400d6e50
add rsp, 0x20
mov dword [rbp + 0x54], 0x20
mov ecx, 0x20
sub rsp, 0x20
call fcn.14000b997
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x18], rax
mov eax, 0xe2a29b24
xor eax, 0xe2a29b24
mov dword [rbp + 0x50], eax
mov rax, qword [rdx]
mov qword [rbp + 0x40], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.1400d6fbf
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0x74
xor cl, 0x74
cmp al, cl
jne 0x1400d7eb4
mov r10, qword [rbp + 0x18]
mov r9d, dword [rbp - 4]
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
lea r11, [rbp + 0x50]
lea rax, [rbp + 0x54]
sub rsp, 0x40
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rax
call fcn.1400a48d9
add rsp, 0x40
mov ecx, eax
mov rax, qword [rbp + 0x20]
mov dword [rbp - 8], ecx
cmp byte [rax], 0
jne 0x1400d7eb4
mov rax, qword [rbp + 0x18]
mov ecx, dword [rbp - 8]
mov edx, 0x19e3f425
xor edx, 0x19e3f4cf
cmp ecx, edx
mov dword [rbp - 0x14], ecx
mov qword [rbp - 0x10], rax
jne 0x1400d7d52
mov eax, dword [rbp + 0x54]
movsxd rcx, eax
mov qword [rbp - 0x20], rcx
cmp eax, 0
jge 0x1400d7cac
mov eax, dword [0x1402061d0]
mov edx, dword [0x1402061d4]
xor eax, 0xffffffff
mov ecx, 0x4865ac97
xor ecx, 0xb79a5368
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xf9c7409a
or eax, edx
or ecx, 0xf9c7409a
xor eax, 0xffffffff
and eax, ecx
or eax, 0xa86f097a
or eax, 0xd6ee0010
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x4d178a5
xor edx, 0x2c2b615e
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x28fa19fb
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x28fa19fb
or eax, 0x28fa19fb
imul eax, edx
add eax, ecx
mov ecx, 0x5183ab6c
xor ecx, 0xacc76d5c
cmp eax, ecx
je 0x1400d810e
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x1402061d8]
xor edx, 0x5c30ca05
mov r8d, dword [0x1402061dc]
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0x36a809c
xor r10d, 0xfc957f63
mov r9d, r8d
xor r9d, r10d
or eax, r9d
and edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xcca35b6c
xor r8d, 0x335ca493
xor edx, r8d
or eax, edx
sub eax, 0xec4cfd1d
or eax, 0x7aabdfa0
mov edx, 0x793c42c5
xor edx, 0x3bbc10f1
xor eax, edx
mov dword [rbp - 0x24], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
mov eax, dword [rbp - 0x24]
add rsp, 0x20
cmp eax, 0xac8ccd44
ja 0x1400d7c17
jmp 0x1400d7eb4
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000da7f
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1400d6fbf
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x1400d7eb4
mov r10, qword [rbp - 0x38]
mov r9d, dword [rbp - 4]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
lea r11, [rbp + 0x50]
lea rax, [rbp + 0x54]
sub rsp, 0x40
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rax
call fcn.1400a48d9
mov rdx, qword [rbp + 0x20]
add rsp, 0x40
mov ecx, eax
mov rax, qword [rbp - 0x38]
cmp byte [rdx], 0
mov dword [rbp - 0x14], ecx
mov qword [rbp - 0x10], rax
jne 0x1400d7eb4
mov eax, dword [rbp - 0x14]
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x40], rcx
cmp eax, 0
je 0x1400d7dfa
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14001f7f0
add rsp, 0x20
lea rcx, [rbp + 0x58]
mov edx, 8
sub rsp, 0x20
call fcn.1400d6e50
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d7eb4
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 8]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x1400d8104
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x1400d8026
jmp 0x1400d8104
mov rcx, qword [rbp + 8]
mov edx, 8
sub rsp, 0x20
call fcn.1400d6e50
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0x66
xor cl, 0x66
cmp al, cl
jne 0x1400d7eb4
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 8]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x1400d8104
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
or rcx, rcx
movabs rdx, 0x5ec6e03f225a6f8c
movabs r8, 0xa1391fc0dda59073
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xe7e0b3d8c6273281
movabs r9, 0x181f4c2739d8cd7e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x1400d8026
jmp 0x1400d8104
mov ecx, dword [str.PLglG]
mov eax, dword [0x1402061e4]
xor eax, 0xec5f8242
sub ecx, 0x89acc7a8
sub ecx, eax
add ecx, 0x89acc7a8
mov eax, ecx
and eax, 0xaa467897
mov edx, 0xf80e040b
xor edx, 0x7f1fbf4
xor eax, edx
mov edx, 0x13aa09c6
xor edx, 0xb9ec7151
and ecx, edx
mov edx, 0xcbd7acc0
xor edx, 0x3428533f
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x12eb1b13
xor edx, 0xed14e4ec
xor ecx, edx
or eax, ecx
mov ecx, 0x5e44f092
xor ecx, 0x12affb5b
xor edx, edx
div ecx
sub eax, 0xad91ecaf
cmp eax, 0x6dd721b3
jae 0x1400d8117
mov eax, dword [0x1402061e8]
xor edx, edx
div dword [0x1402061ec]
mov rdx, qword [rbp + 0x10]
add eax, 0x4d3a9c07
add eax, 0x226bd9f1
mov ecx, 0xd072e73d
xor ecx, 0x5977760b
add eax, ecx
mov ecx, 0xd6eae135
xor ecx, 0xf48138c4
sub eax, ecx
and eax, 0x191ddc00
mov ecx, 0xb877773c
xor ecx, 0xb53d9ef3
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x68], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x59], dl
cmp eax, ecx
je 0x1400d7f32
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400d8104
jmp 0x1400d7fa2
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x4a85564802672a48
xor rdx, r9
or rcx, r8
movabs r8, 0x4a85564802672a48
or rdx, r8
movabs r8, 0x87b97aab8fcdee2e
movabs r9, 0x78468554703211d1
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0xecb925f50c6df5f1
movabs r8, 0xecb925f50c6df5f1
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x50], rax
jne 0x1400d8104
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x70], rax
mov eax, dword [0x1402061f0]
sub eax, dword [0x1402061f4]
mov ecx, 0x2bfe2e73
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xc02d4143
mov edx, 0x7d921837
xor edx, 0x7d921835
imul eax, edx
xor ecx, 0xc02d4143
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x2e6f9f12
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xb8ef0c63
ja 0x1400d8120
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1402061f8]
xor eax, 0x459293bc
imul eax, dword [0x1402061fc]
add eax, 0xbf03ca34
sub eax, 0xc2926a04
sub eax, 0xbf03ca34
mov edx, 0xffffffff
xor edx, 0xb3f4bf4b
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov edx, 0x99e43614
xor edx, 0xb69d756d
mov r8d, eax
and r8d, edx
mov edx, 0xe7db2b06
xor edx, 0xe7db2b04
imul edx, r8d
add eax, 0x2f794379
sub eax, edx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x7e21ef1b
ja 0x1400d807e
jmp 0x1400d8104
mov rax, qword [rbp + 0x58]
lea rsp, [rbp + 0x60]
pop rbp
ret
wait
mov es, word [r9 - 0x4ff17]
jmp [rdx]
sub bl, byte [rdi + 0x12e9ead9]
invalid
push rsp
push rsi
invalid