Function at 0x1402386c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov qword [rbp - 8], rcx
mov eax, dword [0x14159b590]
mov ecx, dword [0x14159b594]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
add eax, 0xc6d804e4
mov ecx, eax
and ecx, 0x234f4366
xor eax, 0xa34f4366
lea eax, [rax + rcx*2]
xor eax, 0xf0ca5eeb
cmp eax, 0xe6c758e7
ja 0x14023876a
mov eax, dword [0x14159b598]
imul eax, dword [0x14159b59c]
mov ecx, eax
not ecx
and ecx, 0x95c56465
and eax, 0x6a3a9b9a
sub eax, ecx
mov ecx, eax
xor ecx, 0xa15a45c6
and ecx, eax
imul rcx, rcx, 0x514023c3
shr rcx, 0x3e
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r15, rsp
cmp ecx, 0x74a50db7
jne 0x140238786
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x14023870f
mov qword [rbp - 0x10], rdx
nop word [rax + rax]
mov eax, dword [0x14159b5a0]
add eax, dword [0x14159b5a4]
mov ecx, eax
and ecx, 0x6c09aa77
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x28104f64
add eax, 0x6ed14f7c
xor eax, 0x4059c629
cmp eax, 0x9787ee35
ja 0x140238790
mov r13d, 2
mov r10d, 3
mov esi, 0x80775c7f
lea rdi, [0x1415acb68]
lea rbx, [rbp + 4]
mov r12d, 0x9bf49dc9
mov eax, dword [0x14159b5a8]
mov ecx, dword [str.a_f__]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
not ecx
and ecx, 0xad20040
xor ecx, 0x899b3440
or ecx, 0x542449b7
cmp ecx, 0xec4477f
jb 0x14023884a
nop word cs:[rax + rax]
mov eax, dword [0x14159b5b0]
imul eax, dword [0x14159b5b4]
imul rax, rax, 0x5175d165
shr rax, 0x3e
or eax, 0xf6d1634c
mov ecx, dword [0x1415acb68]
cmp eax, 0x777f4e56
jae 0x140238860
mov eax, dword [0x1415acb68]
jmp 0x140238820
mov eax, dword [0x14159b5b8]
mov edx, dword [0x14159b5bc]
mov r8d, eax
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, eax
imul r9d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r9d
or eax, 0xb0ca4e08
lea edx, [rax + 0x6e5bb678]
not edx
or edx, 0x4ef261b4
add eax, edx
add eax, 0x6e5bb679
cmp eax, 0x7ba96db
ja 0x140238860
nop word cs:[rax + rax]
mov eax, dword [0x14159b5c0]
and eax, dword [0x14159b5c4]
add eax, 0xeae686cc
mov edx, eax
and edx, 0x286ce1d3
add edx, edx
sub eax, edx
add eax, 0xa86ce1d3
or eax, 0xa88e3c8
cmp eax, 0xdde682a0
ja 0x1402388c0
cmp ecx, 3
jge 0x1402389f0
cmp ecx, 1
jg 0x14023894d
test ecx, ecx
js 0x140238d77
mov eax, dword [0x14159b5d0]
mov edx, dword [0x14159b5d4]
mov r8d, edx
not r8d
and r8d, eax
xor edx, eax
add edx, eax
sub edx, r8d
mov eax, edx
and eax, 0x537de509
add eax, eax
neg eax
add eax, edx
add eax, 0x537de509
mov edx, eax
and edx, 0x61ccf6d3
and eax, 0x1000093
add eax, eax
sub edx, eax
cmp edx, 0xe173137d
jne 0x140238962
jmp 0x14023899f
mov eax, 2
lock cmpxchg dword [0x1415acb68], r10d
jne 0x1402389b4
jmp 0x140238a00
mov eax, dword [0x14159b5d8]
mov edx, dword [0x14159b5dc]
xor edx, eax
not edx
and edx, eax
mov r8d, edx
xor r8d, 0x5e33593b
and r8d, edx
add r8d, 0x5ce586c
mov eax, ecx
lock cmpxchg dword [0x1415acb68], r13d
sete dl
cmp r8d, 0x63bda82c
jbe 0x1402389ac
mov eax, ecx
lock cmpxchg dword [0x1415acb68], r13d
jmp 0x140238962
test dl, dl
jne 0x140238b8b
mov ecx, eax
nop word cs:[rax + rax]
mov eax, dword [0x14159b610]
mov edx, dword [0x14159b614]
mov r8d, edx
and r8d, eax
add eax, edx
sub eax, r8d
imul eax, eax, 0x8d70ad51
cmp eax, 0xefe2cf8f
je 0x1402389c0
jmp 0x1402388c0
cmp ecx, 4
jge 0x140238d75
nop dword [rax]
mov eax, dword [0x14159b618]
sub eax, dword [0x14159b61c]
xor eax, 0x482fb930
imul rax, rax, 0x6de34e7d
shr rax, 0x3e
imul eax, eax, 0x71e339c3
cmp eax, 0xc1a282
je 0x140238a00
mov eax, dword [0x14159b620]
or eax, dword [0x14159b624]
mov ecx, eax
or ecx, 0x6bccbc66
mov edx, ecx
not edx
and edx, 0x98061226
mov r8d, ecx
and r8d, 0x67f9edd9
imul r8d, edx
and ecx, 0x98061226
or eax, 0xfbcebe66
imul eax, ecx
add eax, r8d
or eax, 0x7e91c29d
cmp eax, 0x759f8781
jne 0x140238aa0
mov dword [rbp + 4], 3
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rbx
mov r9d, 0xffffffff
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x14159b628]
xor edx, edx
div dword [0x14159b62c]
mov r14d, eax
add r14d, 0x26c74000
imul r14, rsi
shr r14, 0x3e
add r14d, 0x94cd9c11
mov dword [rbp + 4], 3
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rbx
mov r9d, 0xffffffff
call fcn.14020c940
add rsp, 0x20
cmp r14d, 0x1a644f33
jb 0x140238aa0
nop word cs:[rax + rax]
mov ecx, dword [0x14159b630]
add ecx, dword [0x14159b634]
mov edx, ecx
and edx, 0x12e85957
add edx, edx
sub ecx, edx
add ecx, 0x2b38c2ce
or ecx, 0xb580ded5
cmp ecx, 0x4e659646
jb 0x140238b00
cmp eax, 1
je 0x140238b3e
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
mov r10d, 3
nop word cs:[rax + rax]
mov eax, dword [0x14159b638]
mov ecx, dword [0x14159b63c]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
or ecx, 0x27958fe0
imul rcx, r12
shr rcx, 0x3f
not ecx
and ecx, 0xabe1bedb
cmp ecx, 0xe1634da0
jae 0x140238b50
jmp 0x1402387e1
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov edx, dword [0x14159b5e0]
add edx, dword [0x14159b5e4]
mov rcx, qword [rax]
mov r8d, edx
not r8d
and r8d, 0xe5cf313d
mov r9d, edx
and r9d, 0x1a30cec2
imul r9d, r8d
mov r8d, edx
and r8d, 0xe5cf313d
or edx, 0xe5cf313d
imul edx, r8d
add edx, r9d
mov r8d, 0xfeb3feed
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0x80ed604d
jne 0x140238c00
mov qword [rax], 0
nop word cs:[rax + rax]
mov edx, dword [0x14159b5e8]
mov r8d, dword [0x14159b5ec]
mov r9d, edx
not r9d
mov r10d, r8d
not r10d
mov r11d, r9d
and r11d, 0x416091ca
and edx, 0xbe9f6e35
or edx, r11d
or r9d, r10d
and r10d, 0x416091ca
and r8d, 0xbe9f6e35
or r8d, r10d
xor r8d, edx
not r9d
or r9d, r8d
imul edx, r9d, 0xf6f4724f
add edx, 0xd73489b1
imul rdx, rdx, 0x6776eb0b
shr rdx, 0x3e
mov r8, qword [rax + 8]
mov qword [rax], 0
cmp edx, 0xf8379478
ja 0x140238c00
mov eax, dword [0x14159b5f0]
xor edx, edx
div dword [0x14159b5f4]
nop word cs:[rax + rax]
mov eax, dword [0x14159b5f8]
mov edx, dword [0x14159b5fc]
not edx
not eax
mov r9d, eax
or r9d, edx
not r9d
and eax, edx
or eax, r9d
not eax
add eax, 0xfa58e26e
xor eax, 0x381ad2c4
cmp eax, 0xf223e178
je 0x140238c90
test rcx, rcx
je 0x140238db4
mov byte [rcx], 1
xorps xmm0, xmm0
mov rcx, qword [rbp - 0x10]
movups xmmword [rcx + 3], xmm0
mov eax, dword [rcx + 0xf]
mov dword [r15 + 0xf], eax
movups xmm0, xmmword [rcx]
movups xmmword [r15], xmm0
mov qword [r8], 0
mov dword [r8 + 8], 0
mov byte [r8 + 0xc], 0
movups xmm0, xmmword [r15]
movups xmmword [r8 + 0xd], xmm0
mov eax, dword [r15 + 0xf]
mov dword [r8 + 0x1c], eax
mov qword [r8 + 0x20], 1
mov qword [r8 + 0x28], 0
mov byte [r8 + 0x30], 0
mov byte [r8 + 0x35], 0
mov dword [r8 + 0x31], 0
mov eax, 4
xchg dword [0x1415acb68], eax
cmp eax, 3
jne 0x140238d52
sub rsp, 0x20
lea rcx, [0x1415acb68]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll]
add rsp, 0x20
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140238d60
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
je 0x140238d52
ud2
mov eax, dword [0x14159b604]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14159b600]
xor ecx, eax
add ecx, 0x5a41258a
and ecx, 0x424815b5
mov eax, ecx
not eax
or eax, 0xcdac98e6
add eax, ecx
cmp eax, 0x4118f623
jne 0x140238df0
ud2
mov eax, dword [0x14159b608]
mov ecx, dword [0x14159b60c]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x95c71759
xor eax, 0xd36e92d3
and eax, ecx
xor eax, 0xf0a1b11a
ud2