Function at 0x1400c4060
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
call fcn.140088010
test rax, rax
je 0x1400c4095
call fcn.140091ae0
mov r15, qword [rax + 0x98]
jmp 0x1400c4098
xor r15d, r15d
lea rdx, [rbp - 0x1c]
mov ecx, 0x8069
call qword [0x140194a58]
lea rdx, [rbp - 0x18]
mov ecx, 0x8894
call qword [0x140194a58]
mov dword [rbp - 0xc], 0
cmp dword [r15], 0xd2
jb 0x1400c40e2
lea rdx, [rbp - 0xc]
mov ecx, 0x88ef
call qword [0x140194a58]
mov ecx, 0x88ec
xor edx, edx
call qword [0x140194958]
lea rdx, [rbp - 0x14]
mov ecx, 0x85b5
call qword [0x140194a58]
mov dword [rbp - 8], 0x82
lea rsi, [r15 + 4]
cmp byte [0x140194bd4], 0
jne 0x1400c4127
movabs rax, 0x6e6f697372657623
mov qword [0x140194bc8], rax
mov dword [0x140194bd0], 0x642520
mov byte [0x140194bd4], 1
lea rdx, [0x140194bc8]
lea r8, [rbp - 8]
mov rcx, rsi
call fcn.1400a9b70
cmp byte [0x140194cca], 0
je 0x1400c416f
cmp byte [0x140194da3], 0
je 0x1400c41f4
cmp byte [0x140194ed5], 0
je 0x1400c42a6
cmp byte [0x140194ff0], 0
je 0x1400c4345
jmp 0x1400c43b4
xor ecx, ecx
movabs r8, 0x8888888888888889
lea r9, [0x14011cea0]
lea r10, [0x140194bd5]
nop dword [rax]
mov rax, rcx
mul r8
shr rdx, 4
imul rax, rdx, 0xffffffffffffffe2
lea rdx, [r9 + rax]
movzx edx, byte [rcx + rdx + 0x220]
xor dl, byte [rcx + r9 + 0x23e]
mov byte [rcx + r10], dl
cmp rcx, 0xf4
je 0x1400c41e0
add rax, r9
add rax, 0x220
movzx eax, byte [rax + rcx + 1]
xor al, byte [rcx + r9 + 0x23f]
mov byte [rcx + r10 + 1], al
add rcx, 2
jmp 0x1400c4190
mov byte [0x140194cca], 1
cmp byte [0x140194da3], 0
jne 0x1400c4150
mov ecx, 1
xor r8d, r8d
movabs r9, 0x47ae147ae147ae15
lea r10, [0x14011cea0]
lea r11, [0x140194ccb]
nop word cs:[rax + rax]
mov rax, rcx
mul r9
mov rdi, rcx
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 4
mov rax, r8
mul r9
imul rax, rdi, 0xffffffffffffffe7
mov rdi, r8
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 4
imul rdx, rdi, 0xffffffffffffffe7
lea rdi, [r10 + r8]
movzx edx, byte [rdx + rdi + 0x348]
xor dl, byte [r8 + r10 + 0x361]
mov byte [r8 + r11], dl
movzx eax, byte [rax + rdi + 0x349]
xor al, byte [r8 + r10 + 0x362]
mov byte [r8 + r11 + 1], al
add r8, 2
add rcx, 2
cmp r8, 0xd8
jne 0x1400c4220
mov byte [0x140194da3], 1
cmp byte [0x140194ed5], 0
jne 0x1400c415d
mov ecx, 1
xor r8d, r8d
movabs r10, 0xd79435e50d79435f
lea r11, [0x14011cea0]
lea rdi, [0x140194da4]
nop word cs:[rax + rax]
mov rax, rcx
mul r10
mov r9, rdx
mov rax, r8
mul r10
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
lea rdx, [r11 + r8]
movzx eax, byte [rax + rdx + 0x44c]
xor al, byte [r8 + r11 + 0x45f]
mov byte [r8 + rdi], al
cmp r8, 0x130
je 0x1400c4335
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, r11
add rax, 0x44d
movzx eax, byte [rax + r8]
xor al, byte [r8 + r11 + 0x460]
mov byte [r8 + rdi + 1], al
add r8, 2
add rcx, 2
jmp 0x1400c42d0
mov byte [0x140194ed5], 1
cmp byte [0x140194ff0], 0
jne 0x1400c43b4
xor ecx, ecx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x14011cea0]
lea r10, [0x140194ed6]
nop
mov rax, rcx
mul r8
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea rax, [rdx + rdx*8]
lea rdx, [r9 + rcx]
sub rdx, rax
movzx eax, byte [rdx + 0x5af]
movzx edx, byte [rdx + 0x5b0]
xor al, byte [rcx + r9 + 0x5c1]
xor dl, byte [rcx + r9 + 0x5c2]
mov byte [rcx + r10], al
mov byte [rcx + r10 + 1], dl
add rcx, 2
cmp rcx, 0x11a
jne 0x1400c4360
mov byte [0x140194ff0], 1
cmp byte [0x1401950bd], 0
movabs r8, 0x4ec4ec4ec4ec4ec5
je 0x1400c43f3
cmp byte [0x14019515e], 0
je 0x1400c446d
cmp byte [0x14019522e], 0
je 0x1400c44da
cmp byte [0x1401952e5], 0
je 0x1400c4562
jmp 0x1400c45d0
xor ecx, ecx
lea r9, [0x14011cea0]
lea r10, [0x140194ff1]
nop word cs:[rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
imul rax, rdx, 0xffffffffffffffe6
lea rdx, [r9 + rcx]
movzx r11d, byte [rax + rdx + 0x6eb]
movzx eax, byte [rax + rdx + 0x6ec]
xor r11b, byte [rcx + r9 + 0x705]
xor al, byte [rcx + r9 + 0x706]
mov byte [rcx + r10], r11b
mov byte [rcx + r10 + 1], al
add rcx, 2
cmp rcx, 0xcc
jne 0x1400c4410
mov byte [0x1401950bd], 1
cmp byte [0x14019515e], 0
jne 0x1400c43d4
xor eax, eax
lea rcx, [0x14011cea0]
lea rdx, [0x1401950be]
nop dword [rax]
mov r9d, eax
and r9d, 0xe
movzx r9d, byte [r9 + rcx + 0x7ec]
lea r10d, [rax + 1]
and r10d, 0xf
movzx r10d, byte [r10 + rcx + 0x7ec]
xor r9b, byte [rax + rcx + 0x7fc]
xor r10b, byte [rax + rcx + 0x7fd]
mov byte [rax + rdx], r9b
mov byte [rax + rdx + 1], r10b
add rax, 2
cmp rax, 0xa0
jne 0x1400c4480
mov byte [0x14019515e], 1
cmp byte [0x14019522e], 0
jne 0x1400c43e1
xor ecx, ecx
movabs r9, 0xaaaaaaaaaaaaaaab
lea r10, [0x14011cea0]
lea r11, [0x14019515f]
nop word cs:[rax + rax]
mov rax, rcx
mul r9
shr rdx, 1
and rdx, 0xfffffffffffffff8
lea rdx, [rdx + rdx*2]
mov rax, r10
sub rax, rdx
movzx edx, byte [rax + rcx + 0x8b5]
xor dl, byte [rcx + r10 + 0x8cd]
mov byte [rcx + r11], dl
cmp rcx, 0xce
je 0x1400c4552
add rax, 0x8b5
movzx eax, byte [rax + rcx + 1]
xor al, byte [rcx + r10 + 0x8ce]
mov byte [rcx + r11 + 1], al
add rcx, 2
jmp 0x1400c4500
mov byte [0x14019522e], 1
cmp byte [0x1401952e5], 0
jne 0x1400c45d0
xor ecx, ecx
lea r9, [0x14011cea0]
lea r10, [0x14019522f]
nop word cs:[rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
imul rax, rdx, 0xffffffffffffffe6
lea rdx, [r9 + rcx]
movzx r11d, byte [rax + rdx + 0x9bb]
movzx eax, byte [rax + rdx + 0x9bc]
xor r11b, byte [rcx + r9 + 0x9d5]
xor al, byte [rcx + r9 + 0x9d6]
mov byte [rcx + r10], r11b
mov byte [rcx + r10 + 1], al
add rcx, 2
cmp rcx, 0xb6
jne 0x1400c4580
mov byte [0x1401952e5], 1
mov eax, dword [rbp - 8]
cmp eax, 0x82
jge 0x1400c45ea
lea rax, [0x140194bd5]
lea rbx, [0x140194ff1]
jmp 0x1400c462a
cmp eax, 0x199
jbe 0x1400c4601
lea rax, [0x140194ed6]
lea rbx, [0x14019522f]
jmp 0x1400c462a
cmp eax, 0x12c
lea rax, [0x14019515f]
lea rbx, [0x1401950be]
cmove rbx, rax
lea rcx, [0x140194da4]
lea rax, [0x140194ccb]
cmove rax, rcx
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rax
mov ecx, 0x8b31
call qword [0x1401949c0]
mov edi, eax
lea r8, [rbp - 0x50]
mov ecx, eax
mov edx, 2
xor r9d, r9d
call qword [0x140194ae0]
mov ecx, edi
call qword [0x1401949b0]
cmp byte [0x1401952f6], 0
jne 0x1400c468f
movabs rax, 0x7320786574726576
mov qword [0x1401952e8], rax
mov dword [0x1401952f0], 0x65646168
mov word [0x1401952f4], 0x72
mov byte [0x1401952f6], 1
lea rdx, [0x1401952e8]
mov ecx, edi
call fcn.1400c5630
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
mov ecx, 0x8b30
call qword [0x1401949c0]
mov esi, eax
lea r8, [rbp - 0x40]
mov ecx, eax
mov edx, 2
xor r9d, r9d
call qword [0x140194ae0]
mov ecx, esi
call qword [0x1401949b0]
cmp byte [0x140195310], 0
jne 0x1400c46ec
movaps xmm0, xmmword [0x14011eb40]
movaps xmmword [0x140195300], xmm0
mov byte [0x140195310], 1
lea rdx, [0x140195300]
mov ecx, esi
call fcn.1400c5630
call qword [0x1401949b8]
mov dword [r15 + 0x30], eax
mov ecx, eax
mov edx, edi
call qword [0x140194950]
mov ecx, dword [r15 + 0x30]
mov edx, esi
call qword [0x140194950]
mov ecx, dword [r15 + 0x30]
call qword [0x140194ab8]
cmp byte [0x140195327], 0
jne 0x1400c475f
movabs rax, 0x7020726564616873
mov qword [0x140195318], rax
mov dword [0x140195320], 0x72676f72
mov word [0x140195324], 0x6d61
mov byte [0x140195326], 0
mov byte [0x140195327], 1
mov ebx, dword [r15 + 0x30]
call fcn.140088010
test rax, rax
je 0x1400c477b
call fcn.140091ae0
mov r14, qword [rax + 0x98]
jmp 0x1400c477e
xor r14d, r14d
mov dword [rbp - 0x10], 0
mov dword [rbp - 4], 0
lea r8, [rbp - 0x10]
mov ecx, ebx
mov edx, 0x8b82
call qword [0x140194a68]
lea r8, [rbp - 4]
mov ecx, ebx
mov edx, 0x8b84
call qword [0x140194a68]
cmp byte [rbp - 0x10], 0
jne 0x1400c4897
add r14, 4
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
cmp byte [0x14019542c], 0
jne 0x1400c4881
mov r8d, 1
xor r9d, r9d
movabs r11, 0x642c8590b21642c9
lea r12, [0x14011cea0]
lea r13, [0x1401953dd]
nop dword [rax + rax]
mov rax, r8
mul r11
mov r10, rdx
mov rax, r9
mul r11
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffe9
lea rdx, [r12 + r9]
movzx eax, byte [rax + rdx + 0x1c07]
xor al, byte [r9 + r12 + 0x1c1e]
mov byte [r9 + r13], al
cmp r9, 0x4e
je 0x1400c487a
mov rax, r8
sub rax, r10
shr rax, 1
add rax, r10
shr rax, 4
imul rax, rax, 0xffffffffffffffe9
add rax, r12
add rax, 0x1c08
movzx eax, byte [rax + r9]
xor al, byte [r9 + r12 + 0x1c1f]
mov byte [r9 + r13 + 1], al
add r9, 2
add r8, 2
jmp 0x1400c4800
mov byte [0x14019542c], 1
lea rdx, [0x1401953dd]
lea r8, [0x140195318]
mov r9, r14
call fcn.1400c3e50
mov eax, dword [rbp - 4]
cmp eax, 2
jl 0x1400c4918
cmp eax, 8
mov ecx, 7
cmovge ecx, eax
inc ecx
mov qword [rbp - 0x28], 0
call fcn.140086700
mov r14, rax
mov edx, dword [rbp - 4]
mov rax, qword [0x140194a60]
mov qword [rbp - 0x28], r14
mov ecx, ebx
xor r8d, r8d
mov r9, r14
call rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp byte [0x1401953dc], 0
jne 0x1400c48f9
mov dword [0x1401953d8], 0xa7325
mov byte [0x1401953dc], 1
lea rdx, [0x1401953d8]
mov rcx, rax
mov r8, r14
call fcn.1400c3e50
test r14, r14
je 0x1400c4918
mov rcx, r14
call fcn.140086990
mov ecx, dword [r15 + 0x30]
mov edx, edi
call qword [0x1401949f0]
mov ecx, dword [r15 + 0x30]
mov edx, esi
call qword [0x1401949f0]
mov ecx, edi
call qword [0x1401949d8]
mov ecx, esi
call qword [0x1401949d8]
mov rax, qword [0x140194a90]
mov ecx, dword [r15 + 0x30]
cmp byte [0x140195330], 0
jne 0x1400c496c
movabs rdx, 0x65727574786554
mov qword [0x140195328], rdx
mov byte [0x140195330], 1
lea rdx, [0x140195328]
call rax
mov dword [r15 + 0x34], eax
mov rax, qword [0x140194a90]
mov ecx, dword [r15 + 0x30]
cmp byte [0x140195340], 0
jne 0x1400c49a5
movabs rdx, 0x78744d6a6f7250
mov qword [0x140195338], rdx
mov byte [0x140195340], 1
lea rdx, [0x140195338]
call rax
mov dword [r15 + 0x38], eax
mov rax, qword [0x140194a48]
mov ecx, dword [r15 + 0x30]
cmp byte [0x140195351], 0
jne 0x1400c49e5
movabs rdx, 0x6e6f697469736f50
mov qword [0x140195348], rdx
mov byte [0x140195350], 0
mov byte [0x140195351], 1
lea rdx, [0x140195348]
call rax
mov dword [r15 + 0x3c], eax
mov rax, qword [0x140194a48]
mov ecx, dword [r15 + 0x30]
cmp byte [0x140195355], 0
jne 0x1400c4a1d
mov word [0x140195352], 0x5655
mov byte [0x140195354], 0
mov byte [0x140195355], 1
lea rdx, [0x140195352]
call rax
mov dword [r15 + 0x40], eax
mov rax, qword [0x140194a48]
mov ecx, dword [r15 + 0x30]
cmp byte [0x14019535e], 0
jne 0x1400c4a58
mov dword [0x140195358], 0x6f6c6f43
mov word [0x14019535c], 0x72
mov byte [0x14019535e], 1
lea rdx, [0x140195358]
call rax
mov dword [r15 + 0x44], eax
lea rdx, [r15 + 0x48]
mov ecx, 1
call qword [0x140194a30]
lea rdx, [r15 + 0x4c]
mov ecx, 1
call qword [0x140194a30]
call fcn.1400c4b40
mov edx, dword [rbp - 0x1c]
mov ecx, 0xde1
call qword [0x140194968]
mov edx, dword [rbp - 0x18]
mov ecx, 0x8892
call qword [0x140194958]
cmp dword [r15], 0xd2
jb 0x1400c4abb
mov edx, dword [rbp - 0xc]
mov ecx, 0x88ec
call qword [0x140194958]
mov ecx, dword [rbp - 0x14]
call qword [0x140194970]
mov al, 1
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret