Function at 0x1400d40a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0x68], rcx
mov eax, 0x10
mov qword [rbp + 0x88], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x88]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
sub rsp, 0x20
call fcn.1400d4b3b
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
add rax, 0x50
mov qword [rbp + 0xa8], rax
movabs rax, 0xc2a2138c56b5d0ff
movabs rdx, 0xc2a2138c56b5d0ff
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
movabs rax, 0x294f82283dd8f92f
movabs rcx, 0x294f82283dd8f92f
xor rax, rcx
mov qword [rbp + 0xd0], rax
lea rax, [rbp + 0xd0]
add rax, 8
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xd8], 0
lea rcx, [rbp + 0xd0]
mov edx, 0x104
sub rsp, 0x20
call fcn.1400a1c40
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x1400d4ad4
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xd0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xd8]
mov qword [rax + 8], rcx
sub rsp, 0x20
call fcn.1400d4b3b
mov rcx, qword [rbp + 0x80]
call fcn.1400d3b47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x60], rcx
cmp byte [rax], 0
jne 0x1400d4ad4
mov rdx, qword [rbp + 0x60]
movabs rcx, 0x2571f97759a48d55
movabs rax, 0x2571f97759a48d55
xor rcx, rax
mov r8d, 0x10225186
xor r8d, 0x10225082
sub rsp, 0x20
call fcn.1400ad887
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xa8]
mov dword [rbp + 0x5c], ecx
mov al, byte [rax]
mov cl, 0x36
xor cl, 0x36
cmp al, cl
jne 0x1400d4ad4
mov ecx, dword [0x140250c48]
sub ecx, dword [0x140250c4c]
sub ecx, 0x75226cdf
mov edx, 0xf9499df0
xor edx, 0x7b43bf7a
mov eax, ecx
and eax, edx
mov edx, 0xbd598e41
xor edx, 0x3f53accb
xor ecx, edx
or eax, ecx
mov ecx, 0xcf727615
xor edx, edx
div ecx
cmp eax, 0x80e9bc7a
je 0x1400d4b29
mov rcx, qword [rbp + 0x90]
mov edx, dword [rbp + 0x5c]
mov eax, dword [0x140250c50]
imul eax, dword [0x140250c54]
xor r8d, r8d
sub r8d, 0x69fbc947
add eax, r8d
and eax, 0x2ea72d4a
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0x581485eb
xor r9d, 0xddbac6e
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x55cf2985
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x821ea7b
xor r10d, 0x5deec3fe
mov r9d, eax
and r9d, r10d
or eax, 0x55cf2985
imul eax, r9d
add eax, r8d
cmp edx, 0
sete r8b
mov byte [rbp + 0x3f], r8b
mov edx, edx
mov qword [rbp + 0x40], rdx
add rcx, 8
mov qword [rbp + 0x48], rcx
lea rcx, [rbp + 0xc0]
add rcx, 8
mov qword [rbp + 0x50], rcx
cmp eax, 0x1cfe56cf
jb 0x1400d42c4
mov ecx, 5
mov eax, 0x104
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x38], eax
jmp 0x1400d4383
mov rax, qword [rbp + 0x30]
mov ecx, dword [rbp + 0x38]
mov dword [rbp + 0x24], ecx
mov qword [rbp + 0x28], rax
cmp rax, 0
je 0x1400d4ab8
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x1400d43ab
jmp 0x1400d4403
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [0x140262e40]
mov qword [rcx], rdx
mov rdx, qword [str.P._]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x18], rax
cmp rax, 0
je 0x1400d4b1c
mov rax, qword [rbp + 0x18]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp + 0x10], rax
je 0x1400d4b0b
jmp 0x1400d4b1c
mov eax, dword [rbp + 0x24]
mov ecx, dword [rbp + 0x5c]
cmp eax, ecx
jge 0x1400d4457
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.1400a1c40
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp], rdx
mov rcx, qword [rcx]
mov qword [rbp + 8], rcx
cmp byte [rax], 0
je 0x1400d4a70
jmp 0x1400d4ad4
sub rsp, 0x20
call fcn.1400d4b3b
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp - 0x10], rax
add rax, 0x50
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0xd0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xd8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d3b47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rcx
cmp byte [rax + 0x50], 0
jne 0x1400d4971
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400a1fb0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x1c], ecx
cmp byte [rax], 0
jne 0x1400d4971
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400d4b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x1400d4971
mov rax, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x1c]
movsxd rcx, ecx
mov qword [rbp - 0x30], rcx
cmp rax, rcx
jle 0x1400d4971
mov eax, dword [rbp - 0x1c]
cmp eax, 0
jge 0x1400d4579
mov rcx, qword [rbp - 0x30]
movabs rdx, 0x5cde595bcb43579
movabs rax, 0x5cde595bcb43579
xor rdx, rax
movabs r8, 0xe287bbde167af072
movabs rax, 0x9d784421e9850f8d
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x1400d4971
sub rsp, 0x20
call fcn.1400d4b3b
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x30]
add rcx, 0x50
mov qword [rbp - 0x40], rcx
mov rdx, 0xffffffffffffffff
xor rdx, 1
movabs rcx, 0x6c80178a5c21aa43
movabs r8, 0x6c80178a5c21aa43
xor rcx, r8
movabs r8, 0xdb96e4d853a41cf3
movabs r9, 0xdb96e4d853a41cf2
xor r8, r9
sub rcx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rbp - 0x38], rcx
movabs r8, 0xdc1ca076c16d8c94
movabs rdx, 0x23e35f893e92736b
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x602c7585cefe2ca5
movabs r9, 0x9fd38a7a3101d35a
xor r8, r9
movabs r9, 0xda612eb950f38372
movabs r10, 0x259ed146af0c7c8d
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
and rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x1134a6cc35731b79
movabs rdx, 0x1134a6cc35731b79
xor rcx, rdx
cmp rax, rcx
jge 0x1400d46a1
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x1400d4971
mov rcx, qword [rbp - 0x38]
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1400d4d11
add rsp, 0x20
test al, 1
jne 0x1400d46c6
jmp 0x1400d46d8
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x1400d4971
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x48], rax
movabs rcx, 0xd5509e1bf7e5cc59
movabs rdx, 0xd5509e1bf7e5cc59
xor rcx, rdx
cmp rax, rcx
jge 0x1400d484f
mov ecx, dword [0x140250c58]
mov r8d, dword [0x140250c5c]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, 0x2219a2e5
xor eax, 0x5026eb1c
mov edx, 0xd13dee67
xor edx, 0x2ec21198
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x32f4bbad
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x32f4bbad
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x3d79378e
xor ecx, 0x8a7a8dde
or eax, ecx
cmp eax, 0x80b09172
jb 0x1400d4b32
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x140250c60]
or eax, dword [0x140250c64]
or eax, 0xc33157f0
mov r9d, 0x731e1c5a
xor r9d, 0xcb644348
mov edx, 0x2e8e7a16
xor edx, 0xd17185e9
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x1ef8010e
xor r9d, 0xe107fef1
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xb87a5f12
or eax, 0xb87a5f12
imul eax, r8d
add eax, edx
mov r8d, 0xdfed2b5a
xor edx, edx
div r8d
mov dword [rbp - 0x4c], eax
mov eax, 0xc8864ff
xor eax, 0xa1d68e0f
mov dword [rbp - 0x50], eax
movabs rdx, 0x77c2a19b1f94c290
movabs rax, 0x77c2a19b1f94c290
xor rdx, rax
movabs r8, 0x42e1a7e8cc69c97b
movabs rax, 0x3d1e581733963684
xor r8, rax
sub rsp, 0x20
call fcn.14000d792
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, ecx
je 0x1400d4782
jmp 0x1400d4971
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400141a0
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rax, qword [rbp + 0xd0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xd8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d4b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1400d4971
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400d4d11
add rsp, 0x20
test al, 1
jne 0x1400d48c6
jmp 0x1400d48d8
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x1400d4971
mov rcx, qword [rbp + 0xf0]
mov qword [rbp - 0x68], rcx
test rcx, rcx
setns al
mov rdx, qword [rbp + 0xd0]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400d495c
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
movabs rax, 0x536de4bb444eec7d
movabs r8, 0xac921b44bbb11382
xor rax, r8
movabs r8, 0x467c6b77802c1007
movabs r9, 0xb98394887fd3eff8
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x1400d4971
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov word [rax + rcx + 8], 0
mov rax, qword [rbp + 0xa8]
cmp byte [rax], 0
jne 0x1400d4ad4
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xd0]
mov qword [rdx], rax
mov rax, qword [rbp + 0xd8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400d3b80
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d4ad4
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1400d4b1c
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
xor rcx, 0xffffffffffffffff
movabs r8, 0xa57082f2537007ff
movabs rdx, 0xe57082f2537007ff
xor r8, rdx
movabs rdx, 0xdef3c4c013740385
movabs r9, 0x210c3b3fec8bfc7a
xor rdx, r9
xor r8, rdx
movabs rdx, 0x8cd016c07fde6bab
movabs r9, 0x700abe208c190d0c
xor rdx, r9
movabs r9, 0x61820f991e5fe5c7
movabs r10, 0x9e7df066e1a01a38
xor r9, r10
xor rdx, r9
or rcx, r8
movabs r8, 0xfcdaa8e0f3c766a7
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x10], rax
je 0x1400d4b0b
jmp 0x1400d4b1c
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
mov qword [rbp + 0xc0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140013ddc
mov rcx, qword [rbp + 0x28]
mov eax, dword [rbp + 0x5c]
add rsp, 0x20
add rcx, 0xffffffffffffffff
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x38], eax
jmp 0x1400d4383
mov rax, qword [rbp + 0xa0]
mov rcx, qword [0x140262e40]
mov qword [rax], rcx
mov rcx, qword [str.P._]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400d4b1c
mov rax, qword [rbp - 0x78]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp + 0x10], rax
jne 0x1400d4b1c
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0x100]
pop rbp
ret
and esi, eax
outsb dx, byte [rsi]
xchg edi, eax
jmp 0x1400d42c4
xor al, 0xf6
bnd ja 0x1400d4b20
cld
invalid