Function at 0x140097400
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp - 0x20], rcx
mov eax, dword [0x141f3d2f8]
sub eax, dword [0x141f3d2fc]
and eax, 0x436b0df9
add eax, 0x9f00e1f
and eax, 0x45400bfd
cmp eax, 0x9ffef845
ja 0x140097491
mov eax, dword [0x141f3d300]
sub eax, dword [0x141f3d304]
imul ecx, eax, 0x1ab8a55d
xor ecx, 0x20120584
and ecx, 0x307b17a4
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdx, rsp
mov eax, 0x400
call fcn.1400f4d10
sub rsp, rax
mov r8, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
cmp ecx, 0x899f5127
jbe 0x1400974ba
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x400
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x14009743b
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x10], rax
mov qword [rdx], 0
mov qword [rdx + 8], 2
mov qword [rbp - 0x18], rdx
mov qword [rdx + 0x10], 0
mov r12d, 0x200
mov eax, 2
mov qword [rbp], rax
mov ebx, 0x904b1397
xor eax, eax
mov qword [rbp - 8], rax
xor edi, edi
xor r15d, r15d
nop dword [rax]
cmp r12, 0x201
jae 0x140097520
mov r14d, 0x200
mov r13, qword [rbp - 0x28]
jmp 0x140097574
mov eax, dword [0x141f3d308]
and eax, dword [0x141f3d30c]
add eax, 0xc9f0fdea
and eax, 0x44084a0
cmp eax, 0xf132e035
ja 0x140097520
sub r12, r15
sub rdi, r15
cmp r12, rdi
ja 0x1400976a6
mov rdi, qword [rbp - 8]
mov eax, 0xffffffff
cmp rdi, rax
mov r15d, 0xffffffff
cmovb r15, rdi
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x10], r15
mov r14, r15
mov r13, qword [rbp]
mov r12, r15
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
add rsp, 0x20
mov rax, qword [0x141f2c010]
sub rsp, 0x20
mov ecx, r12d
mov rdx, r13
call rax
add rsp, 0x20
mov esi, eax
test eax, eax
jne 0x1400975b7
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
test eax, eax
jne 0x140097864
mov esi, esi
nop dword [rax]
mov eax, dword [0x141f3d348]
or eax, dword [0x141f3d34c]
add eax, 0xcb721b75
cmp eax, 0x186fbf18
jb 0x1400975c0
cmp r12, rsi
jne 0x140097640
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop dword [rax + rax]
mov ecx, dword [0x141f3d350]
sub ecx, dword [0x141f3d354]
or ecx, 0xa2436b1f
imul ecx, ecx, 0x68b4d00f
cmp ecx, 0x9c8c1d9c
je 0x1400975f0
cmp eax, 0x7a
jne 0x140097ae5
xor eax, eax
test al, al
jne 0x140097619
cmp r12, 0x7fffffff
lea r12, [r12 + r12]
mov eax, 0xffffffff
cmova r12, rax
jmp 0x140097680
mov eax, dword [0x141f3d358]
imul eax, dword [0x141f3d35c]
add eax, 0xe99ef229
shr eax, 2
imul rax, rax, 0x48fdc77b
shr rax, 0x3c
or eax, 0xf0c38204
cmp eax, 0x4e927e6
jb 0x140097640
cmp r12, rsi
jae 0x140097702
mov r12, rsi
nop dword [rax + rax]
mov eax, dword [str._3_pJ]
sub eax, dword [0x141f3d364]
imul rax, rbx
shr rax, 0x3e
imul eax, eax, 0xc571381c
cmp eax, 0xfcfea412
je 0x140097680
jmp 0x140097500
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rsi, qword [rbp - 0x18]
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.1401035b0
add rsp, 0x30
nop
mov eax, dword [0x141f3d310]
xor eax, dword [0x141f3d314]
imul eax, eax, 0x6d9a1fea
add eax, 0xdd4733ea
cmp eax, 0x58c11107
jb 0x1400976d0
mov rax, qword [rsi]
mov qword [rbp - 8], rax
mov rax, qword [rsi + 8]
mov qword [rbp], rax
jmp 0x14009754c
cmp r14, rsi
jb 0x1400978c7
mov eax, dword [0x141f3d368]
sub eax, dword [0x141f3d36c]
add eax, 0x49910aa3
or eax, 0x64ef8a84
xor eax, 0x6e770db3
cmp eax, 0xe99581ce
mov rbx, qword [rbp]
mov r14, qword [rbp - 0x10]
jbe 0x140097750
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
mov r8, rsi
call fcn.1400918d0
add rsp, 0x20
nop dword [rax + rax]
mov edi, dword [0x141f3d370]
or edi, dword [0x141f3d374]
or edi, 0xade7757f
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
mov r8, rsi
call fcn.1400918d0
add rsp, 0x20
cmp edi, 0x4588a9d7
je 0x140097750
mov eax, dword [0x141f3d378]
and eax, dword [0x141f3d37c]
add eax, 0x7ae99b3e
imul rax, rax, 0x7a445beb
shr rax, 0x3e
cmp eax, 0xe5f21aef
ja 0x140097780
cmp qword [rbp - 8], 0
je 0x1400977d0
mov rcx, qword [0x141f49060]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141f3d398]
imul eax, dword [0x141f3d39c]
or eax, 0x53f28209
xor eax, 0x829355f3
add eax, 0x1ac333c
cmp eax, 0x19b00853
jb 0x1400977d0
movabs rax, 0x8000000000000000
cmp qword [r14], rax
je 0x140097a73
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
mov rax, qword [rbp - 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
xor eax, eax
nop dword [rax]
test al, al
jne 0x140097820
nop word cs:[rax + rax]
mov eax, dword [0x141f3d3b8]
and eax, dword [0x141f3d3bc]
imul eax, eax, 0x41256e7d
add eax, 0x39d63c58
or eax, 0x3f525fe3
cmp eax, 0xd6b86dc2
ja 0x140097830
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp - 0x10]
mov qword [rcx + 8], rax
movabs rax, 0x8000000000000000
mov qword [rcx], rax
cmp qword [rbp - 8], 0
je 0x140097a40
mov eax, dword [0x141f3d318]
sub eax, dword [0x141f3d31c]
imul eax, eax, 0x1dac9d4c
imul rax, rax, 0x41a18415
shr rax, 0x3e
cmp eax, 0xd5dd9d54
jbe 0x140097959
jmp 0x140097966
mov eax, dword [0x141f3d380]
xor eax, dword [0x141f3d384]
imul rcx, rax, 0xaa0cb49
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
add eax, 0xe206828b
and eax, 0x62068003
cmp eax, 0xf3dff29d
jbe 0x140097900
ud2
mov eax, dword [0x141f3d388]
add eax, dword [0x141f3d38c]
imul eax, eax, 0xde10a593
add eax, 0xc9df5b45
and eax, 0x19c46b55
ud2
mov rsi, qword [0x141f49060]
xor eax, eax
test al, al
je 0x14009796f
mov rax, qword [0x141f49060]
jmp 0x140097959
mov eax, dword [0x141f3d320]
and eax, dword [0x141f3d324]
mov ecx, 0xf0ffe43d
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xfb85d0a3
mov eax, 0xb2b6a225
imul rax, rcx
shr rax, 0x3f
cmp eax, 0x3c0f4f57
jbe 0x1400979b9
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, qword [rbp]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141f3d328]
xor edx, edx
div dword [0x141f3d32c]
mov ebx, eax
and ebx, 0x28e90c2
add ebx, 0x5c440cc9
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call rdi
add rsp, 0x20
cmp ebx, 0x76c5cd36
ja 0x1400979d0
nop word cs:[rax + rax]
mov eax, dword [0x141f3d330]
or eax, dword [0x141f3d334]
imul eax, eax, 0x4e757426
add eax, 0x69e52430
and eax, 0xc507c982
cmp eax, 0xd6efa745
ja 0x140097a10
nop word cs:[rax + rax]
mov eax, dword [0x141f3d338]
add eax, dword [0x141f3d33c]
cmp eax, 0x39a6797f
je 0x140097a40
nop word cs:[rax + rax]
mov eax, dword [0x141f3d340]
add eax, dword [0x141f3d344]
cmp eax, 0xe05adbd4
je 0x140097a60
mov eax, dword [0x141f3d3a0]
and eax, dword [0x141f3d3a4]
add eax, 0xaef1fca0
and eax, 0xba072183
add eax, 0x9e037ee3
cmp eax, 0x8e59d76f
jbe 0x140097aa0
ud2
mov eax, dword [0x141f3d3a8]
add eax, dword [0x141f3d3ac]
ud2
ud2