Function at 0x1404614c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, r9
mov rax, qword [0x14077ee28]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov eax, edx
and eax, 0xf
cmp eax, 5
setae bl
jb 0x140461587
cmp eax, 8
jae 0x140461510
cmp eax, 5
je 0x140461526
cmp eax, 7
jne 0x14046155d
mov rdx, r8
call fcn.140480ec0
movzx eax, al
xor ebx, ebx
jmp 0x1404618b9
je 0x14046153b
cmp eax, 9
jne 0x140461570
mov r14, rcx
mov ebp, edx
xor ebx, ebx
mov rcx, r8
jmp 0x1404615e1
xor ebx, ebx
cmp qword [0x140792650], 0
jne 0x1404618b3
jmp 0x140461611
mov rsi, r8
call fcn.1404612e0
mov rax, qword [0x1407925f0]
mov rax, qword [rax + 0x2e0]
mov qword [rsi], rax
xor ebx, ebx
xor eax, eax
jmp 0x1404618b9
mov rdx, rcx
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ebx, ebx
jmp 0x1404618b9
and r8d, 1
mov r9d, esi
mov eax, 4
mov edx, 0xa5a2df24
mov rsi, rcx
mov rcx, r9
cmp eax, 2
jb 0x1404615bb
je 0x1404615d9
cmp eax, 4
jne 0x140461649
mov rdi, r8
call fcn.1404614b0
or dil, byte [0x140790230]
or dil, byte [0x140790208]
and dil, 1
mov byte [rsi], dil
xor eax, eax
jmp 0x1404618b9
test eax, eax
je 0x1404615ca
mov eax, dword [0x140767464]
jmp 0x1404618b9
mov rcx, rsi
call fcn.1405c515c
xor eax, eax
jmp 0x1404618b9
mov ebp, 0x284f4889
mov r14, rsi
mov edi, dword [0x14076745c]
call sub.KERNEL32.dll_LoadLibraryA
mov rcx, r14
test rax, rax
mov edx, ebp
je 0x140461611
xor edi, 0x363dd37
mov edx, 0xd75b53c6
mov r8, rax
mov r9, rdi
call fcn.1404614c0
jmp 0x1404618b9
test dl, 0x10
je 0x14046165a
movzx eax, byte [0x140767279]
cmp al, 0x6e
je 0x140461868
mov cl, 0x1b
nop word [rax + rax]
mov al, 0x82
lock cmpxchg byte [0x140767279], cl
je 0x14046182f
cmp al, 0x6e
jne 0x140461630
jmp 0x140461868
mov r14, rcx
mov ebp, edx
call fcn.1404612e0
cmp byte [rsi], 0
je 0x140461666
mov edx, ebp
xor eax, eax
test dl, dl
setns al
jmp 0x1404618b9
test ebp, 0x400
jne 0x14046171e
mov edx, ebp
mov eax, 0x3ee9e5d
mov ecx, 0xfc1161b4
mov r8d, 1
mov r9d, 0x3ee9e5e
mov r10d, 0xfc1161b2
lea r11, [0x140767280]
lea rdi, [0x14060e850]
nop
mov r14d, ecx
imul r14, r14, 0x38e38e39
shr r14, 0x22
lea r14d, [r14 + r14*8]
lea r14d, [rax + r14*2]
mov r15d, r10d
imul r15, r15, 0x38e38e39
shr r15, 0x22
lea r15d, [r15 + r15*8]
lea r15d, [r9 + r15*2]
movzx ebp, byte [r15 + rdi]
xor bpl, 0x5b
add byte [r8 + r11 - 1], bpl
movzx ebp, byte [r14 + rdi]
xor bpl, 0x5b
add byte [r8 + r11], bpl
add eax, 0xfffffffe
add ecx, 2
add r8, 2
add r9d, 0xfffffffe
add r10d, 2
cmp r8, 0x13
jne 0x1404616a0
mov r15d, 0x12
test edx, 0x800
jne 0x1404617b7
mov al, 0x48
xchg byte [0x140767292], al
jmp 0x140461894
mov rcx, qword [0x1407672c0]
mov edx, dword [0x1407672a8]
mov edi, 0xffffd0b5
mov r15d, eax
sub edi, eax
sub edx, edi
movsxd rax, edx
add rax, rcx
mov ecx, 0x75ff9c90
call qword [0x140704440]
lea rcx, [rsi + 8]
mov rdx, qword [0x1407672d0]
mov r8d, dword [0x1407672a0]
sub r8d, edi
movsxd r9, r8d
add r9, rdx
mov rdx, rax
mov r8d, 0x585dcb6f
mov rax, r9
call qword [0x140704440]
mov rcx, qword [0x1407672e0]
mov edx, dword [0x1407672ac]
sub edx, edi
movsxd r9, edx
add r9, rcx
lea rdx, [rsp + 0x28]
mov ecx, eax
mov r8d, 0x9087b53f
mov rax, r9
call qword [0x140704440]
cmp byte [rsp + 0x28], 0
je 0x1404617b9
mov edx, ebp
test dl, 0x20
mov rcx, r14
je 0x1404615f6
jmp 0x14046181a
mov ebp, edx
mov rcx, qword [0x1407672d8]
mov eax, dword [0x1407672b0]
mov r14d, 0xffffd0b5
sub r14d, r15d
sub eax, r14d
cdqe
add rax, rcx
lea rcx, [rsp + 0x28]
mov edx, 0x87913b00
call qword [0x140704440]
mov rdi, qword [rsp + 0x28]
mov rcx, qword [0x1407672c8]
mov eax, dword [0x1407672a4]
sub eax, r14d
cdqe
add rax, rcx
call qword [0x140704440]
mov rcx, rax
mov edx, 0x424
mov rax, rdi
call qword [0x140704440]
mov edx, ebp
mov byte [rsi], 1
mov eax, 1
test edx, 0x200
je 0x140461894
jmp 0x1404618b9
test dl, 0x40
jne 0x140461839
jmp 0x1404618b9
movq xmm0, qword [0x140767270]
paddb xmm0, xmmword [0x14060e7d0]
movq qword [0x140767270], xmm0
add byte [0x140767278], 0x3e
test edx, 0x100
jne 0x14046181a
mov al, 0x6e
xchg byte [0x140767279], al
movzx eax, byte [0x140767292]
cmp al, 0x48
je 0x140461894
mov cl, 0x10
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x140767292], cl
je 0x140461674
cmp al, 0x48
jne 0x140461880
lea rcx, [0x140767270]
lea r9, [0x140767280]
mov edx, 0x3357b222
call fcn.1404614c0
mov qword [0x140792650], rax
call qword [0x140792650]
xor esi, esi
test bl, bl
cmove rsi, rax
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14059b6c0
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret