Function at 0x140040e10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, r8
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x1402128e0]
mov ecx, dword [0x1402128e4]
mov r8d, ecx
not r8d
mov r10d, eax
and r10d, r8d
or r8d, eax
not r8d
imul r8d, r10d
mov r10d, eax
and r10d, ecx
or eax, ecx
imul eax, r10d
add eax, r8d
and eax, 0x3fffffff
xor eax, 0x34ee7c79
add eax, 0xac6d85f7
or eax, 0xc1d273d8
cmp eax, 0x2f51b0f9
jb 0x140040e30
mov r15d, 1
test rdx, rdx
je 0x140040f30
mov eax, 0xa8668f35
mov ecx, dword [0x1402128e8]
mov edx, ecx
not edx
or edx, dword [str._nY_kqN]
add ecx, edx
add ecx, 0xbd5d8287
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0xb6c3682b
cmp ecx, 0xcd26e75f
ja 0x140040e90
cmp qword [r9 + 8], 0
je 0x140040f3c
mov rbx, qword [r9]
mov rax, qword [r9 + 0x10]
nop dword [rax]
mov ecx, dword [0x1402128f0]
mov edx, dword [0x1402128f4]
mov r8d, edx
not r8d
and r8d, ecx
xor edx, ecx
add edx, ecx
sub edx, r8d
or edx, 0xd599d42c
mov ecx, 0xac364830
sub ecx, edx
add edx, 0x53c9b7cf
or ecx, 0x336a8dfe
or edx, 0xc8857201
and edx, ecx
cmp edx, 0xe9699957
jb 0x140040ed0
test rax, rax
je 0x140040f92
mov r14, qword [0x14022cb48]
xor eax, eax
test al, al
je 0x1400410fa
jmp 0x140041154
mov eax, 8
xor edi, edi
jmp 0x140041318
mov eax, dword [0x140212920]
mov ecx, dword [0x140212924]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
imul eax, eax, 0xf5960e3e
add eax, 0x59d6d51a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xe860093e
and ecx, 0x179ff6c1
imul ecx, edx
mov edx, eax
and edx, 0x179ff6c0
or eax, 0x179ff6c1
imul eax, edx
add eax, ecx
cmp eax, 0x23379070
jae 0x14004116e
jmp 0x1400411a7
mov eax, dword [0x1402128f8]
or eax, dword [str._neu_]
mov ecx, 0xe9927c11
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0xbc639971
cmp eax, 0xf046450f
je 0x14004100f
mov eax, dword [0x140212900]
mov ecx, dword [0x140212904]
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 rax, rax, 0x2ec262b1
shr rax, 0x3c
add eax, 0xdfd1356e
mov ecx, 0x9c62d673
imul rcx, rax
shr rcx, 0x3f
movzx eax, byte [0x14022cb78]
cmp ecx, 0xd8ce359b
jne 0x140041018
movzx eax, byte [0x14022cb78]
jmp 0x140040fb8
xor eax, eax
test al, al
jne 0x140041064
mov eax, dword [0x140212908]
mov ebx, dword [0x14021290c]
mov ecx, eax
xor ecx, ebx
not ebx
and ebx, eax
add ebx, ebx
sub ebx, ecx
or ebx, 0xca131ef0
mov eax, ebx
xor eax, 0xb3b4fb05
xor ebx, 0xa74adacf
add ebx, eax
and eax, 0x6901c435
sub ebx, eax
xor ecx, ecx
mov rdx, rdi
call fcn.140107940
cmp ebx, 0x8c1b5a5f
jne 0x140041070
xor ecx, ecx
mov rdx, rdi
call fcn.140107940
jmp 0x14004101e
mov rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x140212910]
mov edx, dword [0x140212914]
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, 0x2b1cf962
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xf9d95b13
and edx, 0x626a4ec
imul edx, r8d
mov r8d, eax
and r8d, 0x626a4ec
or eax, 0x626a4ec
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0xb8acdcc0
and edx, eax
cmp edx, 0xa9f1b7a1
jae 0x140041080
jmp 0x140041230
mov eax, dword [0x140212918]
mov ecx, dword [0x14021291c]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
xor ecx, 0x756d0c5c
and ecx, eax
mov eax, ecx
xor eax, 0x6e7d9b50
or ecx, 0x918264af
and ecx, eax
mov eax, ecx
and eax, 0x688927ac
add eax, eax
neg eax
lea ebp, [rcx + rax]
add ebp, 0x688927ac
mov rcx, r14
xor edx, edx
mov r8, rbx
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp ebp, 0xf8d87ff7
jb 0x140041166
mov rcx, r14
xor edx, edx
mov r8, rbx
mov r9, rdi
call fcn.14014fa30
jmp 0x1400410fa
mov rcx, rax
jmp 0x140041230
mov eax, dword [0x14021292c]
add eax, dword [0x140212928]
not eax
and eax, 0x34f1d73a
mov ecx, eax
not ecx
xor eax, 0x12a53b03
add eax, ecx
and ecx, 0x12a53b03
sub eax, ecx
or eax, 0x30e6dd76
movzx ecx, byte [0x14022cb78]
cmp eax, 0x12bbf355
jae 0x1400411b0
movzx eax, byte [0x14022cb78]
jmp 0x14004116e
xor ecx, ecx
mov rdx, rdi
call fcn.140107940
mov rcx, rax
mov eax, 0x9a3ff117
nop word cs:[rax + rax]
mov edx, dword [0x140212930]
and edx, dword [0x140212934]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x1e3ee35a
and r8d, 0xe1c11ca5
imul r8d, r9d
mov r9d, edx
and r9d, 0xe1c11ca5
or edx, 0xe1c11ca5
imul edx, r9d
add edx, r8d
mov r8d, edx
not r8d
or r8d, 0xa7675885
add edx, r8d
inc edx
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x7190f5b0
ja 0x1400411d0
test rcx, rcx
je 0x1400412d2
mov eax, dword [0x14021293c]
add eax, dword [0x140212938]
or eax, 0xefd6cbff
xor eax, 0xc410d526
imul eax, eax, 0x8aefa494
cmp eax, 0xf70c4808
jbe 0x140041260
mov qword [rsi + 8], rcx
mov r8d, 0xe8ed9cbd
nop word cs:[rax + rax]
mov eax, dword [0x140212940]
xor edx, edx
div dword [0x140212944]
imul rax, r8
shr rax, 0x3a
and eax, 0xffffffe1
mov qword [rsi + 8], rcx
cmp eax, 0xfa94f0e5
ja 0x140041270
mov eax, 0xd9ce83ad
xor r15d, r15d
nop dword [rax]
mov ecx, dword [0x140212948]
mov edx, dword [str.e5t9]
not ecx
not edx
and edx, ecx
not edx
or edx, 0xb944d9bc
imul rdx, rax
shr rdx, 0x3e
add edx, 0x875ab475
cmp edx, 0xacec67db
ja 0x1400412a0
jmp 0x140041313
mov qword [rsi + 8], 1
nop word [rax + rax]
mov eax, dword [0x140212950]
mov ecx, dword [0x140212954]
mov edx, eax
or edx, ecx
not edx
not eax
not ecx
and ecx, eax
or ecx, edx
not ecx
imul eax, ecx, 0x108bf57a
add eax, 0xfaf1473c
or eax, 0x59c2425
cmp eax, 0xef565eca
ja 0x1400412e0
mov eax, 0x10
mov qword [rsi + rax], rdi
mov qword [rsi], r15
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret