Function at 0x14000c6c4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe0
mov rax, qword [0x1405eaab8]
xor rax, rsp
mov qword [rbp + 7], rax
mov qword [rbp - 0x11], r9
mov r15, rdx
mov qword [rbp - 0x59], rdx
mov r13, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp - 9], rcx
mov qword [rbp - 1], rdx
xor edi, edi
cmp qword [rcx + 0x18], 8
jb 0x14000c715
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp - 0x61], rax
mov rbx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14000c72c
mov rbx, qword [r15]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x21], xmm1
xor r8d, r8d
lea rdx, [0x14043a9c0]
lea rcx, [rbp - 0x31]
call fcn.14000d5c4
nop
cmp byte [0x1405ee627], dil
jne 0x14000c75d
call fcn.1400028a8
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
or r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], dil
jne 0x14000c772
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000d5c4
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rdi
mov qword [rbp - 0x39], rdi
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
lea rcx, [rbp - 0x51]
call fcn.14000d684
mov r12, qword [rbp - 0x41]
lea r14, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae r14, qword [rbp - 0x51]
mov esi, 1
lea rbx, [0x140000000]
cmp byte [0x1405ee626], dil
jne 0x14000cac9
movabs r13, 0x101010101010101
lea r15, [0x140000000]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000c811
imul rbx, rax, 0x64
jmp 0x14000c82d
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rsi
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rdi + r15 + 0x5eef60], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000c883
imul rbx, rax, 0x64
jmp 0x14000c89f
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, rsi
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rdi + r15 + 0x5eee50], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000c8f5
imul rbx, rax, 0x64
jmp 0x14000c911
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, rsi
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rdi + r15 + 0x5eeed0], rax
add rdi, 8
cmp rdi, 0x80
jl 0x14000c7f3
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000c978
imul rbx, rax, 0x64
jmp 0x14000c994
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1405ee648]
mov r15, qword [rbp - 0x59]
mov r13, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c9ba
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
inc edi
inc rsi
cmp edi, 4
jb 0x14000c9a6
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000c9f2
imul rsi, rax, 0x64
jmp 0x14000ca0d
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1405eee48]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca2a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
inc ebx
inc rdi
cmp ebx, 8
jb 0x14000ca16
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000ca62
imul rsi, rax, 0x64
jmp 0x14000ca7d
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1405eef50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca9a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
inc ebx
inc rdi
cmp ebx, 0xc
jb 0x14000ca86
mov esi, 1
mov byte [0x1405ee626], sil
xor edi, edi
lea rbx, [0x140000000]
test r12, r12
je 0x14000cb8f
mov r11d, edi
mov r10d, edi
mov cl, byte [r14]
lea r9, [0x1405ee648]
mov edx, edi
movzx eax, byte [r9]
lea r8, [rax*8 + 0x5eef60]
add r8, rbx
xor cl, byte [r8]
mov byte [r14], cl
add edx, esi
add r8, rsi
cmp edx, 8
jb 0x14000caf3
add r10d, esi
add r9, rsi
cmp r10d, 4
jb 0x14000cae2
mov r10d, edi
lea r9, [0x1405eee48]
mov edx, edi
movzx eax, byte [r9]
lea r8, [rax*8 + 0x5eee50]
add r8, rbx
xor cl, byte [r8]
mov byte [r14], cl
add edx, esi
add r8, rsi
cmp edx, 8
jb 0x14000cb2a
add r10d, esi
add r9, rsi
cmp r10d, 8
jb 0x14000cb19
mov r9d, edi
lea r10, [0x1405eef50]
mov edx, edi
movzx eax, byte [r10]
lea r8, [rax*8 + 0x5eef60]
add r8, rbx
xor cl, byte [r8]
mov byte [r14], cl
add edx, esi
add r8, rsi
cmp edx, 8
jb 0x14000cb61
add r9d, esi
add r10, rsi
cmp r9d, 0xc
jb 0x14000cb50
add r11d, esi
add r14, rsi
movsxd rax, r11d
cmp rax, r12
jb 0x14000cad5
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x31]
call fcn.14000baac
mov ebx, 0x1000
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
jb 0x14000cbdc
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, rbx
jb 0x14000cbd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000cbd6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401dc738
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000cc19
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, rbx
jb 0x14000cc13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000cc13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401dc738
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x21]
lea rcx, [rsp + 0x20]
call fcn.14000d684
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x69], rdi
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.14000d684
mov r12, qword [rbp - 0x71]
lea r14, [rsp + 0x48]
cmp qword [rbp - 0x69], 0x10
cmovae r14, qword [rsp + 0x48]
cmp byte [0x1405ee626], dil
jne 0x14000cf7d
movabs r13, 0x101010101010101
lea r15, [0x140000000]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000ccc7
imul rbx, rax, 0x64
jmp 0x14000cce3
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, rsi
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rdi + r15 + 0x5eef60], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000cd39
imul rbx, rax, 0x64
jmp 0x14000cd55
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, rsi
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rdi + r15 + 0x5eee50], rax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000cdab
imul rbx, rax, 0x64
jmp 0x14000cdc7
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, rsi
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rdi + r15 + 0x5eeed0], rax
add rdi, 8
cmp rdi, 0x80
jl 0x14000cca9
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000ce2e
imul rbx, rax, 0x64
jmp 0x14000ce4a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1405ee648]
mov r15, qword [rbp - 0x59]
mov r13, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ce70
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
inc edi
inc rsi
cmp edi, 4
jb 0x14000ce5c
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000cea8
imul rsi, rax, 0x64
jmp 0x14000cec3
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1405eee48]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000cee0
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
inc ebx
inc rdi
cmp ebx, 8
jb 0x14000cecc
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000cf18
imul rsi, rax, 0x64
jmp 0x14000cf33
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1405eef50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000cf50
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
inc ebx
inc rdi
cmp ebx, 0xc
jb 0x14000cf3c
mov esi, 1
mov byte [0x1405ee626], sil
xor edi, edi
mov ebx, 0x1000
test r12, r12
je 0x14000d04f
mov r11d, edi
lea r13, [0x140000000]
mov r9d, edi
mov cl, byte [r14]
lea r10, [0x1405ee648]
mov edx, edi
movzx eax, byte [r10]
lea r8, [r13 + 0x5eef60]
lea r8, [r8 + rax*8]
xor cl, byte [r8]
mov byte [r14], cl
add edx, esi
add r8, rsi
cmp edx, 8
jb 0x14000cfae
add r9d, esi
add r10, rsi
cmp r9d, 4
jb 0x14000cf9d
mov r9d, edi
lea r10, [0x1405eee48]
mov edx, edi
movzx eax, byte [r10]
lea r8, [r13 + 0x5eee50]
lea r8, [r8 + rax*8]
xor cl, byte [r8]
mov byte [r14], cl
add edx, esi
add r8, rsi
cmp edx, 8
jb 0x14000cfe5
add r9d, esi
add r10, rsi
cmp r9d, 8
jb 0x14000cfd4
mov edx, edi
lea r10, [0x1405eef50]
mov r8d, edi
movzx eax, byte [r10]
lea r9, [r13 + 0x5eef60]
lea r9, [r9 + rax*8]
xor cl, byte [r9]
mov byte [r14], cl
add r8d, esi
add r9, rsi
cmp r8d, 8
jb 0x14000d01c
add edx, esi
add r10, rsi
cmp edx, 0xc
jb 0x14000d00a
add r11d, esi
add r14, rsi
movsxd rax, r11d
cmp rax, r12
jb 0x14000cf90
mov r13, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000d084
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, rbx
jb 0x14000d07f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0d4
call fcn.1401dc738
lea rdx, [rsp + 0x48]
cmp qword [rbp - 0x69], 0x10
cmovae rdx, qword [rsp + 0x48]
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rdx, qword [rbp - 0x69]
cmp rdx, 0x10
jb 0x14000d0e0
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d0db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d0db
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401dc738
mov qword [rbp - 0x71], rdi
mov esi, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x69], rsi
mov byte [rsp + 0x48], dil
lea rcx, [rbp - 0x31]
call fcn.140002bc8
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x11]
xor ecx, ecx
call rbx
mov ebx, eax
mov rcx, r13
call fcn.14000c01c
nop
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x14000d14a
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x14000d145
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000d17e
mov rcx, r8
call fcn.1401dc738
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], rsi
mov byte [r15], dil
mov eax, ebx
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1401dc200
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3