Function at 0x1400f32a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rcx, qword [rdx + 0x40]
mov rdi, rdx
nop word [rax + rax]
mov eax, dword [0x1402239d0]
add eax, dword [0x1402239d4]
imul eax, eax, 0xe938493a
xor eax, 0xfb84512
add eax, 0x158eee0a
cmp eax, 0x5b71d309
jb 0x1400f32c0
nop word cs:[rax + rax]
mov eax, dword [0x1402239d8]
xor edx, edx
div dword [0x1402239dc]
add eax, 0xef787392
imul rax, rax, 0xa48c263
shr rax, 0x38
imul eax, eax, 0xa374fdba
cmp eax, 0x79e0db32
jb 0x1400f32f0
test rcx, rcx
je 0x1400f3569
mov eax, dword [0x1402239f8]
and eax, dword [0x1402239fc]
or eax, 0x7242a74e
lea edx, [rax + 0x4485da92]
not edx
or edx, 0xbc8005a8
add eax, edx
add eax, 0x4485da93
cmp eax, 0xf3604770
jbe 0x1400f336b
movabs rax, 0x5c79cf8a5cabe382
mov rdx, rax
not rdx
add rdx, rcx
add rdx, rax
mov qword [rdi + 0x40], rdx
dec rcx
nop
mov eax, dword [0x140223a00]
sub eax, dword [0x140223a04]
mov edx, eax
xor edx, 0xee0ed858
and eax, 0x11f127a7
add eax, eax
sub eax, edx
mov edx, eax
not edx
and edx, 0x8e3b0e32
and eax, 0x71c4f1cd
sub eax, edx
mov qword [rdi + 0x40], rcx
cmp eax, 0xec800a49
je 0x1400f3370
mov rcx, qword [rdi]
nop dword [rax]
mov eax, dword [0x140223a08]
xor edx, edx
div dword [0x140223a0c]
add eax, 0x2d253642
xor eax, 0x67848e30
cmp eax, 0xb763a1f
jb 0x1400f33b0
test rcx, rcx
je 0x1400f3fc7
lea rcx, [rdi + 0x10]
nop dword [rax]
mov eax, dword [0x140223a10]
xor edx, edx
div dword [0x140223a14]
mov edx, eax
not edx
and edx, 0x7d0fd01
mov r8d, eax
and r8d, 0x2f02fe
imul r8d, edx
mov edx, eax
and edx, 0x7d0fd01
or eax, 0x7d0fd01
imul eax, edx
add eax, r8d
or eax, 0xf9fff69a
cmp eax, 0xb5ef1d8b
jb 0x1400f33e0
mov rbx, qword [rdi + 8]
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400f3430
mov r15, qword [rdi + 0x18]
test rbx, rbx
je 0x1400f3460
mov r12, qword [rcx]
movzx eax, word [rbx + 0x3d2]
cmp r15, rax
jae 0x1400f3a20
jmp 0x1400f3a15
mov eax, dword [0x140223a18]
mov edx, dword [0x140223a1c]
mov r8d, eax
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, eax
imul r9d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r9d
add eax, 0x8378bce0
mov edx, eax
xor edx, 0x4e0e8
and edx, 0x538de4fc
xor eax, 0x4501b03
and eax, 0xac721b03
or eax, edx
cmp eax, 0xc0877860
je 0x1400f3460
mov rbx, qword [rcx]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400f34c0
test r15, r15
je 0x1400f37b9
xor eax, eax
nop
test al, al
jne 0x1400f34d0
mov edx, r15d
and edx, 7
nop word [rax + rax]
mov eax, dword [0x140223a24]
xor eax, dword [0x140223a20]
add eax, 0x98261742
or eax, 0xc4dfa85b
imul rax, rax, 0x5594668d
shr rax, 0x3d
cmp eax, 0x45cca80b
ja 0x1400f34e0
test rdx, rdx
je 0x1400f390d
mov r8, 0xffffffffffffffff
xor r9d, r9d
mov rax, r15
nop
mov r10d, dword [0x140223a28]
mov r11d, dword [0x140223a2c]
add r10d, r11d
add r10d, 0xc4b31d07
xor r10d, 0x9468fc73
add r10d, 0x8b5ef14
cmp r10d, 0x9e0a451b
jb 0x1400f3520
inc r9
mov rbx, qword [rbx + 0x3d8]
dec r8
dec rax
cmp rdx, r9
jne 0x1400f3520
jmp 0x1400f3910
mov r8, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 0x18]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f37a4
nop word cs:[rax + rax]
mov eax, dword [0x1402239e0]
xor edx, edx
div dword [0x1402239e4]
mov edx, eax
not edx
and edx, 0x4d735b17
mov r10d, eax
and r10d, 0xb28ca4e8
imul r10d, edx
mov edx, eax
and edx, 0x4d735b17
or eax, 0x4d735b17
imul eax, edx
add eax, r10d
add eax, 0xac771ded
mov edx, eax
not edx
and edx, 0xd16a6d91
mov r10d, eax
and r10d, 0x2e95926e
imul r10d, edx
mov edx, eax
and edx, 0xd16a6d91
or eax, 0xd16a6d91
imul eax, edx
add eax, r10d
cmp eax, 0x990020ed
je 0x1400f3590
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400f3610
test r8, r8
je 0x1400f3692
nop dword [rax]
mov eax, dword [0x140223a60]
sub eax, dword [0x140223a64]
mov ecx, eax
xor ecx, 0x31113004
and ecx, 0x75d5318d
xor eax, 0xcee609bb
lea eax, [rax + rcx*2]
imul eax, eax, 0x1e7cbe5e
cmp eax, 0x60d3f38a
je 0x1400f3620
mov rax, qword [r8 + 0x160]
test rax, rax
je 0x1400f3714
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov rdi, rax
mov rcx, qword [0x14022cb48]
xor edx, edx
call rbx
mov rax, qword [rdi + 0x160]
mov r8, rdi
test rax, rax
jne 0x1400f3670
jmp 0x1400f3717
test r9, r9
je 0x1400f3ec2
mov rdx, r9
and rdx, 7
je 0x1400f3eca
neg rdx
mov r8, 0xffffffffffffffff
xor eax, eax
mov r10, r9
xor r11d, r11d
nop word [rax + rax]
mov edi, dword [0x1402239e8]
imul edi, dword [0x1402239ec]
mov ebx, edi
xor ebx, 0xd6ea4c31
add ebx, edi
and edi, 0x2915b3ce
sub ebx, edi
cmp ebx, 0xc6371641
je 0x1400f36c0
dec r10
mov rcx, qword [rcx + 0x3d8]
dec rax
inc r8
inc r11
cmp rdx, rax
jne 0x1400f36c0
add rax, r9
mov r8, rcx
cmp r9, 8
jb 0x1400f3620
jmp 0x1400f3eda
mov rdi, r8
mov eax, dword [0x140223a68]
add eax, dword [0x140223a6c]
mov ecx, eax
not ecx
or ecx, 0x821e724a
add eax, ecx
inc eax
xor eax, 0x48958100
or eax, 0x274a7adf
cmp eax, 0xe7c39ce9
jbe 0x1400f3754
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov ebp, dword [0x140223a70]
mov eax, dword [0x140223a74]
mov ecx, ebp
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, ebp
imul edx, ecx
mov ecx, ebp
and ecx, eax
or ebp, eax
imul ebp, ecx
add ebp, edx
not ebp
and ebp, 0x190140a0
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rdi
call rbx
cmp ebp, 0x70cd104b
ja 0x1400f3760
mov qword [rsi], 0
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400f37b0
jmp 0x1400f3eb1
mov eax, dword [0x140223a38]
xor eax, dword [str.MNqthgHA]
mov edx, eax
not edx
and edx, 0x123b0773
mov r8d, eax
and r8d, 0xedc4f88c
imul r8d, edx
mov edx, eax
and edx, 0x123b0773
or eax, 0x123b0773
cmp edx, dword [rdx]
mov rax, r15
mov edx, 0xa6bad085
nop word cs:[rax + rax]
mov r8, rcx
jmp 0x1400f3620
mov rax, r9
mov r8, rcx
cmp r9, 8
jb 0x1400f3620
mov rdx, rax
not rdx
mov r8, rcx
nop word cs:[rax + rax]
mov ecx, dword [0x1402239f0]
mov r9d, dword [0x1402239f4]
add byte [rcx - 0x77], al
retf 0xf741
rol byte [rbp - 0x77], cl
retf
not r11d
mov edi, r10d
and edi, 0x13121016
and ecx, 0x68e04e41
or ecx, edi
or r10d, r11d
and r11d, 0x13121016
and r9d, 0x68e04e41
or r9d, r11d
xor r9d, ecx
not r10d
or r10d, r9d
xor r10d, 0x50821a01
or r10d, 0x840da1a8
cmp r10d, 0xaac46e08
je 0x1400f3ef0
add rax, 0xfffffffffffffff8
mov rcx, qword [r8 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r8, qword [rcx + 0x3d8]
add rdx, 8
test rax, rax
jne 0x1400f3ef0
jmp 0x1400f3620
mov eax, dword [0x140223a78]