Function at 0x1400381c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc4c18]
xor edx, edx
div dword [0x141dc4c1c]
or eax, 0x5706595d
add eax, 0xeb797718
cmp eax, 0xd6e38a98
ja 0x1400381e0
mov rax, qword [r8 + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc4c20]
sub ecx, dword [0x141dc4c24]
imul ecx, ecx, 0x19f5401e
and ecx, 0xfdd71b06
imul ecx, ecx, 0xdcb5a899
cmp ecx, 0x38d09e1
jb 0x140038210
test rax, rax
je 0x1400382f6
nop
mov eax, dword [str.4Kx_a]
add eax, dword [0x141dc4c2c]
and eax, 0xc9b335b1
imul eax, eax, 0x4901d0bf
add eax, 0x8677fa9b
cmp eax, 0x3be7cf0
jb 0x140038240
mov rbx, qword [r8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4c30]
xor eax, dword [0x141dc4c34]
imul rax, rax, 0x6dd9c7af
shr rax, 0x3c
imul eax, eax, 0x5332c00f
add eax, 0x15fa407a
cmp eax, 0x6890818
jb 0x140038270
mov rax, qword [r8 + 0x10]
nop dword [rax]
mov ecx, dword [0x141dc4c38]
and ecx, dword [0x141dc4c3c]
add ecx, 0x69378341
or ecx, 0x8ed5920d
cmp ecx, 0xb18035ad
jb 0x1400382a0
test rax, rax
je 0x140038390
mov r14, qword [0x141ddb260]
mov eax, dword [0x141dc4c50]
or eax, dword [0x141dc4c54]
add eax, 0x695b56f5
and eax, 0x4d167c26
cmp eax, 0x7b8e0448
jbe 0x1400383e9
jmp 0x140038427
mov eax, dword [0x141dc4c60]
or eax, dword [0x141dc4c64]
or eax, 0x13801000
and eax, 0x13819000
cmp eax, 0x19a1743d
jne 0x14003831a
movzx eax, byte [0x141ddb278]
mov eax, 0x8537f211
nop
mov ecx, dword [0x141dc4c68]
add ecx, dword [0x141dc4c6c]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0xfe8f1a41
and ecx, 0x48860242
movzx edx, byte [0x141ddb278]
cmp ecx, 0xd6f2cae4
ja 0x140038320
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0180
nop dword [rax]
mov ecx, dword [0x141dc4c70]
sub ecx, dword [0x141dc4c74]
imul rdx, rcx, 0x3144e1e7
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1a
and ecx, 0xfffffff7
cmp ecx, 0xfb708d8f
ja 0x140038360
jmp 0x14003843a
movzx eax, byte [0x141ddb278]
mov eax, dword [0x141dc4c40]
add eax, dword [0x141dc4c44]
cmp eax, 0x873cc77d
je 0x1400383dd
mov eax, dword [0x141dc4c48]
sub eax, dword [0x141dc4c4c]
or eax, 0xdeaaa725
add eax, 0x38531b46
imul rbx, rax, 0x1bbc603f
shr rbx, 0x39
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0180
cmp ebx, 0x1148064
jne 0x14003843a
xor ecx, ecx
mov rdx, rsi
call fcn.1400c0180
jmp 0x1400383aa
mov eax, dword [0x141dc4c58]
and eax, dword [0x141dc4c5c]
imul eax, eax, 0xe6589e02
imul r15, rax, 0x55082297
shr r15, 0x3d
or r15d, 0xe5c77c16
mov rcx, r14
xor edx, edx
mov r8, rbx
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp r15d, 0x6744ed18
jae 0x14003843a
mov rcx, r14
xor edx, edx
mov r8, rbx
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x1400383e9
mov ecx, dword [0x141dc4c78]
xor ecx, dword [0x141dc4c7c]
xor ecx, 0x80061150
or ecx, 0x5af1aea0
shr ecx, 3
imul rcx, rcx, 0x21993a1d
shr rcx, 0x38
cmp ecx, 0x256774b0
je 0x1400384a1
mov ecx, dword [0x141dc4c80]
mov edx, dword [0x141dc4c84]
add ecx, edx
add ecx, 0x3a05e985
xor edx, edx
test rax, rax
sete dl
mov r8d, 1
cmovne r8, rax
mov qword [rdi + 8], r8
mov qword [rdi + 0x10], rsi
mov qword [rdi], rdx
cmp ecx, 0x50a2c284
jbe 0x1400384bf
xor ecx, ecx
test rax, rax
mov edx, 1
cmovne rdx, rax
sete cl
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rsi
mov qword [rdi], rcx
jmp 0x140038468
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret