Function at 0x1402475f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp - 0x18], rcx
mov ecx, dword [0x1415c20f8]
mov eax, dword [0x1415c20fc]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x8cd06347
mov edx, eax
and edx, 0x732f9cb8
imul edx, ecx
mov ecx, eax
and ecx, 0x8cd06347
or eax, 0x8cd06347
imul eax, ecx
lea ecx, [rax + rdx]
add ecx, 0xfef765eb
add eax, edx
not ecx
or ecx, 0xce2b3ed1
add eax, ecx
add eax, 0xfef765eb
cmp eax, 0x6e318ba1
jne 0x140247680
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x1415c2100]
imul ecx, dword [0x1415c2104]
not ecx
and ecx, 0xddb4208d
mov eax, ecx
not eax
xor ecx, 0xf99b6a99
add ecx, eax
and eax, 0xf99b6a99
sub ecx, eax
or ecx, 0x28b63fe0
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r14, rsp
cmp ecx, 0x2910a8c9
jb 0x140247680
nop word cs:[rax + rax]
mov eax, dword [0x1415c2108]
sub eax, dword [0x1415c210c]
imul rax, rax, 0x5efec3f1
shr rax, 0x3e
imul eax, eax, 0xbf457bbc
add eax, 0x5d537723
cmp eax, 0x7a071d1b
ja 0x1402476d0
mov r15d, 2
xor r12d, r12d
mov r13d, 3
lea rdi, [0x1415d38e8]
lea rbx, [rbp - 0xc]
mov rsi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov ecx, dword [0x1415d38e8]
mov eax, dword [0x1415c2110]
mov edx, dword [0x1415c2114]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
mov edx, eax
and edx, 0xbf0e9e98
mov r8d, edx
not r8d
and r8d, 0xcc5bb0e2
mov r9d, eax
and r9d, 0x33040e18
imul r9d, r8d
and eax, 0x8c0a9080
or edx, 0xcc5bb0e2
imul edx, eax
add edx, r9d
imul rax, rdx, 0x41c27749
shr rax, 0x3e
cmp eax, 0xb8d872da
ja 0x140247720
nop word [rax + rax]
mov eax, dword [0x1415c2118]
and eax, dword [0x1415c211c]
add eax, 0x3e724b95
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xb91ceb60
and edx, 0x46e3149f
imul edx, r8d
mov r8d, eax
and r8d, 0x46e3149f
or eax, 0x46e3149f
imul eax, r8d
add eax, edx
mov edx, eax
not edx
and edx, 0xf3e5e784
mov r8d, eax
and r8d, 0xc1a187b
imul r8d, edx
mov edx, eax
and edx, 0xf3e5e784
or eax, 0xf3e5e784
imul eax, edx
add eax, r8d
cmp eax, 0xf6e53598
ja 0x1402477a0
cmp ecx, 3
jge 0x1402478f0
cmp ecx, 1
jg 0x140247852
test ecx, ecx
js 0x140247a0e
mov eax, ecx
lock cmpxchg dword [0x1415d38e8], r15d
sete dl
mov ecx, eax
nop word cs:[rax + rax]
test r12b, r12b
jne 0x140247840
test dl, dl
je 0x1402477a0
jmp 0x1402479cd
mov eax, 2
lock cmpxchg dword [0x1415d38e8], r13d
mov ecx, eax
sete r8b
mov eax, dword [0x1415c21b0]
xor edx, edx
div dword [0x1415c21b4]
or eax, 0x4c6d9958
imul eax, eax, 0x996e1e12
add eax, 0x487f2154
cmp eax, 0xa274a6dc
ja 0x140247866
nop dword [rax + rax]
mov eax, dword [0x1415c21b8]
or eax, dword [0x1415c21bc]
mov edx, eax
and edx, 0x47745ca3
mov r9d, edx
not r9d
mov r10d, eax
and r10d, 0x45705c22
and r9d, 0xba8ea3c9
imul r9d, r10d
and eax, 0x2040081
or edx, 0xba8ea3c9
imul edx, eax
lea eax, [rdx + r9]
add eax, 0xeae4ec36
cmp eax, 0x9ee3aed1
jb 0x140247890
test r8b, r8b
je 0x1402477a0
jmp 0x1402478f9
cmp ecx, 4
jge 0x140247a0c
mov dword [rbp - 0xc], 3
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rbx
mov r9d, 0xffffffff
call rsi
add rsp, 0x20
cmp eax, 1
je 0x1402479a0
mov eax, dword [0x1415c21c0]
sub eax, dword [0x1415c21c4]
mov ecx, eax
not ecx
and ecx, 0x1d16d7d3
mov edx, eax
and edx, 0xe2e9282c
imul edx, ecx
mov ecx, eax
and ecx, 0x1d16d7d3
or eax, 0x1d16d7d3
imul eax, ecx
add eax, edx
xor eax, 0x97a8e4bb
add eax, 0x586468b2
cmp eax, 0x7022869e
jbe 0x140247980
sub rsp, 0x20
call fcn.14021a080
add rsp, 0x20
nop word cs:[rax + rax]
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
test r12b, r12b
jne 0x140247980
nop word cs:[rax + rax]
mov eax, dword [0x1415c21c8]
or eax, dword [0x1415c21cc]
or eax, 0x7a3e538
imul rax, rax, 0x7fc56ed3
shr rax, 0x3d
or eax, 0xcb57b116
cmp eax, 0x290c9a2
jb 0x1402479a0
jmp 0x14024771a
xor eax, eax
nop
test al, al
jne 0x1402479d0
mov rax, qword [rbp - 0x18]
mov r9, qword [rax]
mov r8, qword [r9]
mov eax, dword [0x1415c2138]
xor edx, edx
div dword [0x1415c213c]
xor eax, 0x47708dbb
imul eax, eax, 0x396b49c5
or eax, 0xc1c9c78
cmp eax, 0xc5f72b3e
jbe 0x140247ade
jmp 0x140247b3c
je 0x140247a80
xor eax, eax
test al, al
je 0x140247a20
ud2
mov eax, dword [0x1415c2120]
sub eax, dword [0x1415c2124]
add eax, 0x6622f272
and eax, 0xa670d142
add eax, 0xd7db1acc
ud2
mov eax, dword [0x1415c2130]
xor edx, edx
div dword [0x1415c2134]
add eax, 0xaed94369
mov ecx, eax
or ecx, 0xfc206307
mov edx, eax
not edx
and edx, 0x2568c00
mov r8d, ecx
and r8d, 0xf1a950fb
imul r8d, edx
and ecx, 0xe56af04
or eax, 0xfe76ef07
imul eax, ecx
add eax, r8d
cmp eax, 0x9a402368
je 0x140247a80
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1415c2140]
mov ecx, dword [str.sd_J]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x80c83fda
and eax, 0x7f37c025
imul eax, edx
mov edx, ecx
and edx, 0x7f37c025
or ecx, 0x7f37c025
imul ecx, edx
add eax, ecx
add eax, 0x1675a0d8
shr eax, 2
imul rax, rax, 0x40327195
shr rax, 0x3c
mov rcx, qword [r9 + 8]
mov qword [r9], 0
cmp eax, 0x6576d528
jne 0x140247b45
mov qword [r9], 0
jmp 0x140247ade
mov eax, dword [0x1415c2148]
xor edx, edx
div dword [0x1415c214c]
nop word cs:[rax + rax]
mov eax, dword [0x1415c2150]
and eax, dword [0x1415c2154]
imul eax, eax, 0x1b1566dc
mov edx, eax
and edx, 0x22a49fc
xor eax, 0x22a49fd
lea eax, [rax + rdx*2]
mov edx, eax
xor edx, 0x8bd215ac
and eax, 0x742dea51
add eax, eax
sub eax, edx
cmp eax, 0xfbfb897b
ja 0x140247b60
test r8, r8
je 0x140247d21
mov eax, dword [0x1415c2168]
imul eax, dword [0x1415c216c]
mov edx, eax
xor edx, 0xcc8d5e1a
xor eax, 0x2030a1a4
or eax, 0x5f475e49
add eax, edx
cmp eax, 0xc2a4eb47
jne 0x140247c16
mov byte [r8], 1
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov eax, dword [rbp + 3]
mov dword [r14 + 0xf], eax
movups xmm0, xmmword [rbp - 0xc]
movups xmmword [r14], xmm0
mov qword [rcx], 0
mov dword [rcx + 8], 0
mov byte [rcx + 0xc], 0
movups xmm0, xmmword [r14]
movups xmmword [rcx + 0xd], xmm0
mov eax, dword [r14 + 0xf]
mov dword [rcx + 0x1c], eax
mov qword [rcx + 0x20], 1
mov qword [rcx + 0x28], 0
xorps xmm0, xmm0
nop dword [rax]
mov eax, dword [0x1415c2170]
mov edx, dword [0x1415c2174]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
mov edx, eax
and edx, 0x44f614b2
add edx, edx
sub eax, edx
add eax, 0x44f614b2
mov edx, eax
not edx
and edx, 0xb962e64d
mov r9d, eax
and r9d, 0x469d19b2
imul r9d, edx
mov edx, eax
and edx, 0xb962e64d
or eax, 0xb962e64d
imul eax, edx
add eax, r9d
shr eax, 1
imul rax, rax, 0x155d509f
shr rax, 0x36
mov byte [r8], 1
movups xmmword [rbp - 9], xmm0
mov edx, dword [rbp + 3]
mov dword [r14 + 0xf], edx
movups xmm1, xmmword [rbp - 0xc]
movups xmmword [r14], xmm1
mov qword [rcx], 0
mov dword [rcx + 8], 0
mov byte [rcx + 0xc], 0
movups xmm1, xmmword [r14]
movups xmmword [rcx + 0xd], xmm1
mov edx, dword [r14 + 0xf]
mov dword [rcx + 0x1c], edx
mov qword [rcx + 0x20], 1
mov qword [rcx + 0x28], 0
cmp eax, 0x2fe74f5e
je 0x140247c20
mov eax, dword [0x1415c2178]
xor edx, edx
div dword [0x1415c217c]
xor eax, 0x67fbba3
imul eax, eax, 0xbf078fd7
imul rax, rax, 0x4ecd26cd
shr rax, 0x3e
cmp eax, 0xc04ac1c4
jbe 0x140247da5
jmp 0x140247df0
xor eax, eax
test al, al
je 0x140247d30
ud2
mov eax, dword [0x1415c2158]
imul eax, dword [0x1415c215c]
and eax, 0x66495f92
add eax, 0xa7001aef
xor eax, 0x2d5a24ef
ud2
mov eax, dword [0x1415c2180]
mov edx, dword [0x1415c2184]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
add eax, 0x797ebbbd
and eax, 0xdd644b36
add eax, 0xc414e515
mov byte [rcx + 0x30], 0
cmp eax, 0x4bde6bee
jae 0x140247df6
mov byte [rcx + 0x30], 0
jmp 0x140247da5
mov eax, dword [0x1415c2188]
and eax, dword [0x1415c218c]
mov edx, eax
xor edx, 0xc54a753
and eax, 0x73ab58ac
add eax, eax
sub eax, edx
imul eax, eax, 0x53cde720
cmp eax, 0xeae75910
jbe 0x140247e40
mov byte [rcx + 0x35], 0
mov dword [rcx + 0x31], 0
mov eax, 4
xchg dword [0x1415d38e8], eax
nop word cs:[rax + rax]
mov eax, dword [0x1415c2190]
mov edx, eax
not edx
or edx, dword [0x1415c2194]
add edx, eax
inc edx
or edx, 0x67e8ed9a
add edx, 0x7e8f9964
mov byte [rcx + 0x35], 0
mov dword [rcx + 0x31], 0
mov eax, 4
xchg dword [0x1415d38e8], eax
cmp edx, 0xc91a5ac2
ja 0x140247e40
cmp eax, 3
jne 0x140247a80
mov eax, dword [0x1415c2198]
mov ecx, dword [0x1415c219c]
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, 0xc396ef64
imul rax, rax, 0x31d2d257
shr rax, 0x3c
or eax, 0xddf04ca8
cmp eax, 0xb2ee7a52
jae 0x140247ee3
sub rsp, 0x20
lea rcx, [0x1415d38e8]
call fcn.14021b260
add rsp, 0x20
lea rsi, [0x1415d38e8]
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll]
nop word cs:[rax + rax]
mov eax, dword [0x1415c21a0]
mov ecx, dword [0x1415c21a4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x6ed9ba25
imul rbx, rax, 0x2ab31fc5
shr rbx, 0x3d
sub rsp, 0x20
mov rcx, rsi
call rdi
add rsp, 0x20
cmp ebx, 0x17fbc19b
ja 0x140247f00
nop dword [rax]
mov eax, dword [0x1415c21a8]
mov ecx, dword [0x1415c21ac]
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
add eax, 0xc61e7e21
mov ecx, eax
and ecx, 0x7468c837
and eax, 0x24208826
xor ecx, 0x2d37abae
lea eax, [rcx + rax*2]
cmp eax, 0xa92ea5b8
jae 0x140247f40
jmp 0x140247a80