Function at 0x140101800
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov eax, dword [0x141f3efb0]
or eax, dword [0x141f3efb4]
add eax, 0x27d3a001
xor eax, 0x146b11ae
cmp eax, 0x2df8c889
jae 0x140101840
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
nop dword [rax]
mov eax, dword [0x141f3efb8]
mov ecx, dword [0x141f3efbc]
add ecx, eax
add ecx, 0x77d70c4b
or ecx, 0x8f2e04bb
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x2a4be1b1
je 0x140101840
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x60]
mov rdi, qword [rcx + 0x68]
mov ecx, dword [0x141f3efc0]
xor ecx, dword [0x141f3efc4]
imul ecx, ecx, 0xd27701f3
add ecx, 0xa1035c70
or ecx, 0xa372de46
cmp ecx, 0xfb1ee4a2
ja 0x14010190f
mov ecx, dword [0x141f3efc8]
or ecx, dword [0x141f3efcc]
or ecx, 0x28a9b928
mov edx, 0x9a5ce28d
imul rdx, rcx
mov ecx, dword [0x141f4907c]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
shr rdx, 0x3f
or edx, 0xf216c540
mov qword [rcx + 0x60], 1
mov qword [rcx + 0x68], 0
cmp edx, 0x10b5bef4
jae 0x14010193d
mov ecx, dword [0x141f4907c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x60], 1
mov qword [rcx + 0x68], 0
jmp 0x1401018b9
test rax, rax
je 0x140101a2b
nop word cs:[rax + rax]
mov ecx, dword [0x141f3f020]
mov edx, dword [0x141f3f024]
add ecx, edx
add ecx, 0x7647158
imul rcx, rcx, 0x329c549
shr rcx, 0x39
xor ecx, 0x3ca69679
cmp ecx, 0x6c22930e
ja 0x140101950
nop dword [rax]
cmp eax, 1
setne cl
mov r8d, dword [0x141f3f028]
or r8d, dword [0x141f3f02c]
add r8d, 0xe0531e7b
test rdi, rdi
sete dl
cmp r8d, 0x93622a4d
jb 0x140101980
or cl, dl
jne 0x140101e30
lock dec qword [rdi]
jne 0x140101e30
mov eax, dword [0x141f3f030]
imul eax, dword [0x141f3f034]
or eax, 0x42d74f12
mov ecx, 0xe64ae645
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x913090e
cmp ecx, 0xe90a71d2
jbe 0x1401019f0
nop dword [rax]
mov eax, dword [0x141f3f038]
xor edx, edx
div dword [0x141f3f03c]
xor eax, 0x2721656f
add eax, 0x4fd6665b
cmp eax, 0xcb0a279f
ja 0x1401019f0
mov eax, dword [0x141f3f040]
and eax, dword [0x141f3f044]
cmp eax, 0x628afc68
jne 0x140101db1
jmp 0x140101de1
mov eax, dword [0x141f3efd0]
xor edx, edx
div dword [0x141f3efd4]
nop dword [rax]
mov eax, dword [0x141f3efd8]
xor eax, dword [0x141f3efdc]
xor eax, 0x2005c500
and eax, 0x2c05d513
xor eax, 0x3d3a38cb
cmp eax, 0xdbffc82a
ja 0x140101a40
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x40], 0
jne 0x140101cdb
mov eax, dword [0x141f3efe0]
xor edx, edx
div dword [0x141f3efe4]
add eax, 0x846d99f2
and eax, 0x8d1f1e7d
cmp eax, 0x4a538bbb
jne 0x140101ad0
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x40], 0xffffffffffffffff
mov rax, qword [0x140108608]
nop word [rax + rax]
mov eax, dword [0x141f3efe8]
imul eax, dword [0x141f3efec]
mov ecx, dword [0x141f4907c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
imul rax, rax, 0x10918bd9
shr rax, 0x38
and eax, 5
xor eax, 0x46de9351
mov qword [rcx + 0x40], 0xffffffffffffffff
mov rcx, qword [0x140108608]
cmp eax, 0xf46eea8c
ja 0x140101ad0
nop dword [rax]
mov eax, dword [0x141f3eff0]
or eax, dword [0x141f3eff4]
imul eax, eax, 0x95eb1b68
cmp eax, 0x395a4585
je 0x140101b20
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x58]
cmp rsi, qword [rax + 0x48]
jne 0x140101cca
sub rsp, 0x20
call fcn.1400907b0
add rsp, 0x20
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
inc rax
nop word [rax + rax]
mov ecx, dword [0x141f3f008]
mov edx, dword [0x141f3f00c]
add ecx, edx
add ecx, 0x5ba51ae6
or ecx, 0xd983af80
cmp ecx, 0xc5ec1ea9
jb 0x140101b90
nop word cs:[rax + rax]
mov ecx, dword [0x141f3f010]
add ecx, dword [0x141f3f014]
or ecx, 0x20424004
imul rdx, rcx, 0x6d9468f
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
xor ecx, 0xe7c9a79f
cmp ecx, 0x9efa4c08
jb 0x140101bc0
xor ecx, ecx
test cl, cl
je 0x140101c44
mov ecx, dword [0x141f4907c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov rdx, qword [rcx + 0x50]
mov r8, rsi
shl r8, 4
lea r9, [rcx + 0x60]
mov qword [rdx + r8], r9
lea r9, [0x1400a57a0]
mov qword [rdx + r8 + 8], r9
lea rdx, [rsi + 1]
mov qword [rcx + 0x58], rdx
mov qword [rcx + 0x40], rax
mov rcx, rsi
shl rcx, 4
inc rsi
lea rdx, [0x1400a57a0]
nop word cs:[rax + rax]
mov r8d, dword [0x141f3f018]
or r8d, dword [0x141f3f01c]
mov r9d, dword [0x141f4907c]
mov r10, qword gs:[0x58]
mov r9, qword [r10 + r9*8]
mov r10, qword [r9 + 0x50]
lea r11, [r9 + 0x60]
mov qword [r10 + rcx], r11
and r8d, 0x18198cf8
imul r8d, r8d, 0xaad86037
and r8d, 0xbec69778
mov qword [r10 + rcx + 8], rdx
mov qword [r9 + 0x58], rsi
mov qword [r9 + 0x40], rax
cmp r8d, 0xd1b016e7
je 0x140101c60
jmp 0x140101e30
xor eax, eax
xor ecx, ecx
test cl, cl
jne 0x140101bfa
jmp 0x140101c44
mov dword [rsi], 0
mov byte [rsi + 4], 0
lea rax, [0x141f25d90]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
mov qword [rbp - 0x18], 0
mov eax, dword [0x141f3eff8]
sub eax, dword [0x141f3effc]
imul eax, eax, 0xc5b12c0e
and eax, 0x3269be28
imul rax, rax, 0x27f46f95
shr rax, 0x3a
lea rbx, [rbp - 8]
cmp eax, 0xec575d1e
jbe 0x140101d5c
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], 0
sub rsp, 0x20
lea rdx, [rbp - 0x38]
mov rcx, rsi
call fcn.14008e020
mov rcx, rax
call fcn.14008e440
add rsp, 0x20
mov ecx, 7
int 0x29
lea rdi, [rbp - 0x38]
mov eax, dword [0x141f3f000]
add eax, dword [0x141f3f004]
xor eax, 0x3b80202a
imul r14d, eax, 0xdad1664c
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], 0
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14008e020
mov rcx, rax
call fcn.14008e440
add rsp, 0x20
mov ecx, 7
int 0x29
cmp r14d, 0xda588b72
ja 0x140101d60
ud2
mov esi, dword [0x141f3f048]
and esi, dword [0x141f3f04c]
add esi, 0xf08811ba
and esi, 0x6bf27b35
sub rsp, 0x20
mov rcx, rdi
call fcn.1400a5600
add rsp, 0x20
cmp esi, 0x7348b7e6
jne 0x140101e00
sub rsp, 0x20
mov rcx, rdi
call fcn.1400a5600
add rsp, 0x20
jmp 0x140101db1
mov eax, dword [0x141f3f050]
mov ecx, dword [0x141f3f054]
add eax, ecx
add eax, 0x819d10b7
or eax, 0x44f81169
imul eax, eax, 0x8341cd1d
cmp eax, 0xb118ae7c
je 0x140101e00
nop word cs:[rax + rax]
mov eax, dword [0x141f3f058]
sub eax, dword [0x141f3f05c]
imul eax, eax, 0x67031094
add eax, 0x3e157cfa
cmp eax, 0x879cc1f7
ja 0x140101e30
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret