Function at 0x1402435e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, rdx
mov qword [rsp + 0x28], rcx
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp dword [rcx + 0x28], 0
jne 0x1402437a4
mov ecx, dword [0x1415a6180]
xor ecx, dword [0x1415a6184]
mov edx, ecx
not edx
and edx, 0xf2a11875
mov r9d, ecx
and r9d, 0xd5ee78a
imul r9d, edx
mov edx, ecx
and edx, 0xf2a11875
or ecx, 0xf2a11875
imul ecx, edx
add ecx, r9d
imul rcx, rcx, 0x4eaed51d
shr rcx, 0x3e
or ecx, 0x50abbea6
cmp ecx, 0x5d50cfb9
jne 0x140243689
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov dword [rcx + 0x28], 1
xor ecx, ecx
nop dword [rax + rax]
mov edx, dword [0x1415acbd4]
mov r9, qword gs:[0x58]
mov rdx, qword [r9 + rdx*8]
mov dword [rdx + 0x28], 1
test cl, cl
jne 0x140243690
mov ecx, dword [0x1415a6188]
mov edx, dword [0x1415a618c]
not ecx
mov r9d, ecx
and r9d, edx
or ecx, edx
not ecx
or ecx, r9d
mov edx, ecx
and edx, 0x7ec73260
add edx, edx
neg edx
add ecx, edx
add ecx, 0x7e4cb02e
cmp ecx, 0x6456d489
jbe 0x140243710
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x2c], 0
nop word cs:[rax + rax]
mov ecx, dword [0x1415a6190]
mov edx, dword [0x1415a6194]
add ecx, edx
add ecx, 0x288e242
mov edx, ecx
xor edx, 0x902788
xor ecx, 0x320c1015
and ecx, 0xbf4c9877
and edx, 0x40b36788
or edx, ecx
mov ecx, dword [0x1415acbd4]
mov r9, qword gs:[0x58]
mov rcx, qword [r9 + rcx*8]
mov qword [rcx + 0x2c], 0
cmp edx, 0x9fe0bb35
je 0x140243710
nop word cs:[rax + rax]
mov ecx, dword [0x1415a6198]
mov edx, dword [str._Y]
mov r9d, ecx
xor r9d, edx
not r9d
or ecx, edx
and ecx, r9d
add ecx, 0x61a82f13
xor ecx, 0x3128449c
or ecx, 0x42078843
cmp ecx, 0x3eac9da8
jb 0x140243770
mov rcx, qword [r8 + 0x50]
mov qword [rsp + 0x88], rcx
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmm2, xmmword [r8 + 0x20]
movups xmm3, xmmword [r8 + 0x30]
movups xmmword [rsp + 0x68], xmm3
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x38], xmm0
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
lea rcx, [rcx + 0x2c]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x90], 0
lea rdx, [0x1401cbfd0]
lea r8, [rsp + 0x30]
mov rcx, rax
call fcn.14012fa40
mov rbx, qword [rsp + 0x30]
lea rdi, [rbx + 4]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 4], cl
jne 0x140243cc8
movzx eax, byte [rbx + 5]
mov ecx, 0x87bba857
nop word cs:[rax + rax]
mov edx, dword [0x1415a61a0]
imul edx, dword [0x1415a61a4]
imul rdx, rcx
shr rdx, 0x3f
or edx, 0x705990c8
cmp edx, 0xb533bbfd
je 0x140243850
test al, al
je 0x14024393d
mov eax, dword [0x1415a6210]
mov ecx, dword [0x1415a6214]
not eax
not ecx
or ecx, eax
xor ecx, 0x831bb8ad
add ecx, 0xcae3f8a4
cmp ecx, 0xabf08565
jae 0x1402438b0
mov byte [rbx + 5], 0
nop word cs:[rax + rax]
mov eax, dword [0x1415a6218]
mov ecx, eax
not ecx
or ecx, dword [0x1415a621c]
add eax, ecx
inc eax
mov ecx, eax
not ecx
and ecx, 0xfc2c2ab
mov edx, eax
and edx, 0x703d3d54
imul edx, ecx
mov ecx, eax
and ecx, 0xfc2c2ab
or eax, 0xfc2c2ab
imul eax, ecx
add eax, edx
and eax, 0x5e8864de
imul rax, rax, 0x60bf9d93
shr rax, 0x3d
mov byte [rbx + 5], 0
cmp eax, 0x9987e66e
je 0x1402438b0
mov eax, dword [0x1415a6220]
xor edx, edx
div dword [0x1415a6224]
xor eax, 0x3eae2814
mov ecx, 0xaecf8117
imul rcx, rax
shr rcx, 0x3e
mov eax, ecx
xor eax, 2
and eax, ecx
cmp eax, 0x30de7c80
jbe 0x140243cd5
jmp 0x140243cf8
mov r15d, 0xa028b069
lea r14, [rsp + 0x24]
mov r13, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov bpl, 1
nop word cs:[rax + rax]
mov eax, dword [0x1415a61a8]
sub eax, dword [0x1415a61ac]
add eax, 0xc3890e8c
imul rax, rax, 0x7955eddd
shr rax, 0x3e
or eax, 0x37f93d7a
cmp eax, 0x9940b811
jbe 0x140243990
mov eax, dword [rbx]
nop word [rax + rax]
mov eax, dword [0x1415a61b0]
mov ecx, dword [0x1415a61b4]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x69cd86b8
add eax, 0x71b6fd5b
mov esi, dword [rbx]
cmp eax, 0x51604f38
jb 0x140243990
xor eax, eax
xchg byte [rdi], al
mov ecx, dword [0x1415a61b8]
or ecx, dword [0x1415a61bc]
imul rcx, r15
shr rcx, 0x3f
lea edx, [rcx + 0x52184c2]
not ecx
and ecx, 0xa824905
imul ecx, ecx, 0x40580008
imul edx, edx, 0x4ffbcdcf
add edx, ecx
cmp edx, 0xb765f997
jb 0x1402439bc
cmp al, 2
jne 0x140243ac3
mov eax, dword [0x1415a61c0]
add eax, dword [0x1415a61c4]
mov ecx, eax
xor ecx, 0xd9b8d17f
add ecx, eax
and eax, 0x26472e80
sub ecx, eax
cmp ecx, 0x275647ae
je 0x140243b30
nop word cs:[rax + rax]
mov eax, dword [0x1415a61c8]
mov ecx, dword [0x1415a61cc]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov r12d, ecx
xor r12d, 0x660c1b57
and r12d, ecx
mov eax, r12d
not eax
and eax, 0x7e49e252
and r12d, 0x81b61dad
sub r12d, eax
mov rcx, rdi
call fcn.14020c960
cmp r12d, 0xaca0230
je 0x140243b30
nop
mov eax, dword [0x1415a61d0]
add eax, dword [0x1415a61d4]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x442a2c8a
mov r8d, edx
and r8d, 0x1ac877dd
and ecx, 0xa1158020
imul ecx, r8d
and edx, 0xe5378822
or eax, 0xe53facaa
imul eax, edx
add eax, ecx
cmp eax, 0xb4ebf067
je 0x140243a80
mov eax, dword [0x1415a61d8]
mov ecx, dword [0x1415a61dc]
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
add eax, 0xb6542adc
mov ecx, eax
not ecx
and ecx, 0x17fd40f7
mov edx, eax
and edx, 0xe802bf08
imul edx, ecx
mov ecx, eax
and ecx, 0x17fd40f7
or eax, 0x17fd40f7
imul eax, ecx
add eax, edx
cmp eax, 0x428761b7
jae 0x140243b40
jmp 0x140243b71
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x140243a30
mov eax, dword [0x1415a61e0]
sub eax, dword [0x1415a61e4]
imul eax, eax, 0xa99bb7be
mov ecx, eax
and ecx, 0xd50cde18
or eax, 0xd50cde19
add eax, ecx
or eax, 0x3382a57
mov dword [rsp + 0x24], esi
cmp eax, 0xf7ddde1d
jbe 0x140243b80
mov dword [rsp + 0x24], esi
jmp 0x140243b40
mov r8d, 4
mov rcx, rbx
mov rdx, r14
mov r9d, 0xffffffff
call r13
cmp eax, 1
je 0x140243bc7
call fcn.14020b260
nop
mov eax, dword [0x1415a61e8]
mov ecx, dword [0x1415a61ec]
not ecx
add eax, ecx
add eax, 0x587f3fc3
mov ecx, eax
xor ecx, 0x25f3a99d
and ecx, eax
cmp ecx, 0x3a3208b6
jb 0x140243ba0
xor eax, eax
lock cmpxchg byte [rdi], bpl
sete al
nop word cs:[rax + rax]
mov ecx, dword [0x1415a61f4]
add ecx, dword [0x1415a61f0]
xor ecx, 0x3a5c9079
add ecx, 0xd17abd7a
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xbac17058
and edx, 0x453e8fa7
imul edx, r8d
mov r8d, ecx
and r8d, 0x453e8fa7
or ecx, 0x453e8fa7
imul ecx, r8d
add ecx, edx
cmp ecx, 0xa8c7c5fa
je 0x140243be0
test al, al
je 0x140243cbb
mov eax, dword [0x1415a61f8]
imul eax, dword [0x1415a61fc]
shr eax, 1
imul rax, rax, 0x478d8c73
shr rax, 0x3b
lea ecx, [rax - 0x5b8c7ef0]
not eax
and eax, 0x41842a67
imul eax, eax, 0xa004000
imul ecx, ecx, 0xeff7eb77
add ecx, eax
cmp ecx, 0xccd3a32f
jb 0x140243c36
movzx ecx, byte [rbx + 5]
mov eax, dword [0x1415a6200]
xor edx, edx
div dword [0x1415a6204]
mov eax, dword [0x1415a6208]
and eax, dword [0x1415a620c]
add eax, 0x191f984
imul rax, rax, 0x470818d9
shr rax, 0x3d
imul eax, eax, 0x2747e78b
cmp eax, 0xffdc0137
ja 0x140243c85
test cl, cl
je 0x140243960
jmp 0x14024387b
mov rcx, rdi
call fcn.1402393c0
jmp 0x140243c36
mov rcx, rdi
call fcn.1402393c0
jmp 0x140243838
mov eax, dword [0x1415a6228]
xor edx, edx
div dword [0x1415a622c]
xor ecx, ecx
or eax, 0x21d771d2
add eax, 0xf43403b
xchg byte [rdi], cl
cmp eax, 0xa2a06a27
jbe 0x140243cfe
xor eax, eax
xchg byte [rdi], al
jmp 0x140243cd5
cmp cl, 2
jne 0x140243d0b
mov rcx, rdi
call fcn.14020c960
mov rcx, qword [rsp + 0x90]
nop word cs:[rax + rax]
mov eax, dword [0x1415a6230]
xor edx, edx
div dword [0x1415a6234]
mov edx, eax
not edx
and edx, 0xc0b2aae3
mov r8d, eax
and r8d, 0x3f4d551c
imul r8d, edx
mov edx, eax
and edx, 0xc0b2aae3
or eax, 0xc0b2aae3
imul eax, edx
add eax, r8d
imul rax, rax, 0x5445890d
shr rax, 0x3e
cmp eax, 0x68d3e1d6
ja 0x140243d20
movups xmm0, xmmword [rsp + 0x98]
nop word cs:[rax + rax]
mov edx, dword [0x1415a6238]
mov r8d, dword [0x1415a623c]
mov eax, edx
not eax
mov r9d, r8d
not r9d
mov r10d, eax
and r10d, 0xcc99d41b
and edx, 0x33662be4
or edx, r10d
or eax, r9d
and r9d, 0xcc99d41b
and r8d, 0x33662be4
or r8d, r9d
xor r8d, edx
not eax
or eax, r8d
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x7e27969
and edx, 0x1d8696
imul edx, r8d
mov r8d, eax
and r8d, 0x1d8696
or eax, 0x1d8696
imul eax, r8d
add eax, edx
not eax
or eax, 0xfa48731d
mov edx, eax
not edx
xor eax, 0xa3da2062
or edx, 0x1920062
and edx, eax
cmp edx, 0x250d8119
je 0x140243d80
test rcx, rcx
jle 0x140243e90
cmp rcx, 2
jge 0x140243e56
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jne 0x140243ea0
nop dword [rax + rax]
mov eax, dword [0x1415a6250]
sub eax, dword [0x1415a6254]
imul eax, eax, 0xc0e89305
or eax, 0x4d86a1e6
mov ecx, eax
and ecx, 0x4d608a1a
xor eax, 0x4d608a1a
lea eax, [rax + rcx*2]
cmp eax, 0xb79f966e
je 0x140243e60
ud2
je 0x140243ed1
nop word cs:[rax + rax]
mov eax, dword [0x1415a6240]
or eax, dword [0x1415a6244]
imul eax, eax, 0xb282994a
mov ecx, eax
and ecx, 0x271b31c4
and eax, 0x1830c4
sub ecx, eax
add ecx, 0x98b8beed
cmp ecx, 0x587a5371
jb 0x140243ea0
jmp 0x140243e8e
mov eax, dword [0x1415a6248]
mov ecx, dword [0x1415a624c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0x53ecb313
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x58e8d725
and ecx, 0xa71728da
imul ecx, edx
mov edx, eax
and edx, 0xa71728da
or eax, 0xa71728da
imul eax, edx
add eax, ecx
mov ecx, 0xb7be5c29
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xaed1c254
jbe 0x140243f40
ud2
xor eax, eax
nop word cs:[rax + rax]
ud2