Function at 0x14008ae20
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 [0x141f3b680]
sub eax, dword [0x141f3b684]
and eax, 0x82501450
or eax, 0x3c2923ac
xor eax, 0x5b90e9a
cmp eax, 0x48a88a62
jb 0x14008ae82
mov edx, dword [0x141f3b688]
or edx, dword [0x141f3b68c]
xor edx, 0x672e398c
add edx, 0xe9fc0f1f
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov rsi, rsp
cmp edx, 0xb3743975
jbe 0x14008ae91
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
jmp 0x14008ae52
mov rcx, qword [rcx]
movzx eax, byte [rcx]
xor edx, edx
test dl, dl
jne 0x14008aec6
mov edx, dword [0x141f3b690]
sub edx, dword [0x141f3b694]
xor edx, 0x5037e398
add edx, 0x9e8d8e6e
and edx, 0x4e229805
mov byte [rcx], 0
cmp edx, 0xbb6be472
jbe 0x14008aecb
mov byte [rcx], 0
jmp 0x14008ae9d
test al, al
je 0x14008b579
mov eax, 0xec89f95f
nop dword [rax + rax]
mov ecx, dword [0x141f3b6a8]
xor ecx, dword [0x141f3b6ac]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xf618a850
cmp ecx, 0x141a729d
jb 0x14008aee0
mov byte [rsi], 0
mov eax, dword [0x141f49018]
nop dword [rax + rax]
mov ecx, dword [0x141f3b6b0]
and ecx, dword [0x141f3b6b4]
or ecx, 0xc6fbfa72
add ecx, 0xa168c3b6
imul rcx, rcx, 0x607ba6e9
shr rcx, 0x3c
cmp ecx, 0x40ed60bd
ja 0x14008af10
cmp eax, 3
jne 0x14008b4ee
nop word cs:[rax + rax]
mov eax, dword [0x141f3b6c0]
and eax, dword [0x141f3b6c4]
add eax, 0xf5e78949
or eax, 0x1e4f3f9e
cmp eax, 0x6317dcfd
je 0x14008af50
cmp byte [rsi], 0
je 0x14008afd0
nop word cs:[rax + rax]
mov eax, dword [0x141f3b6c8]
and eax, dword [0x141f3b6cc]
or eax, 0x1003100a
xor eax, 0x4a80
and eax, 0x50035a8a
cmp eax, 0x7c8363ad
ja 0x14008afd0
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x88]
nop dword [rax]
mov eax, dword [0x141f3b6d0]
xor eax, dword [0x141f3b6d4]
and eax, 0xadc30d94
add eax, 0x3bd7e6b5
xor eax, 0xe99709d
cmp eax, 0xe4426004
ja 0x14008b010
nop word cs:[rax + rax]
mov eax, dword [0x141f3b6d8]
or eax, dword [0x141f3b6dc]
or eax, 0x40080080
xor eax, 0x10000005
and eax, 0x508a0885
cmp eax, 0xb4736a1f
ja 0x14008b040
test rdi, rdi
jne 0x14008b333
nop dword [rax + rax]
mov eax, dword [0x141f3b6e0]
sub eax, dword [str._ne_aI]
imul eax, eax, 0xd9f64639
add eax, 0xe0159027
cmp eax, 0xce3cf913
ja 0x14008b070
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
nop dword [rax + rax]
mov ecx, dword [0x141f3b6e8]
and ecx, dword [0x141f3b6ec]
add ecx, 0xf32091d1
xor ecx, 0xb285c018
imul ecx, ecx, 0x920eaa7b
cmp ecx, 0x42085008
jb 0x14008b0b0
nop word cs:[rax + rax]
mov ecx, dword [0x141f3b6f0]
sub ecx, dword [0x141f3b6f4]
imul rcx, rcx, 0x569f755b
shr rcx, 0x3e
or ecx, 0xeb71600e
cmp ecx, 0xfe59e48a
je 0x14008b0e0
cmp eax, 1
jne 0x14008b52f
nop
mov eax, dword [0x141f3b700]
sub eax, dword [0x141f3b704]
add eax, 0x97ac8d29
cmp eax, 0xae0475a9
jb 0x14008b110
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x90]
nop word cs:[rax + rax]
mov eax, dword [0x141f3b708]
mov ecx, dword [0x141f3b70c]
add eax, ecx
add eax, 0xf4f36133
xor eax, 0xa2400012
or eax, 0x58a6d5ed
cmp eax, 0x66136de3
je 0x14008b150
test rsi, rsi
jne 0x14008b21f
mov eax, dword [0x141f3b710]
xor edx, edx
div dword [0x141f3b714]
imul eax, eax, 0xcbf664a9
cmp eax, 0x6a467535
je 0x14008b546
mov esi, dword [0x141f3b718]
or esi, dword [0x141f3b71c]
or esi, 0x10360128
and esi, 0x5a7e252a
xor esi, 0x709f0592
sub rsp, 0x20
call fcn.140101030
add rsp, 0x20
cmp esi, 0x2820d66f
jb 0x14008b19c
mov eax, 0xd35b3b73
nop word cs:[rax + rax]
mov ecx, dword [0x141f3b720]
sub ecx, dword [0x141f3b724]
add ecx, 0x5838e5aa
imul rcx, rax
shr rcx, 0x3e
and ecx, 0xfffffffe
cmp ecx, 0xf5b3fdc1
ja 0x14008b1e0
mov eax, dword [0x141f4907c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x90]
lock inc qword [rsi]
jle 0x14008b5e4
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14008b230
test rsi, rsi
je 0x14008b609
mov rdi, qword [rsi + 0x28]
lock dec qword [rsi]
jne 0x14008b333
mov eax, dword [0x141f3b740]
or eax, dword [0x141f3b744]
or eax, 0x68f5372b
xor eax, 0xbd1bbac3
mov ecx, 0xc6d3f13f
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xf1939107
jbe 0x14008b280
nop word cs:[rax + rax]
mov eax, dword [0x141f3b748]
and eax, dword [0x141f3b74c]
add eax, 0x326102b6
imul rcx, rax, 0x2fe91b0f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x856e7cc8
ja 0x14008b280
mov eax, dword [0x141f3b750]
xor eax, dword [0x141f3b754]
xor eax, 0x17f143ee
imul eax, eax, 0xf8947b16
cmp eax, 0xae3cab13
jne 0x14008b2e0
sub rsp, 0x20
mov rcx, rsi
call fcn.14007b600
add rsp, 0x20
nop word [rax + rax]
mov ebx, dword [0x141f3b758]
or ebx, dword [0x141f3b75c]
add ebx, 0xf38a929b
xor ebx, 0xace41c95
sub rsp, 0x20
mov rcx, rsi
call fcn.14007b600
add rsp, 0x20
cmp ebx, 0xa4f9fc5b
ja 0x14008b2e0
mov eax, dword [0x141f3b760]
add eax, dword [0x141f3b764]
imul eax, eax, 0xdbb210fb
add eax, 0xb41527ef
or eax, 0x6cf22712
cmp eax, 0x4c9ed447
jb 0x14008b310
mov rax, qword [0x141f48fe0]
cmp rdi, rax
jne 0x14008b3a9
mov eax, dword [0x141f48fe8]
nop word cs:[rax + rax]
mov ecx, dword [0x141f3b780]
and ecx, dword [0x141f3b784]
imul ecx, ecx, 0xd6640bdd
add ecx, 0xc384cb5
cmp ecx, 0xc98ef322
ja 0x14008b350
cmp eax, 0xffffffff
je 0x14008af80
inc eax
nop dword [rax + rax]
mov ecx, dword [0x141f3b788]
imul ecx, dword [0x141f3b78c]
and ecx, 0x24590103
cmp ecx, 0xd5144900
je 0x14008b380
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x14008b3a0
jmp 0x14008b4b7
mov eax, dword [0x141f3b768]
imul eax, dword [str.7pI]
or eax, 0x7011d877
imul eax, eax, 0xb4a10e7b
add eax, 0xa22ec50c
cmp eax, 0x64e579be
jbe 0x14008b3d9
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x141f48fec], cl
mov cl, 1
nop dword [rax + rax]
mov eax, dword [0x141f3b770]
and eax, dword [0x141f3b774]
imul edx, eax, 0xa76c053b
add edx, 0x44706173
xor eax, eax
lock cmpxchg byte [0x141f48fec], cl
sete al
cmp edx, 0x403665ba
jb 0x14008b3e0
nop dword [rax]
mov ecx, dword [0x141f3b778]
and ecx, dword [0x141f3b77c]
add ecx, 0x757e75ba
and ecx, 0x214630a1
cmp ecx, 0x67feb628
je 0x14008b410
test al, al
je 0x14008af80
mov eax, dword [0x141f3b790]
xor edx, edx
div dword [0x141f3b794]
imul eax, eax, 0xd1bdb6c8
cmp eax, 0x39660b5f
jne 0x14008b460
mov qword [0x141f48fe0], rdi
nop word [rax + rax]
mov eax, dword [0x141f3b798]
and eax, dword [0x141f3b79c]
and eax, 0x18020006
add eax, 0x73d187b5
mov qword [0x141f48fe0], rdi
cmp eax, 0xcf1fdb8f
ja 0x14008b460
nop word cs:[rax + rax]
mov eax, dword [0x141f3b7a0]
sub eax, dword [0x141f3b7a4]
xor eax, 0x41408001
and eax, 0x43f9e639
add eax, 0xbcd7d140
cmp eax, 0x2d2b621d
jb 0x14008b490
mov eax, 1
mov ecx, dword [0x141f3b7a8]
imul ecx, dword [0x141f3b7ac]
mov edx, 0x9e17c7bd
imul rdx, rcx
shr rdx, 0x3f
imul ecx, edx, 0xc9308295
and ecx, 0xa0ebbe05
cmp ecx, 0xd8685259
jne 0x14008b661
jmp 0x14008b687
sub rsp, 0x20
mov rcx, rsi
call fcn.140100c7c
add rsp, 0x20
nop
mov eax, dword [0x141f3b6b8]
mov ecx, dword [0x141f3b6bc]
add eax, ecx
add eax, 0xdbbefc78
imul rax, rax, 0x6c825ce7
shr rax, 0x3e
or eax, 0x27ea946e
cmp eax, 0xf88c31d7
ja 0x14008b500
jmp 0x14008af50
test rax, rax
jne 0x14008b558
sub rsp, 0x20
call fcn.140100d30
add rsp, 0x20
jmp 0x14008b110
sub rsp, 0x20
call fcn.140101030
add rsp, 0x20
jmp 0x14008b19c
cmp eax, 2
je 0x14008b609
mov eax, dword [0x141f3b6f8]
sub eax, dword [0x141f3b6fc]
cmp eax, 0xb450976
je 0x14008b561
jmp 0x14008b609
xor eax, eax
test al, al
je 0x14008b590
ud2
mov eax, dword [0x141f3b698]
sub eax, dword [0x141f3b69c]
xor eax, 0x58dde752
add eax, 0x87c1a290
ud2
mov eax, dword [0x141f3b728]
add eax, dword [0x141f3b72c]
imul eax, eax, 0xdddbd556
add eax, 0x8196430a
xor eax, 0xcb40f71c
cmp eax, 0x5672241c
jae 0x14008b60b
jmp 0x14008b63e
mov eax, dword [0x141f3b730]
xor eax, dword [0x141f3b734]
or eax, 0xc0a94e03
and eax, 0xdcbd4fbb
imul rcx, rax, 0x17971401
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
ud2
ud2
mov ecx, dword [0x141f3b7b0]
or ecx, dword [0x141f3b7b4]
or ecx, 0x27aaf945
imul ecx, ecx, 0x503215f9
mov dword [0x141f48fe8], eax
cmp ecx, 0xafc6f535
jne 0x14008b68f
mov dword [0x141f48fe8], eax
jmp 0x14008b661
cmp qword [0x141f48ff0], 0
jne 0x14008b609
mov eax, dword [0x141f3b7b8]
sub eax, dword [0x141f3b7bc]
and eax, 0xec98504
leave
invalid
add eax, 0x2c040969
and eax, 0x3cc48c0c
cmp eax, 0xa39f744b
ja 0x14008b6e7
mov eax, dword [0x141f3b7c0]
xor eax, dword [0x141f3b7c4]
add eax, 0x32f2e86d
and eax, 0x8a22018
mov qword [0x141f48ff0], 0xffffffffffffffff
cmp eax, 0x83c71962
jbe 0x14008b700
mov qword [0x141f48ff0], 0xffffffffffffffff
jmp 0x14008b6bf
mov eax, dword [0x141f3b7c8]
xor edx, edx
div dword [0x141f3b7cc]
and eax, 0x7006a816
add eax, 0x5441d42c
cmp eax, 0x77be7a2c
ja 0x14008b700
cmp byte [0x141f49010], 0
jne case.0x14008c478.0
mov r12, qword [0x141f49008]
test r12, r12
je case.0x14008c478.0
xor r13d, r13d
lea rdi, [0x141f49011]
mov r15d, 0xe2c019a5
xor esi, esi
jmp 0x14008b780