Function at 0x140205dc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
test ecx, ecx
je 0x140205e79
mov ecx, edx
mov edx, 0xf27101d1
mov r8d, 0xa3f4ed75
call fcn.1400aa7f0
test al, 1
je 0x140205f02
mov ecx, dword [0x14051ddc8]
mov edx, 0x752b1fab
mov r8d, 0x877f9219
call fcn.140207190
jmp 0x140205e26
movzx eax, byte [0x1404dba4c]
mov ecx, 0x24ef8a75
mov edx, 0xfba1abc4
call fcn.140207150
test al, 1
je 0x140205e10
movzx eax, byte [0x1404dba4c]
mov ecx, 0xe353e11
add ecx, dword [0x1404dbd90]
lea rdx, [fcn.140205dc0]
add edx, edx
add edx, 0xa0
xor edx, ecx
not edx
test edx, ecx
jne 0x140205e10
cmp al, 0x67
je 0x1402060ba
mov cl, 0xeb
nop dword [rax]
mov al, 0x55
lock cmpxchg byte [0x1404dba4c], cl
je 0x140206010
cmp al, 0x67
jne 0x140205e60
jmp 0x1402060ba
test edx, edx
je 0x140205f67
movzx eax, byte [0x1404dbb7d]
cmp al, 0x33
je 0x140206191
mov cl, 0x81
xor edx, edx
mov r8d, 0xe353e11
lea rax, [fcn.140205dc0]
lea r9d, [rax + rax]
add r9d, 0xd60
jmp 0x140205eb8
cmp al, 0x33
je 0x140206191
mov al, 0x14
lock cmpxchg byte [0x1404dbb7d], cl
je 0x1402060e1
nop dword [rax + rax]
test dl, dl
jne 0x140205ef3
mov r10d, dword [0x1404dbd90]
add r10d, r8d
mov r11d, r9d
xor r11d, r10d
or r10d, r9d
not r10d
or r10d, r11d
cmp r10d, 0xffffffff
je 0x140205eb0
mov r10d, dword [0x14051ddcc]
cmp r10d, 0x5f
jge 0x140205ed0
jmp 0x140205ed4
movzx eax, byte [0x1404db9d5]
cmp al, 0x3f
je 0x1402060d5
lea rsi, [rsp + 0x30]
xor edi, edi
nop dword [rax + rax]
mov rcx, rsi
mov edx, 0xa7b5be33
mov r8d, 0x4becb7cf
call fcn.140207170
test al, 1
jne 0x140206038
movzx ebx, byte [rsp + 0x30]
mov rcx, rsi
mov edx, 0x6e55bfff
mov r8d, 0xf85bbc68
call fcn.1400a95b0
cmp dword [rsp + 0x30], 0
test dil, dil
jne 0x140205f58
cmp bl, 0x3f
jne 0x140205f20
jmp 0x1402060d5
movzx eax, byte [0x1404dbb0a]
movzx ecx, byte [0x1404dbda0]
add cl, 0xf2
cmp al, cl
je 0x140206233
mov cl, 0x15
lea rax, [fcn.140205dc0]
lea edx, [rax + rax]
add edx, 0x1f60
mov r8d, edx
not r8d
nop dword [rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x1404dbb0a], cl
je 0x1402061d0
mov r9d, dword [0x1404dbd90]
lea r10d, [r9 + 0xe353e11]
mov r11d, edx
xor r11d, r10d
not r10d
and r10d, r8d
or r10d, r11d
not r10d
add r9d, 0xe353e10
cmp r10d, r9d
mov r9d, dword [0x1404dbd90]
mov r10d, r9d
xor r10d, 0xe353e10
and r9d, 0xe353e10
add r9d, r9d
add r9d, r10d
jne 0x140205fda
movzx r9d, byte [0x1404dbda0]
add r9b, 0xf2
cmp al, r9b
jne 0x140205fa0
jmp 0x140206233
xor eax, eax
lea rcx, [0x1404dba40]
lea rdx, [0x1403f6f80]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x1402060b2
inc rax
jmp 0x140206020
xor esi, esi
lea rdi, [rsp + 0x3c]
lea rbx, [rsp + 0x30]
lea r14, [0x1403f6f00]
lea r15, [0x1404db9c0]
nop word cs:[rax + rax]
mov eax, dword [0x1404dbd90]
lea r9d, [rax - 0x3361da16]
mov ecx, eax
xor ecx, 0x5ba68be9
and eax, 0x5ba68be9
lea eax, [rcx + rax*2]
add eax, 0xc4213a9b
mov dword [rsp + 0x20], eax
mov ecx, esi
mov rdx, rdi
mov r8, rbx
call fcn.140207110
movzx eax, byte [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add al, byte [rcx + r14]
mov byte [rsi + r15], al
lea eax, [rsi + 1]
cmp eax, 0x14
jg 0x1402060c6
inc rsi
jmp 0x140206060
mov al, 0x67
xchg byte [0x1404dba4c], al
lea rax, [0x1404dba40]
jmp 0x14020623a
mov ecx, 0x15f10248
mov edx, 0x591c5eaa
call fcn.140207130
lea rax, [0x1404db9c0]
jmp 0x14020623a
xor edx, edx
lea rax, [0x1404dbb70]
lea rcx, [0x1403f70b0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, 1
mov r10d, edx
and r10d, 0xfffffffe
or r10d, r9d
xor edx, 1
and r8d, 0x7ffffffe
or r8d, edx
not r8d
lea edx, [r10 + r8*2]
cmp edx, 0xd
jl 0x140206100
mov al, 1
nop
mov ecx, dword [0x14051ddcc]
cmp ecx, 0x38
jg 0x14020615c
mov ecx, dword [0x14051ddc8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140206162
test al, al
je 0x140206140
jmp 0x14020614b
mov al, 0x33
xchg byte [0x1404dbb7d], al
jmp 0x140206191
mov eax, dword [0x14051ddcc]
mov ecx, dword [0x1404dbd90]
mov edx, ecx
xor edx, 0xe353e1c
and ecx, 0xe353e1c
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x14020619c
mov eax, dword [0x14051ddcc]
cmp eax, 0xc
jg 0x140206170
mov eax, dword [0x14051ddc8]
mov ecx, eax
sub ecx, dword [0x1404dbd90]
add ecx, 0xf1cac1ef
imul ecx, eax
mov edx, 0x2e326a0f
mov r8d, 0x251d7a87
call fcn.14010f8c0
test al, 1
je 0x140206170
lea rax, [0x1404dbb70]
jmp 0x14020623a
xor eax, eax
lea rcx, [0x1404dbae0]
lea rdx, [0x1403f7020]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x29
jg 0x1402061f8
inc rax
jmp 0x1402061e0
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x30]
mov r8d, 0xc69198f2
mov r9d, 0x7dc90075
call fcn.1402077c0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140206220
mov ecx, 0x6c5fa5b2
mov edx, 0xc69198f2
call fcn.140207140
lea rax, [0x1404dbae0]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret