Function at 0x140101c70
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov eax, 0x10
mov qword [rbp + 0x40], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.1400fcc3e
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov ecx, 0xaf1e
mov edx, 0x6e30
sub rsp, 0x20
call fcn.140063660
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x58]
mov word [rbp + 0x66], cx
cmp byte [rax], 0
jne 0x140102414
mov ecx, dword [0x1401cebd8]
imul ecx, dword [0x1401cebdc]
mov eax, ecx
and eax, 0x91d0b8f5
mov edx, 0xf1c080a5
xor edx, 0xe3f7f5a
xor eax, edx
and ecx, 0x91d0b8f5
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0x509957f0
sub eax, 0x462ab860
cmp eax, 0xb2bc8d33
ja 0x14010254e
mov rcx, qword [rbp + 0x10]
mov ax, word [rbp + 0x66]
mov edx, dword [0x1401cebe0]
xor edx, 0x942d02e0
mov r8d, dword [0x1401cebe4]
xor r8d, 0xad9f9a5f
add edx, r8d
xor edx, 0xb986a456
imul edx, edx, 0x85fc2065
imul rdx, rdx, 0x7530a39
shr rdx, 0x38
mov dword [rbp + 8], edx
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rdx]
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp + 0xe], cl
or cl, dl
mov byte [rbp + 0xf], cl
cmp eax, 0x74a4809e
ja 0x140101d7f
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14010203c
jmp 0x140101e0b
mov ecx, 0x929a
mov edx, 0x53f5
sub rsp, 0x20
call fcn.140063660
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 6], dl
cmp cl, 0
mov byte [rbp + 7], al
je 0x140101e3d
mov al, byte [rbp + 6]
mov cl, byte [rbp + 7]
mov byte [rbp + 5], cl
test al, 1
jne 0x140101e53
jmp 0x140102016
mov rax, qword [rbp + 0x20]
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x10], rcx
mov qword [rax + 8], 0
mov ax, 0x8890
xor ax, 0x881e
mov word [rbp + 0x9e], ax
lea rcx, [rbp + 0x9e]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x140102016
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
movabs rax, 0xb4ef4522818cd968
sub rdx, rax
add rdx, 1
movabs rax, 0x189e8f744f48efd0
movabs r8, 0xac71ca56cec436b8
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400197e0
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400fcc60
mov dl, byte [rbp + 5]
mov rcx, qword [rbp + 0x20]
call fcn.1400fff08
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.14001a030
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400fcc60
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.140100a90
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x13], al
cmp al, 0
sete dl
mov byte [rbp - 0x12], dl
cmp rcx, 0
mov byte [rbp - 0x11], al
je 0x14010201b
mov al, byte [rbp - 0x13]
mov rcx, qword [rbp - 0x20]
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x11], al
jne 0x14010201b
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000e572
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x11], al
jmp 0x14010201b
jmp 0x140102414
mov al, byte [rbp - 0x12]
mov cl, byte [rbp - 0x11]
and al, 1
movzx eax, al
mov dl, 0x25
xor dl, 0x25
cmp cl, dl
mov qword [rbp - 0x30], rax
je 0x14010204e
jmp 0x140102414
mov cl, byte [rbp + 0xe]
xor eax, eax
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140102414
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x48], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp - 0x40], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x31], al
or al, cl
test al, 1
jne 0x1401023c7
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x1401020df
mov cx, 0x9383
xor cx, 0x31c6
mov dx, 0xe811
xor dx, 0x8b2d
sub rsp, 0x20
call fcn.140063660
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x58]
mov word [rbp - 0x4a], cx
cmp byte [rax], 0
jne 0x1401023af
mov rcx, qword [rbp + 0x10]
mov ax, word [rbp - 0x4a]
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
add rsp, 0x20
mov ecx, dword [0x1401cebe8]
mov edx, dword [0x1401cebec]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x402b7f0d
xor ecx, 0xbfd480f2
xor eax, ecx
xor eax, 0x9c4467a8
mov edx, 0xa8322ce3
xor edx, 0x3f07180d
mov ecx, 0xef6b7a49
xor ecx, 0x109485b6
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x973534ee
add eax, edx
sub eax, ecx
mov ecx, 0x1331afa8
xor ecx, 0x7a21a55a
and eax, ecx
cmp eax, 0x40c908c4
jb 0x140102557
mov r11d, dword [0x1401cebf0]
mov eax, 0xdbabc2d2
xor eax, 0xc31b4d
xor r11d, eax
mov r10d, dword [0x1401cebf4]
mov eax, 0x8f783cc
xor eax, 0xf7087c33
mov ecx, r11d
xor ecx, eax
mov eax, 0xbefe20f4
xor eax, 0x4101df0b
mov edx, r10d
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0xc6fbcb2a
mov eax, ecx
and eax, 0xc6fbcb2a
and r11d, r8d
mov r9d, edx
and r9d, 0xc6fbcb2a
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x7a65e887
xor edx, 0x859a1778
xor ecx, edx
mov edx, 0x9d6f43dd
xor edx, 0x5b9488f7
or edx, r8d
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, 0xbb427064
add eax, ecx
sub eax, 0x51b8dbdf
or eax, 0x69047f7f
mov dword [rbp - 0x50], eax
mov ecx, 0x929a
mov edx, 0x53f5
sub rsp, 0x20
call fcn.140063660
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp - 0x4c], dl
cmp cl, 0
mov byte [rbp - 0x4b], al
je 0x140102223
mov eax, dword [rbp - 0x50]
mov cl, byte [rbp - 0x4b]
mov byte [rbp - 0x51], cl
cmp eax, 0xd48a5177
jbe 0x140102153
mov al, byte [rbp - 0x4c]
test al, 1
jne 0x140102247
jmp 0x1401023af
mov rcx, qword [rbp + 0x38]
movabs rax, 0x8564592cf3bf581c
movabs rdx, 0x8564592cf3bf581c
xor rax, rdx
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x80], 0
mov word [rcx], 0x1d3
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x60], rcx
mov al, byte [rax]
mov cl, 0x2f
xor cl, 0x2f
cmp al, cl
jne 0x1401023af
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax]
add rdx, 1
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400197e0
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400fcc60
mov dl, byte [rbp - 0x51]
add rsp, 0x20
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400fff08
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rbp + 0x78]
mov qword [rbp - 0x78], rdx
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14001a030
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400fcc60
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140101870
mov rax, qword [rbp - 0x70]
add rsp, 0x20
cmp rax, 0
je 0x1401023b4
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401023b4
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
jmp 0x1401023b4
jmp 0x140102414
mov rax, qword [rbp + 0x58]
mov al, byte [rax]
cmp al, 0
je 0x1401023d2
jmp 0x140102414
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140102414
mov ecx, 0xc9f6
mov edx, 0x8de
sub rsp, 0x20
call fcn.140063660
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x58]
mov word [rbp - 0x7a], cx
cmp byte [rax], 0
jne 0x140102414
mov rcx, qword [rbp + 0x10]
mov ax, word [rbp - 0x7a]
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
add rsp, 0x20
mov eax, dword [0x1401cebf8]
mov ecx, 0x28a857d7
xor ecx, 0x8fd7b272
xor eax, ecx
mov edx, dword [0x1401cebfc]
xor edx, 0xf4d5f3c6
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
or eax, 0xf84ba3ce
xor eax, 0xffffffff
mov ecx, 0x155fd75e
xor ecx, 0xe2471ab9
mov edx, 0x75092f4f
xor edx, 0x8af6d0b0
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x8e4ca709
or eax, ecx
mov ecx, 0x84d8e925
xor ecx, 0xa944e2c
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x30fe6a90
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x9afb584f
xor r8d, 0xaa0532df
mov edx, eax
and edx, r8d
mov r8d, 0xa8b49129
xor r8d, 0x984afbb9
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x7697d442
jbe 0x140102560
mov eax, dword [0x1401cec00]
and eax, dword [0x1401cec04]
mov ecx, 0x14aee7ae
xor ecx, 0x21ff68b
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x9d3b49de
mov edx, 0xb88c402b
xor edx, 0xb88c402b
mov r8d, 0x872f9060
xor r8d, 0x872f9061
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0x65439816
xor edx, 0x9abc67e9
mov ecx, eax
xor ecx, edx
mov edx, 0xd48952eb
xor edx, 0x6e3c288c
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xbab57a67
and eax, edx
sub eax, ecx
cmp eax, 0x8b46187d
je 0x140102560
lea rsp, [rbp + 0xa0]
pop rbp
ret
sbb dword [rax], edi
sub ecx, 0xfffff828
cdq
sbb eax, 0xf3e95936
sti
invalid
push 0xffffffffffffff87
lahf
jmp 0x1401024cc