Function at 0x140117e80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rdx
mov r15, rcx
lea r12, [rdx + 0x38]
nop word [rax + rax]
mov eax, dword [0x141597bf0]
xor eax, dword [0x141597bf4]
mov ecx, eax
xor ecx, 0x9e78713
and eax, 0x61878ec
add eax, eax
sub eax, ecx
or eax, 0x20010518
and eax, 0x2d29e5b9
cmp eax, 0xa4ffd56a
je 0x140117ea0
mov r13, qword [rsi + 0x28]
movzx ebp, byte [rsi + 0x30]
movzx eax, byte [0x1415acbd0]
mov eax, dword [0x141597bf8]
xor edx, edx
div dword [0x141597bfc]
cmp eax, 0x54820651
jne 0x140117efe
mov edx, 0x5f0
xor ecx, ecx
call fcn.1401ac910
mov edi, 0xb2fdbd31
nop word cs:[rax + rax]
mov eax, dword [0x141597c00]
xor edx, edx
div dword [0x141597c04]
mov r14d, eax
not eax
and eax, 0xecad5a51
mov ecx, r14d
and ecx, 0x1352a5ae
imul ecx, eax
mov eax, r14d
and eax, 0xecad5a51
or r14d, 0xecad5a51
imul r14d, eax
add r14d, ecx
imul r14, rdi
shr r14, 0x3f
add r14d, 0xaaa665d
mov edx, 0x5f0
xor ecx, ecx
call fcn.14020ae90
cmp r14d, 0xe82e2e85
ja 0x140117f10
mov rbx, rax
test rax, rax
je 0x140117f9a
mov eax, dword [0x141597c18]
xor edx, edx
div dword [0x141597c1c]
or eax, 0xcfefb1b3
and eax, 0xffeff9b3
cmp eax, 0xd6250968
jne 0x140118012
jmp 0x140118052
xor eax, eax
test al, al
jne 0x140117fe6
mov eax, dword [0x141597c08]
sub eax, dword [0x141597c0c]
or eax, 0x67588070
add eax, 0xf00dfc20
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xda265a94
and ecx, 0x25d9a56b
imul ecx, edx
mov edx, eax
and edx, 0x25c9a50b
or eax, 0x25d9a56b
imul eax, edx
add eax, ecx
ud2
ud2
mov eax, dword [0x141597c20]
sub eax, dword [0x141597c24]
mov ecx, eax
not ecx
and ecx, 0x6f5493d8
and eax, 0x90ab6c27
sub eax, ecx
or eax, 0x1ed43c35
imul edi, eax, 0xd66cd156
mov r8d, 0x5f0
mov rcx, rbx
xor edx, edx
call fcn.14021c2d0
cmp edi, 0x5affa14
jne 0x140118064
mov r8d, 0x5f0
mov rcx, rbx
xor edx, edx
call fcn.14021c2d0
jmp 0x140118012
mov byte [rsp + 0x27], bpl
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r15
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140118080
movabs r8, 0xe414a674f0de7325
movabs r10, 0xbc0985db58c45795
movabs r14, 0x9352097a68b6c4d9
movabs rdi, 0x7465646279746573
movabs rbp, 0x800000000000000
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x28], rax
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1401183d0
nop dword [rax + rax]
mov eax, dword [0x141597c28]
xor edx, edx
div dword [0x141597c2c]
add eax, 0x12e4ada6
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x1df387fd
and edx, 0xe20c7802
imul edx, r9d
mov r9d, eax
and r9d, 0xe20c7802
or eax, 0xe20c7802
imul eax, r9d
add eax, edx
not eax
or eax, 0x87ebdeb
mov r12d, 1
lock xadd qword [0x1415acb20], r12
cmp eax, 0xc40c5a93
je 0x1401183d0
mov r15, rdi
xor r15, rdi
not r15
and r15, r12
xor r15, rdi
movabs rax, 0x6c7967656e657261
add rax, r15
mov r13, r15
rol r13, 0x10
mov rdx, rax
and rdx, r13
add rdx, rdx
add r13, rax
sub r13, rdx
movabs rax, 0xa60c596fc19fead0
add r15, rax
movabs rax, 0xded7d4e2d7dedfc6
lea r9, [rax + r13]
mov r11, r15
and r11, r8
add r11, r11
lea rdx, [r15 + r8]
sub rdx, r11
rol r13, 0x15
rol r15, 0x20
mov r11, r13
and r11, r9
add r13, r9
not r9
mov rax, r9
and rax, r12
not rax
or r9, r12
and r9, rax
not r9
add r11, r11
sub r13, r11
mov r11, r13
xor r11, rbp
not r11
and r11, rbp
add r11, r11
mov rax, rbp
sub rax, r11
add rax, r13
add r9, rdx
mov r11, rax
and r11, r15
or r15, rax
add r15, r11
rol rdx, 0xd
mov r11, r9
not r11
and r11, rdx
not r11
not rdx
and rdx, r9
not rdx
and rdx, r11
not rdx
rol rax, 0x10
mov r12, rax
xor r12, r15
not r12
and r12, r15
add r12, r12
mov r11, r15
sub r11, r12
rol r9, 0x20
add r11, rax
add r15, rdx
mov rax, r11
and rax, r9
or r9, r11
add r9, rax
rol rdx, 0x11
xor rdx, r15
rol r11, 0x15
mov rax, r11
not rax
mov r12, r9
not r12
or r11, r12
or rax, r9
not r11
not rax
or rax, r11
rol r15, 0x20
xor r12, rbp
and r12, rbp
add r12, r12
mov r11, rbp
sub r11, r12
xor r15, 0xff
add r9, rdx
add r9, r11
mov r11, rax
sub r11, r14
add r15, r14
add r15, r11
rol rdx, 0xd
mov r11, r9
not r11
and r11, rdx
not r11
not rdx
and rdx, r9
not rdx
and rdx, r11
not rdx
rol rax, 0x10
mov r13, r15
xor r13, r15
not r13
and r13, rax
xor r13, r15
rol r9, 0x20
add r15, rdx
add r9, r13
rol rdx, 0x11
rol r13, 0x15
xor rdx, r15
xor r13, r9
rol r15, 0x20
add r9, rdx
add r15, r13
rol rdx, 0xd
mov rax, rdx
xor rax, r9
not rax
and rax, r9
add rax, rax
mov r11, r9
sub r11, rax
add r11, rdx
rol r13, 0x10
mov rax, r13
and rax, r15
add rax, rax
add r13, r15
rol r9, 0x20
sub r13, rax
add r15, r11
mov rax, r13
sub rax, r10
add r9, r10
add r9, rax
rol r11, 0x11
xor r11, r15
rol r13, 0x15
xor r13, r9
rol r15, 0x20
mov rax, r11
and rax, r9
or r9, r11
add r9, rax
rol r11, 0xd
add r15, r13
mov r12, r9
xor r12, r9
not r12
and r12, r11
xor r12, r9
rol r13, 0x10
xor r13, r15
add r15, r12
rol r12, 0x11
nop dword [rax]
mov eax, dword [str.__d_]
xor edx, edx
div dword [0x141597c34]
mov edx, eax
and edx, 0xf9c42160
and eax, 0x20c00000
xor edx, 0x26d99800
or edx, eax
shr edx, 3
imul rax, rdx, 0x1340d609
shr rax, 0x39
cmp eax, 0x6ee42afb
ja 0x140118370
rol r13, 0x15
mov rax, r15
rol rax, 0x20
mov rdx, r12
xor rdx, r12
not rdx
and rdx, r13
xor rax, r12
xor rax, rdx
xor rax, r15
je 0x1401180d0
jmp 0x1401183dd
lock inc qword [0x1415acb20]
jmp 0x1401180e0
mov rcx, qword [rsi + 0x58]
mov rdx, qword [rsp + 0x38]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
mov rdx, qword [rsp + 0x40]
movups xmmword [rdx + 0x128], xmm1
movups xmmword [rdx + 0x118], xmm0
mov r8, qword [rsp + 0x30]
mov qword [rdx + 0x138], r8
movzx r8d, byte [rsp + 0x27]
mov byte [rdx + 0x140], r8b
mov qword [rdx], 0
mov qword [rdx + 8], rbx
mov qword [rdx + 0x80], 0
mov qword [rdx + 0x88], rbx
mov r8, qword [rsp + 0x28]
mov qword [rdx + 0x100], r8
mov qword [rdx + 0x108], rax
mov qword [rdx + 0x110], rcx
mov rax, qword [rsi + 0x10]
test rax, rax
js 0x140118460
jne 0x140118473
jmp 0x14011853c
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14011853c
mov eax, dword [0x141597c38]
xor edx, edx
div dword [0x141597c3c]
nop word cs:[rax + rax]
mov eax, dword [0x141597c40]
xor edx, edx
div dword [0x141597c44]
mov ecx, eax
not ecx
or ecx, 0xc9e878cf
add eax, ecx
add eax, 0xf642b49
and eax, 0xa686383e
cmp eax, 0x50c53316
je 0x140118490
xor eax, eax
test al, al
jne 0x1401184fa
mov edi, dword [0x141597c48]
and edi, dword [0x141597c4c]
or edi, 0x30b7e4d1
add edi, 0x4f3bd70e
or edi, 0x2468acd6
mov r8, qword [rsi + 0x18]
mov rcx, qword [0x1415acb98]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp edi, 0x924aa96e
jae 0x140118510
mov r8, qword [rsi + 0x18]
mov rcx, qword [0x1415acb98]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401184c1
mov eax, dword [0x141597c50]
xor edx, edx
div dword [0x141597c54]
mov ecx, eax
xor ecx, 0x804529ee
and ecx, eax
xor ecx, 0xb8d47633
add ecx, 0xa0a7c1be
cmp ecx, 0xaf733d33
ja 0x140118510
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret