Function at 0x1401e0cf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rax, r9
mov rsi, r8
mov rdi, qword [rsp + 0x80]
mov r8d, ecx
and r8d, 0x1f
cmp r8d, 4
jb 0x1401e0dbf
cmp r8d, 9
jae case.default.0x1401e0d37
add r8d, 0xfffffffc
lea rcx, [0x1405eebd8]
lea ecx, [0x1405eebd8]
lea ecx, [0x1405eebd8]
movsxd r8, dword [rcx + r8*4]
add r8, rcx
jmp r8
movzx eax, byte [0x140790574]
test al, 1
je 0x1401e142b
mov eax, dword [0x140790570]
test eax, eax
je 0x1401e0d71
mov ebp, dword [0x140790570]
mov ecx, 0x37bb71cf
mov rbx, rdx
call fcn.1401e0cf0
mov rdx, rbx
cmp ebp, eax
jne 0x1401e142b
cmp qword [0x140790578], 0
je 0x1401e1331
mov r15, qword [0x140790578]
mov rax, qword [r15]
test rax, rax
je 0x1401e142b
mov r14, rdx
add r15, 8
xor ebx, ebx
nop dword [rax + rax]
mov rcx, rsi
mov edx, edi
mov r8, r14
call qword [0x140704440]
mov rax, qword [r15]
add r15, 8
test rax, rax
jne 0x1401e0da0
jmp 0x1401e142d
cmp r8d, 3
je 0x1401e0fce
cmp r8d, 1
je 0x1401e0f7e
test r8d, r8d
jne 0x1401e0fd9
mov r8, rax
sub r8, rdx
sar r8, 3
cmp r8, 0x28
jle 0x1401e1069
inc r8
mov rcx, r8
shr rcx, 3
lea r9, [rcx + rcx]
and r8, 0xfffffffffffffff8
mov r8, qword [rdx + r8]
mov r10, qword [rdx]
cmp r8, r10
jae 0x1401e0e15
mov qword [rdx + rcx*8], r10
mov qword [rdx], r8
mov r8, qword [rdx + r9*8]
mov r10, qword [rdx + rcx*8]
cmp r8, r10
jae 0x1401e0e39
mov qword [rdx + r9*8], r10
mov qword [rdx + rcx*8], r8
mov r10, qword [rdx]
cmp r8, r10
jae 0x1401e0e39
mov qword [rdx + rcx*8], r10
mov qword [rdx], r8
mov r8, rcx
neg r8
lea r11, [rcx*8]
neg r11
mov r10, qword [rdi]
mov r11, qword [rdi + r11]
cmp r10, r11
jae 0x1401e0e5d
mov qword [rdi], r11
mov qword [rdi + r8*8], r10
mov r10, qword [rdi + rcx*8]
mov r11, qword [rdi]
cmp r10, r11
jae 0x1401e0e80
mov qword [rdi + rcx*8], r11
mov qword [rdi], r10
mov r11, qword [rdi + r8*8]
cmp r10, r11
jae 0x1401e0e80
mov qword [rdi], r11
mov qword [rdi + r8*8], r10
mov r10, r9
neg r10
shl r9, 3
neg r9
mov r11, qword [rax + r8*8]
mov r9, qword [rax + r9]
cmp r11, r9
jae 0x1401e0ea2
mov qword [rax + r8*8], r9
mov qword [rax + r10*8], r11
mov r9, qword [rax]
mov r11, qword [rax + r8*8]
cmp r9, r11
jae 0x1401e0ec6
mov qword [rax], r11
mov qword [rax + r8*8], r9
mov r11, qword [rax + r10*8]
cmp r9, r11
jae 0x1401e0ec6
mov qword [rax + r8*8], r11
mov qword [rax + r10*8], r9
mov r9, qword [rdi]
mov r10, qword [rdx + rcx*8]
cmp r9, r10
jae 0x1401e0ed9
mov qword [rdi], r10
mov qword [rdx + rcx*8], r9
mov r9, qword [rax + r8*8]
mov r10, qword [rdi]
cmp r9, r10
jae 0x1401e142b
mov qword [rax + r8*8], r10
mov qword [rdi], r9
mov rax, qword [rdx + rcx*8]
cmp r9, rax
jae 0x1401e142b
mov qword [rdi], rax
mov qword [rdx + rcx*8], r9
jmp 0x1401e142b
xor ebx, ebx
mov r14d, 0xc38f1cb4
cmp r8d, 0xb
ja 0x1401e0f53
nop word [rax + rax]
jne 0x1401e1019
mov r15d, dword [0x14072b444]
mov rcx, rdi
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
je 0x1401e142d
xor r15, r14
mov r8d, 0xc
mov rdx, rsi
mov rsi, r15
cmp r8d, 0xb
jbe 0x1401e0f20
add r8d, 0xfffffff4
lea rcx, [0x1405eebc8]
movsxd r8, dword [rcx + r8*4]
add r8, rcx
jmp r8
mov rcx, rax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x140790580], 0
mov dword [0x14072b438], 0x5d102028
jne 0x1401e1422
test cl, 0x40
jne 0x1401e142b
mov rdi, rax
movzx eax, byte [0x14072a769]
cmp al, 0xb5
je 0x1401e138e
mov r8b, 0xf1
mov al, 0xb6
lock cmpxchg byte [0x14072a769], r8b
je 0x1401e1367
cmp al, 0xb5
jne 0x1401e0fb4
jmp 0x1401e138e
mov ebx, dword [0x14072b438]
jmp 0x1401e142d
cmp qword [0x140790588], 0
jne 0x1401e123b
mov rdi, rax
movzx eax, byte [0x14072a789]
cmp al, 0x23
je 0x1401e116c
mov cl, 0xdd
nop dword [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x14072a789], cl
je 0x1401e114c
cmp al, 0x23
jne 0x1401e1000
jmp 0x1401e116c
cmp r8d, 9
je 0x1401e1546
cmp qword [0x140790598], 0
jne 0x1401e131f
mov rdi, rax
movzx eax, byte [0x14072a7e7]
cmp al, 0x63
je 0x1401e1284
mov cl, 0x27
nop word cs:[rax + rax]
mov al, 0x48
lock cmpxchg byte [0x14072a7e7], cl
je 0x1401e124f
cmp al, 0x63
jne 0x1401e1050
jmp 0x1401e1284
mov rcx, qword [rdi]
mov r8, qword [rdx]
cmp rcx, r8
jae 0x1401e1084
mov dword [0x14072b444], 0x28c7a15d
mov qword [rdi], r8
mov qword [rdx], rcx
mov rcx, qword [rax]
mov r8, qword [rdi]
cmp rcx, r8
jae 0x1401e142b
mov qword [rax], r8
mov qword [rdi], rcx
mov rax, qword [rdx]
cmp rcx, rax
jae 0x1401e142b
invalid
xchg byte [rbx], al
add byte [rax], al
add dword [rsi + 0x48000003], 0xffffff89
invalid
mov qword [rdi], rax
mov qword [rdx], rcx
jmp 0x1401e142b
mov rcx, rdi
call fcn.1400f3c50
movzx ebx, al
jmp 0x1401e142d
mov ebx, dword [0x14072b444]
jmp 0x1401e142d
mov rcx, rdi
mov rdx, rax
add rsp, 0x28
add esp, 0x28
add esp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14047da90
mov rcx, rdx
mov rbx, rdx
mov rdx, rdi
call fcn.1401ebe70
jmp 0x1401e142d
mov rcx, rdx
mov rbx, rdx
call fcn.140273790
jmp 0x1401e142d
cmp qword [0x140790590], 0
jne 0x1401e1539
movzx eax, byte [0x14072a7b9]
cmp al, 0xea
je 0x1401e1464
mov cl, 0x34
mov al, 0xe4
lock cmpxchg byte [0x14072a7b9], cl
je 0x1401e143d
cmp al, 0xea
jne 0x1401e1124
jmp 0x1401e1464
mov rcx, rsi
call fcn.14059d058
mov ebx, eax
jmp 0x1401e142d
movabs rax, 0xd5cd129ec3e504c6
xor qword [0x14072a780], rax
xor byte [0x14072a788], 0xdb
mov al, 0x23
xchg byte [0x14072a789], al
mov rbx, rdx
movzx eax, byte [0x14072a7a4]
cmp al, 0xd1
je 0x1401e1211
mov cl, 0x74
mov al, 0x83
lock cmpxchg byte [0x14072a7a4], cl
je 0x1401e1192
cmp al, 0xd1
jne 0x1401e1180
jmp 0x1401e1211
mov eax, 0xfb0e629c
mov ecx, 0x4f19d76
mov edx, 1
mov r8d, 0xfb0e629d
mov r9d, 0xcccccccd
lea r10, [0x14072a790]
lea r11, [0x1405eeb80]
nop dword [rax + rax]
mov r14d, ecx
imul r14, r9
shr r14, 0x24
shl r14d, 2
lea r14d, [r14 + r14*4]
lea r15d, [rax + r14]
add r14d, r8d
movzx ebp, byte [r14 + r11]
xor bpl, 0x14
add byte [rdx + r10 - 1], bpl
movzx ebp, byte [r15 + r11]
xor bpl, 0x14
add byte [rdx + r10], bpl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0x15
jne 0x1401e11c0
mov al, 0xd1
xchg byte [0x14072a7a4], al
lea rax, [0x14072a780]
mov qword [rsp + 0x20], rax
lea r8, [0x14072a790]
mov ecx, 0xe9377f8b
call fcn.1401e0cf0
mov qword [0x140790588], rax
mov rax, rdi
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call qword [0x140790588]
movzx ebx, al
jmp 0x1401e142d
movdqa xmm0, xmmword [0x14072a7e0]
paddb xmm0, xmmword [0x1405eeaa0]
movd dword [0x14072a7e0], xmm0
add byte [0x14072a7e4], 0x4d
add byte [0x14072a7e5], 0x4b
add byte [0x14072a7e6], 0x22
mov al, 0x63
xchg byte [0x14072a7e7], al
movzx eax, byte [0x14072a7ff]
cmp al, 0x48
je 0x1401e12f8
mov cl, 0x25
nop word cs:[rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x14072a7ff], cl
je 0x1401e12b2
cmp al, 0x48
jne 0x1401e12a0
jmp 0x1401e12f8
movabs rax, 0x2e31a2b3e0341f5c
xor qword [0x14072a7f0], rax
movq xmm0, qword [0x14072a7f8]
pxor xmm0, xmmword [0x1405eeab0]
movd dword [0x14072a7f8], xmm0
xor byte [0x14072a7fc], 0x1e
xor byte [0x14072a7fd], 0x32
xor byte [0x14072a7fe], 0x94
mov al, 0x48
xchg byte [0x14072a7ff], al
lea rax, [0x14072a7e0]
mov qword [rsp + 0x20], rax
lea r8, [0x14072a7f0]
mov ecx, 0xe9377f8b
call fcn.1401e0cf0
mov qword [0x140790598], rax
mov rax, rdi
mov rcx, rax
mov edx, esi
call qword [0x140790598]
mov ebx, eax
jmp 0x1401e142d
cmp dword [0x14078fe7a], 0
je 0x1401e142b
mov rbx, rdx
call fcn.1401df090
test rax, rax
je 0x1401e142b
mov ecx, dword [0x14078fe7a]
add rax, rcx
mov qword [0x140790578], rax
mov rdx, rbx
jmp 0x1401e0d7f
movq xmm0, qword [0x14072a760]
paddb xmm0, xmmword [0x1405eea60]
movq qword [0x14072a760], xmm0
add byte [0x14072a768], 0xc8
mov al, 0xb5
xchg byte [0x14072a769], al
movzx eax, byte [0x14072a77e]
cmp al, 0x59
je 0x1401e13fe
mov r8b, 0x24
mov al, 0x76
lock cmpxchg byte [0x14072a77e], r8b
je 0x1401e13b8
cmp al, 0x59
jne 0x1401e139c
test cl, 0x20
je 0x1401e0ff9
jmp 0x1401e13fe
movq xmm0, qword [0x14072a770]
paddb xmm0, xmmword [0x1405eea70]
movq qword [0x14072a770], xmm0
movq xmm0, qword [0x14072a778]
paddb xmm0, xmmword [0x1405eea80]
movd dword [0x14072a778], xmm0
add byte [0x14072a77c], 2
add byte [0x14072a77d], 0xb6
mov al, 0x59
xchg byte [0x14072a77e], al
lea rax, [0x14072a760]
mov qword [rsp + 0x20], rax
lea r8, [0x14072a770]
mov ecx, 0xe9377f8b
call fcn.1401e0cf0
mov qword [0x140790580], rax
mov rcx, rsi
call qword [0x140790580]
xor ebx, ebx
mov rax, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
movq xmm0, qword [0x14072a7b0]
paddb xmm0, xmmword [0x1405eea90]
movq qword [0x14072a7b0], xmm0
add byte [0x14072a7b8], 0x2b
mov al, 0xea
xchg byte [0x14072a7b9], al
movzx eax, byte [0x14072a7d3]
cmp al, 0x37
je 0x1401e1515
mov cl, 0xb6
mov al, 0xaa
lock cmpxchg byte [0x14072a7d3], cl
je 0x1401e148a
cmp al, 0x37
jne 0x1401e1475
jmp 0x1401e1515
mov ecx, 0x471ed109
mov r8d, 0x471ed108
xor r10d, r10d
movabs r11, 0xd79435e50d79435f
lea rsi, [0x1405eeba0]
lea rdi, [0x14072a7c0]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
add rax, rsi
add rax, 0x471ed0ff
movzx eax, byte [r10 + rax + 9]
xor al, 0x19
add byte [r10 + rdi], al
cmp r10, 0x12
je 0x1401e150d
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, rsi
add rax, 0x471ed109
movzx eax, byte [rax + r10]
xor al, 0x19
add byte [r10 + rdi + 1], al
add r10, 2
add rcx, 2
add r8, 2
jmp 0x1401e14b0
mov al, 0x37
xchg byte [0x14072a7d3], al
lea rax, [0x14072a7b0]
mov qword [rsp + 0x20], rax
lea r8, [0x14072a7c0]
mov ecx, 0xe9377f8b
call fcn.1401e0cf0
mov qword [0x140790590], rax
call qword [0x140790590]
mov ebx, eax
jmp 0x1401e142d
call fcn.1405c5020
int3