Function at 0x14023afb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415bd958]
mov ecx, dword [0x1415bd95c]
mov r9d, eax
not r9d
and r9d, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, r9d
mov r9d, eax
and r9d, ecx
or eax, ecx
imul eax, r9d
add eax, r8d
mov ecx, eax
not ecx
or ecx, 0x5d5008f2
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x815fce71
mov r9d, ecx
not r9d
and r9d, 0x464cefdb
mov r8d, eax
and r8d, 0x81130020
imul r8d, r9d
and eax, 0x4cce51
or ecx, 0x464cefdb
imul ecx, eax
add ecx, r8d
cmp ecx, 0x231b6313
je 0x14023afd0
mov dword [rsp + 0x24], edx
test edx, edx
je 0x14023b820
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1415bd960]
mov eax, dword [0x1415bd964]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x30a58a5b
and ecx, 0xcf5a75a4
imul ecx, edx
mov edx, eax
and edx, 0xcf5a75a4
or eax, 0xcf5a75a4
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xe9b9c8bf
add ecx, eax
and eax, 0x16463740
sub ecx, eax
or ecx, 0x1c4768cd
cmp ecx, 0x6b15679a
jb 0x14023b060
mov eax, dword [0x1415bd968]
and eax, dword [0x1415bd96c]
shr eax, 3
imul rax, rax, 0x238927db
shr rax, 0x38
mov ecx, eax
xor ecx, 0xf6623fca
and eax, 0xfffffffd
add eax, eax
sub eax, ecx
add eax, 0x594f92c9
cmp eax, 0xdc101c06
ja 0x14023b0c0
cmp qword [rsp + 0x28], 0
je 0x14023b820
nop word cs:[rax + rax]
mov eax, dword [0x1415bd970]
or eax, dword [0x1415bd974]
lea ecx, [rax - 0x32ed5797]
mov edx, ecx
and edx, 0x12b77c20
xor ecx, 0xed4883df
add eax, ecx
add eax, 0xcd12a869
sub eax, edx
cmp eax, 0x63504648
je 0x14023b110
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, dword [0x1415bd978]
mov edx, dword [0x1415bd97c]
mov r8d, eax
and r8d, edx
or eax, edx
add eax, r8d
add eax, 0x1b180b05
and eax, 0xff019564
imul eax, eax, 0x76e01e5
cmp eax, 0x9c7af3da
jb 0x14023b150
xor ebp, ebp
mov r10b, 1
mov r13, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov r15d, 0xb9ec65af
mov r12d, 0x83f0c729
nop word cs:[rax + rax]
cmp qword [rdi + 0x10], rcx
jbe 0x14023b85b
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
mov rdx, qword [rdi + 8]
mov eax, dword [0x1415bd980]
xor eax, dword [0x1415bd984]
mov r8d, eax
xor r8d, 0x417091aa
xor eax, 0x268b0854
and eax, 0x66db18f4
mov r9d, r8d
and r9d, 0x9924e70b
imul r9d, eax
mov eax, r8d
and eax, 0x66db18f4
or r8d, 0x66db18f4
imul r8d, eax
add r8d, r9d
cmp r8d, 0x1f019736
je 0x14023b4a0
nop dword [rax + rax]
mov eax, dword [0x1415bd988]
mov r8d, dword [0x1415bd98c]
mov r9d, eax
and r9d, r8d
or eax, r8d
add r9d, eax
add r9d, 0x7b7364c0
mov eax, r9d
not eax
and eax, 0x6c897206
mov r8d, r9d
and r8d, 0x93768df9
imul r8d, eax
mov eax, r9d
and eax, 0x6c897206
or r9d, 0x6c897206
imul r9d, eax
add r9d, r8d
mov r8, rcx
shl r8, 7
xor eax, eax
lock cmpxchg byte [rdx + r8 + 4], r10b
sete al
cmp r9d, 0x446c36
je 0x14023b4a0
lea r14, [rdx + r8]
lea rbx, [rdx + r8]
add rbx, 4
mov ecx, dword [0x1415bd990]
mov edx, dword [0x1415bd994]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
mov r8d, 0x36d7a087
sub r8d, ecx
sub r8d, r9d
add ecx, r9d
add ecx, 0xc9285f78
mov edx, ecx
and edx, 0x36b0a443
and r8d, 0xc94f5bbc
imul r8d, edx
mov edx, ecx
and edx, 0xc94f5bbc
or ecx, 0xc94f5bbc
imul ecx, edx
add ecx, r8d
add ecx, 0x35026106
cmp ecx, 0x84c5fa7f
jb 0x14023b28a
test al, al
jne 0x14023b3d9
mov eax, dword [0x1415bd998]
xor edx, edx
div dword [0x1415bd99c]
and eax, 0xdafa84e9
add eax, 0x8da1e483
and eax, 0xffffadef
xor eax, 0x5840c548
cmp eax, 0x878d4e3e
jb 0x14023b4b5
nop word [rax + rax]
mov esi, dword [0x1415bd9a0]
mov eax, dword [0x1415bd9a4]
mov ecx, esi
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, esi
imul edx, ecx
mov ecx, esi
and ecx, eax
or esi, eax
imul esi, ecx
add esi, edx
xor esi, 0x319cf3fe
imul rsi, r12
shr rsi, 0x3b
add esi, 0x525de154
mov rcx, rbx
call fcn.14021b760
cmp esi, 0x6d192a10
ja 0x14023b340
nop word [rax + rax]
mov eax, dword [0x1415bd9a8]
or eax, dword [0x1415bd9ac]
mov ecx, eax
xor ecx, 0xa29227ac
xor eax, 0x82c8001
and eax, 0xa2ea621
mov edx, ecx
and edx, 0xf5d159de
imul edx, eax
mov eax, ecx
and eax, 0xa2ea621
or ecx, 0xa2ea621
imul ecx, eax
add ecx, edx
or ecx, 0x6629da31
cmp ecx, 0x45ed65dc
jb 0x14023b390
test bpl, bpl
jne 0x14023b3d9
movzx r8d, byte [r14 + 5]
nop word cs:[rax + rax]
mov eax, dword [0x1415bd9b0]
sub eax, dword [0x1415bd9b4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xdde26b9f
and ecx, 0x221d9460
imul ecx, edx
mov edx, eax
and edx, 0x221d9460
or eax, 0x221d9460
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x41522bc0
or eax, 0x41522bd3
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0xbae3b93c
add eax, ecx
inc eax
cmp eax, 0xd4b1e6e0
ja 0x14023b3f0
mov byte [rsp + 0x23], r8b
test r8b, r8b
je 0x14023b5bd
mov eax, dword [0x1415bd9d0]
or eax, dword [0x1415bd9d4]
and eax, 0xf735d03f
mov ecx, eax
not ecx
or eax, 0x18482074
or ecx, 0xe7b7df8b
and ecx, eax
mov eax, ecx
not eax
xor ecx, 0x84dcdf48
or eax, 0x8494df08
and eax, ecx
cmp eax, 0xb538699b
jbe 0x14023b4d0
jmp 0x14023b810
mov r8, rcx
shl r8, 7
xor eax, eax
lock cmpxchg byte [rdx + r8 + 4], r10b
jmp 0x14023b210
mov rcx, rbx
call fcn.140248480
jmp 0x14023b340
mov eax, dword [0x1415bd9d8]
add eax, dword [0x1415bd9dc]
mov ecx, eax
and ecx, 0x10384d1
xor eax, 0x810384d1
lea eax, [rax + rcx*2]
add eax, 0x6960d7ce
xor eax, 0xf269bae1
mov byte [r14 + 5], 0
lock inc dword [r14]
cmp eax, 0x58d29775
jb 0x14023b810
mov eax, dword [0x1415bd9e0]
mov ecx, dword [0x1415bd9e4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xbf7fedef
mov r8d, edx
and r8d, 0xdb7907bd
and ecx, 0x801000
imul ecx, r8d
and edx, 0x2486f842
or eax, 0xbffffdef
imul eax, edx
add eax, ecx
cmp eax, 0x1fd86021
jne 0x14023b580
mov rcx, r14
call r13
lock dec qword [rdi + 0x18]
nop dword [rax + rax]
mov eax, dword [0x1415bd9e8]
mov ecx, dword [0x1415bd9ec]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
imul rax, r15
shr rax, 0x3f
imul esi, eax, 0xb688438c
add esi, 0xada14305
mov rcx, r14
call fcn.14021b780
lock dec qword [rdi + 0x18]
cmp esi, 0xd4b141a4
ja 0x14023b580
xor eax, eax
xchg byte [rbx], al
nop word cs:[rax + rax]
test bpl, bpl
jne 0x14023b5d0
nop word cs:[rax + rax]
mov ecx, dword [0x1415bd9f0]
mov edx, dword [0x1415bd9f4]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
not edx
or edx, 0x49dc2d5a
xor edx, 0x654a4393
and ecx, 0x24024281
add ecx, ecx
sub ecx, edx
add ecx, 0x95af4e10
cmp ecx, 0x6647c19e
jb 0x14023b5e0
cmp al, 2
jne 0x14023b6f0
test bpl, bpl
je 0x14023b650
mov rcx, rbx
call fcn.14021b780
nop
mov eax, dword [0x1415bd9f8]
mov ecx, dword [0x1415bd9fc]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
not ecx
or ecx, 0x3ff14988
or eax, 0xc00eb670
and eax, ecx
shr eax, 3
imul rsi, rax, 0x2d233891
shr rsi, 0x33
mov eax, esi
xor eax, 0xa56ab75c
and esi, 0xffffffa3
add esi, esi
sub esi, eax
mov rcx, rbx
call r13
cmp esi, 0x870a079
jb 0x14023b650
mov eax, dword [0x1415bda00]
or eax, dword [0x1415bda04]
not eax
or eax, 0xd8abbb3d
mov ecx, eax
not ecx
and eax, 0xf512bf66
mov edx, ecx
and edx, 0x2444080
imul edx, eax
mov eax, ecx
and eax, 0x25100442
or ecx, 0xf512bf66
imul ecx, eax
add ecx, edx
imul eax, ecx, 0x8ddec8f0
cmp eax, 0xab415f0
je 0x14023b6a0
nop word cs:[rax + rax]
test bpl, bpl
jne 0x14023b6f0
cmp byte [rsp + 0x23], 0
mov r10b, 1
je 0x14023b7a0
nop word cs:[rax + rax]
mov eax, dword [0x1415bda18]
mov ecx, eax
not ecx
or ecx, dword [0x1415bda1c]
add eax, ecx
inc eax
or eax, 0x9ffbd6c2
add eax, 0xdbf7f46e
not eax
and eax, 0xa000156a
cmp eax, 0xd0c658ae
ja 0x14023b710
nop dword [rax]
mov eax, dword [0x1415bda20]
mov ecx, eax
not ecx
or ecx, dword [0x1415bda24]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x63e7d175
add ecx, ecx
sub eax, ecx
add eax, 0xe3e7d175
mov ecx, eax
or ecx, 0x94191343
xor ecx, 0x6cce507c
or eax, 0x9331af83
and eax, ecx
cmp eax, 0x76dbd329
jb 0x14023b740
cmp dword [rsp + 0x24], 1
mov dword [rsp + 0x24], 1
je 0x14023b820
nop word cs:[rax + rax]
mov eax, dword [0x1415bda10]
mov ecx, dword [0x1415bda14]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
or eax, 0x710c5ea5
mov ecx, eax
xor ecx, 0xb320a16e
xor eax, 0xc910280
or eax, 0x736edc55
add eax, ecx
inc eax
cmp eax, 0x906926b3
ja 0x14023b7a0
mov rax, qword [rsp + 0x30]
mov rcx, rax
cmp rax, qword [rsp + 0x28]
jne 0x14023b1a0
jmp 0x14023b820
mov byte [r14 + 5], 0
lock inc dword [r14]
jmp 0x14023b4d0
mov eax, dword [0x1415bda08]
imul eax, dword [0x1415bda0c]
imul eax, eax, 0xfe37226b
add eax, 0xcd428d75
imul rax, rax, 0x193f0793
shr rax, 0x3b
cmp eax, 0xb1e89d35
ja 0x14023b820
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415bd9b8]
xor eax, dword [0x1415bd9bc]
mov ecx, eax
xor ecx, 0xb2258041
xor eax, 0x498a5f3a
or ecx, 0x4d583b86
and ecx, eax
imul eax, ecx, 0x5902c27e
cmp eax, 0x54604c19
je 0x14023b8d1
mov eax, dword [0x1415bd9c0]
xor edx, edx
div dword [0x1415bd9c4]
add eax, 0xfea51782
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf57d9c9a
and ecx, 0xa826365
imul ecx, edx
mov edx, eax
and edx, 0xa826365
or eax, 0xa826365
imul eax, edx
add eax, ecx
add eax, 0x652207fa
ud2
ud2