Function at 0x140088250
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov eax, dword [0x141dd1338]
xor edx, edx
div dword [0x141dd133c]
imul eax, eax, 0x65c25283
add eax, 0x3163b110
imul rax, rax, 0x53afd2fb
shr rax, 0x3e
cmp eax, 0x34bc8487
ja 0x1400882c5
mov eax, dword [0x141dd1340]
xor edx, edx
div dword [0x141dd1344]
mov edx, eax
and edx, 0xad9dd1
add edx, 0x84c026d1
or edx, 0xe248ecda
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov rsi, rsp
cmp edx, 0xcf23a944
jae 0x1400882d4
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
jmp 0x14008828b
mov rax, qword [rcx]
mov ecx, dword [0x141dd1348]
sub ecx, dword [0x141dd134c]
imul ecx, ecx, 0xc6d1cd03
or ecx, 0xa88a387f
and ecx, 0xb8bf787f
cmp ecx, 0xecd9c389
ja 0x140088317
mov edx, dword [0x141dd1350]
sub edx, dword [0x141dd1354]
movzx ecx, byte [rax]
mov byte [rax], 0
cmp edx, 0x84ec91c0
jne 0x14008831c
mov byte [rax], 0
jmp 0x1400882fd
test cl, cl
je 0x140088552
mov byte [rsi], 0
mov eax, dword [0x141dde698]
nop dword [rax]
mov ecx, dword [str.a__6_lg]
sub ecx, dword [0x141dd136c]
add ecx, 0x3941ce32
xor ecx, 0xf54e5c7c
cmp ecx, 0xec5f158
jb 0x140088330
cmp eax, 3
jne 0x14008851c
nop dword [rax]
mov eax, dword [0x141dd1370]
or eax, dword [0x141dd1374]
xor eax, 0x8f5bc511
add eax, 0x774fdbd1
and eax, 0xea68f679
cmp eax, 0xb57fb9ae
jb 0x140088360
cmp byte [rsi], 0
je 0x1400883d0
nop word [rax + rax]
mov eax, dword [0x141dd1378]
and eax, dword [0x141dd137c]
add eax, 0x480509db
cmp eax, 0x146a2204
jb 0x1400883d0
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x88]
nop word cs:[rax + rax]
mov eax, dword [0x141dd1380]
xor edx, edx
div dword [0x141dd1384]
cmp eax, 0x88b7df00
je 0x140088410
nop word cs:[rax + rax]
mov eax, dword [0x141dd1388]
xor edx, edx
div dword [0x141dd138c]
or eax, 0x8f3cf370
add eax, 0x48bc9b22
or eax, 0x44a57dfb
cmp eax, 0xeffaf6ed
je 0x140088430
test rdi, rdi
jne 0x140088830
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
nop word [rax + rax]
mov ecx, dword [0x141dd1390]
sub ecx, dword [0x141dd1394]
and ecx, 0xe5377d71
imul rcx, rcx, 0x1a2a6b9b
shr rcx, 0x3a
and ecx, 0xfffffffe
cmp ecx, 0x88ab3034
ja 0x140088480
xor ecx, ecx
nop word [rax + rax]
test cl, cl
jne 0x1400884b0
test rax, rax
jne 0x1400884da
mov eax, dword [0x141dd13a0]
and eax, dword [0x141dd13a4]
add eax, 0xd1cf3b40
cmp eax, 0x6df50b5c
jae 0x1400885a6
jmp 0x1400885df
cmp eax, 1
je 0x140088614
cmp eax, 2
jne 0x140088531
sub rsp, 0x20
mov rcx, rsi
call fcn.1400fd13f
add rsp, 0x20
jmp 0x140088360
mov eax, dword [0x141dd1398]
xor edx, edx
div dword [0x141dd139c]
or eax, 0x68ec9180
add eax, 0xdfac01b3
cmp eax, 0x1c77b980
jb 0x140088531
jmp 0x1400885a4
mov eax, dword [0x141dd1358]
imul eax, dword [0x141dd135c]
xor eax, 0xb3381ce0
mov ecx, 0xc634e34b
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x20dc2756
jbe 0x14008857b
ud2
mov eax, 0xaf667aef
mov ecx, dword [0x141dd1360]
and ecx, dword [0x141dd1364]
or ecx, 0x8c41e105
imul rcx, rax
shr rcx, 0x3f
ud2
mov eax, dword [0x141dd13a8]
xor edx, edx
div dword [0x141dd13ac]
add eax, 0x3b56ff99
imul rax, rax, 0x5b723391
shr rax, 0x3d
imul esi, eax, 0xaf0c538d
sub rsp, 0x20
call fcn.1400fd330
add rsp, 0x20
cmp esi, 0xe4f2ab00
jbe 0x1400885f0
sub rsp, 0x20
call fcn.1400fd330
add rsp, 0x20
jmp 0x1400885a6
mov eax, dword [0x141dd13b0]
xor edx, edx
div dword [0x141dd13b4]
xor eax, 0x6d81806c
add eax, 0xe721b6e8
and eax, 0x44e03100
cmp eax, 0xc3c15c47
ja 0x1400885f0
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x90]
nop
mov eax, dword [0x141dd13b8]
sub eax, dword [0x141dd13bc]
add eax, 0x8179c0f5
cmp eax, 0x104f19fb
jb 0x140088630
test rsi, rsi
je 0x140088731
mov eax, dword [str.__n__q]
or eax, dword [0x141dd13cc]
imul eax, eax, 0x479b2bdc
cmp eax, 0x76d61625
jne 0x14008866e
lock inc qword [rsi]
mov ecx, 0x99125c3d
nop word cs:[rax + rax]
mov eax, dword [0x141dd13d0]
xor edx, edx
div dword [0x141dd13d4]
imul rax, rcx
shr rax, 0x3f
or eax, 0xdf7ef6ec
mov edx, 1
lock xadd qword [rsi], rdx
cmp eax, 0xd9b15e9
jb 0x140088680
test rdx, rdx
js 0x140088790
nop word cs:[rax + rax]
sub rsp, 0x20
call fcn.1400fd760
add rsp, 0x20
nop
mov eax, dword [0x141dd13c0]
xor eax, dword [0x141dd13c4]
js 0x1400886d6
invalid
add dword [0x10a8ba4b5], eax
imul rcx, rax, 0x2c7c19f9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0x7d3043f0
cmp eax, 0xc09af611
ja 0x140088740
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x90]
jmp 0x140088651
mov eax, dword [0x141dd13d8]
sub eax, dword [0x141dd13dc]
imul eax, eax, 0x509377a4
or eax, 0x9cfe5b7
mov ecx, 0xb3d03a15
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7f512161
jbe 0x1400887be
ud2
xor eax, eax
ud2