Function at 0x140107af0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, qword [rcx]
mov rsi, qword [rdi + 0x80]
and rsi, 0xfffffffffffffff8
mov eax, 0xae1d03e5
nop dword [rax]
mov ecx, dword [str.KLw]
imul ecx, dword [0x14022572c]
and ecx, 0xfefc33bd
imul rcx, rax
shr rcx, 0x37
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x73
and edx, 0xa39a638c
imul edx, r8d
mov r8d, ecx
and r8d, 0xffffff8c
or ecx, 0xa39a638c
imul ecx, r8d
add ecx, edx
cmp ecx, 0x2257cdfc
jb 0x140107b10
cmp qword [rsi + 8], 0
je 0x140107bd2
mov eax, 0x8b38e983
nop word [rax + rax]
mov ecx, dword [0x140225730]
or ecx, dword [0x140225734]
shr ecx, 1
imul rcx, rax
shr rcx, 0x3c
mov edx, ecx
not edx
lea r8d, [rcx - 0x39f09868]
mov r9d, r8d
and r9d, 0x208658b
and edx, 0x9600044
imul edx, r9d
and r8d, 0xc4070214
or ecx, 0xcf6f67dc
imul ecx, r8d
add ecx, edx
cmp ecx, 0x50e6a1b1
je 0x140107b70
mov r8, qword [rsi]
mov rcx, qword [0x14022cb48]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x140225738]
sub eax, dword [0x14022573c]
not eax
or eax, 0x49ec3ed
and eax, 0x24bff3ef
cmp eax, 0x6be6419b
je 0x140107c4c
mov eax, dword [0x140225740]
mov ecx, dword [0x140225744]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
not edx
not eax
or eax, edx
mov ecx, eax
xor ecx, 0x2efa6b42
or eax, 0xd10594bd
and eax, ecx
mov ecx, eax
xor ecx, 0xfad610b0
and eax, 0x529ef4f
add eax, eax
sub eax, ecx
imul ebx, eax, 0x4577e8e5
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rsi
call fcn.14014eed0
cmp ebx, 0xf79f2e54
jbe 0x140107c60
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140107bf1
cmp rdi, 0xffffffffffffffff
je 0x140107f80
mov eax, dword [0x140225748]
add eax, dword [0x14022574c]
mov ecx, 0xdcd332f9
imul rcx, rax
shr rcx, 0x3e
and ecx, 0xfffffffe
cmp ecx, 0xea56ab89
jbe 0x140107ca0
lock dec qword [rdi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x140225750]
mov ecx, dword [0x140225754]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4c376023
and ecx, 0xb3c89fdc
imul ecx, edx
mov edx, eax
and edx, 0xb3c89fdc
or eax, 0xb3c89fdc
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x2d5f2a3c
add ecx, ecx
sub eax, ecx
add eax, 0xad5f2a3d
imul rax, rax, 0x156aec31
shr rax, 0x3b
mov rcx, 0xffffffffffffffff
lock xadd qword [rdi + 8], rcx
cmp eax, 0xecae1d88
ja 0x140107ca0
nop dword [rax]
mov eax, dword [0x140225758]
mov edx, dword [0x14022575c]
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
mov edx, eax
xor edx, 0x669c8ee5
and edx, eax
mov eax, edx
not eax
and eax, 0x45c2e5a9
mov r8d, edx
and r8d, 0x3a3d1a56
imul r8d, eax
mov eax, edx
and eax, 0x45c2e5a9
or edx, 0x45c2e5a9
imul edx, eax
add edx, r8d
not edx
and edx, 0x7e3bc520
cmp edx, 0x5295afed
ja 0x140107d10
nop word cs:[rax + rax]
mov eax, dword [0x140225760]
xor edx, edx
div dword [str.W.0]
mov edx, 0x1d8c7242
sub edx, eax
add eax, 0xe2738dbd
not edx
or eax, 0xfb6feabb
or edx, 0xfb6feabb
and edx, eax
cmp edx, 0x80813069
jb 0x140107d90
cmp rcx, 1
jne 0x140107f80
mov eax, dword [0x140225768]
or eax, dword [0x14022576c]
imul rcx, rax, 0x25ac5547
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xa8a906a0
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xbbfb1b80
and ecx, 0x4404e477
imul ecx, edx
mov edx, eax
and edx, 0x4404e460
or eax, 0x4404e477
imul eax, edx
add eax, ecx
cmp eax, 0xe70f1c5a
jbe 0x140107e20
nop
mov eax, dword [0x140225770]
mov ecx, dword [0x140225774]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
add eax, 0x1ea17e29
shr eax, 6
imul rax, rax, 0x14c3bb5
shr rax, 0x30
add eax, 0x4a86cbd7
cmp eax, 0x528d13f9
ja 0x140107e20
mov eax, dword [0x140225778]
mov ecx, dword [0x14022577c]
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
not eax
and eax, 0xb8387b57
mov ecx, eax
or ecx, 0x2acc7789
sub ecx, eax
add ecx, 0x61dcda25
cmp ecx, 0xd8022b65
jbe 0x140107eb2
mov r8, qword [rdi - 8]
mov rcx, qword [0x14022cb48]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, 0x9b12ce53
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r14d, dword [0x140225780]
mov eax, dword [0x140225784]
mov ecx, r14d
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, r14d
imul edx, ecx
mov ecx, r14d
and ecx, eax
or r14d, eax
imul r14d, ecx
add r14d, edx
mov eax, r14d
not eax
and eax, 0xe85918b9
mov ecx, r14d
and ecx, 0x17a6e746
imul ecx, eax
mov eax, r14d
and eax, 0xe85918b9
or r14d, 0xe85918b9
imul r14d, eax
add r14d, ecx
imul r14, rsi
shr r14, 0x3f
or r14d, 0x464f6b1a
mov r8, qword [rdi - 8]
mov rcx, qword [0x14022cb48]
xor edx, edx
call rbx
cmp r14d, 0x6aa451ae
je 0x140107ec0
mov eax, 0xdb14befb
nop word cs:[rax + rax]
mov ecx, dword [0x140225788]
sub ecx, dword [0x14022578c]
or ecx, 0x92aceddd
add ecx, 0x3fb20643
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x9650445c
ja 0x140107f50
nop dword [rax + rax]
mov eax, dword [0x140225790]
imul eax, dword [0x140225794]
mov ecx, eax
or ecx, 0x53bb007d
not eax
or eax, 0x2c44ff82
and eax, ecx
not eax
add eax, 0x1abb2657
or eax, 0xba160c12
cmp eax, 0x344a328
jb 0x140107f80
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret