Function at 0x14010a1d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov r8d, dword [0x1401df298]
add r8d, dword [0x1401df29c]
mov ecx, 0xaebf479c
xor ecx, 0x5140b863
mov eax, r8d
xor eax, ecx
and eax, 0xd1b60731
mov edx, 0xffffffff
xor edx, 0xd1b60731
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xf0eca64b
and ecx, 0xd1b60731
and edx, 0xf0eca64b
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0xd1c269b5
mov ecx, 0xf2a0d33b
xor edx, edx
div ecx
mov ecx, 0x3a93f2ac
xor ecx, 0x28d97b34
cmp eax, ecx
jae 0x14010a687
mov eax, dword [0x1401df2a0]
mov ecx, dword [0x1401df2a4]
sub eax, ecx
mov ecx, eax
or ecx, 0x4ecdf776
xor ecx, 0x2e16a512
or eax, 0xd1e95aed
and eax, ecx
add eax, 0x7b3612c2
mov dword [rbp - 0x18], eax
mov eax, 0xcf647b53
mov dword [rbp - 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1401054fb
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov cx, 0xc48f
xor cx, 0x2c49
mov dx, 0x8eb5
xor dx, 0x778b
sub rsp, 0x20
call fcn.140066590
mov rdx, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x1c]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp - 0x18]
mov word [rbp - 0x14], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
jae 0x14010a258
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14010a31a
jmp 0x14010a682
mov eax, dword [0x1401df2a8]
mov r8d, dword [0x1401df2ac]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x7998e072
mov ecx, eax
and ecx, edx
mov r8d, 0x4dc90484
xor r8d, 0x3451e4f6
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0x923c8bf8
mov ecx, 0x6d114c41
xor edx, edx
div ecx
cmp eax, 0x228197e9
ja 0x14010a690
mov rcx, qword [rbp - 0x10]
mov ax, word [rbp - 0x14]
mov edx, dword [0x1401df2b0]
sub edx, dword [0x1401df2b4]
xor edx, 0x78c87c4a
add edx, 0x343d105c
or edx, 0x46935a0d
mov dword [rbp - 0x54], edx
mov dl, al
sub rsp, 0x20
call fcn.140108337
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1401067bf
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov rdx, qword [rcx]
add rcx, 8
mov qword [rbp - 0x50], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp - 0x48], rcx
cmp eax, 0x1c52672e
je 0x14010a378
xor eax, eax
mov qword [rbp - 0x60], rax
jmp 0x14010a3fb
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x68], rax
cmp rax, rcx
jne 0x14010a440
mov ecx, 0x77a0
mov edx, 0x665e
sub rsp, 0x20
call fcn.140066590
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp - 0x28]
mov word [rbp - 0x6a], cx
cmp byte [rax], 0
je 0x14010a66b
jmp 0x14010a682
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 4
add rcx, rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov cx, 0x755d
xor cx, 0x75ee
sub rsp, 0x20
call fcn.1400639c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x78], rcx
cmp byte [rax], 0
jne 0x14010a661
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
cmp rax, rcx
jge 0x14010a61f
mov ecx, dword [0x1401df2b8]
mov eax, dword [0x1401df2bc]
xor eax, 0xe282a70d
xor ecx, 0xffffffff
mov edx, 0x64cbefb5
xor edx, 0x9b34104a
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x52ca3c64
or ecx, eax
mov eax, 0x8eee5aae
xor eax, 0xdc2466ca
or eax, edx
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x56e4f44c
or edx, 0x56e4f44c
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0x56e4f44c
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x4b4cc25
xor edx, edx
div ecx
mov ecx, 0xd6506985
xor ecx, 0xd6506985
mov edx, 0xbab7f9bd
xor edx, 0x920332fa
sub ecx, edx
sub eax, ecx
mov ecx, 0xcef9b4a1
xor ecx, 0xaaf58428
cmp eax, ecx
jae 0x14010a699
mov eax, dword [0x1401df2c0]
mov ecx, dword [0x1401df2c4]
mov edx, 0x389a09e8
xor edx, 0xc765f617
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x61f09f0
xor ecx, 0xb6823224
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x9d4ecdd8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9d4ecdd8
mov r8d, 0xbfc8f544
xor r8d, 0x2286389c
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xb26ad955
add eax, ecx
mov dword [rbp - 0x80], eax
mov cx, 0xfcee
xor cx, 0x2b29
mov dx, 0xfa1c
xor dx, 0x3c54
sub rsp, 0x20
call fcn.140066590
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x80]
mov word [rbp - 0x7c], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xa0e58c8e
je 0x14010a540
mov al, byte [rbp - 0x79]
test al, 1
jne 0x14010a608
jmp 0x14010a666
mov rcx, qword [rbp - 0x10]
mov ax, word [rbp - 0x7c]
mov dl, al
sub rsp, 0x20
call fcn.140108337
add rsp, 0x20
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140109f1c
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
add rax, 1
cmp cl, 0
mov qword [rbp - 0x60], rax
je 0x14010a3fb
jmp 0x14010a682
jmp 0x14010a682
mov rcx, qword [rbp - 0x10]
mov ax, word [rbp - 0x6a]
mov dl, al
sub rsp, 0x20
call fcn.140108337
add rsp, 0x20
mov rsp, rbp
pop rbp
ret
invalid
cld
pop rbx
add dword [rcx + rbp*8 - 0x21], 0x3ffffffc
in al, dx
or dh, bl
jmp 0x14010a540
invalid