Function at 0x140071b70
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 rsi, rcx
mov eax, dword [0x141dc8380]
or eax, dword [0x141dc8384]
mov ecx, 0xf136db05
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xa32aa38c
cmp ecx, 0x10079def
jae 0x140071bd0
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rax, qword [rsi + 0x118]
mov rax, qword [rax + 0x108]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8388]
mov ecx, dword [0x141dc838c]
add eax, ecx
add eax, 0x60d18f3d
or eax, 0x7368f684
imul ecx, eax, 0x779a18b1
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
mov r10, qword [rsi + 0x118]
mov r8, qword [r10 + 0x108]
cmp ecx, 0x11b402bf
jb 0x140071bd0
mov eax, dword [0x141dc8390]
or eax, dword [0x141dc8394]
and eax, 0x5c9090ec
cmp eax, 0x55c99534
jne 0x140071c40
mov rax, qword [r10 + 0x100]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8398]
and eax, dword [0x141dc839c]
or eax, 0x230ee958
shr eax, 3
imul rcx, rax, 0x92ca693
shr rcx, 0x35
or ecx, 0x5db8849e
mov rax, qword [r10 + 0x100]
cmp ecx, 0x550acfc9
jb 0x140071c40
mov rcx, r8
sub rcx, rax
test rcx, rcx
jle 0x140072115
cmp byte [rsi + 0x130], 0
je 0x140071dcf
lea rcx, [r8 - 1]
mov qword [r10 + 0x108], rcx
mfence
mov rdx, qword [rsi + 0x118]
mov r9, qword [rdx + 0x100]
mov rax, rcx
sub rax, r9
xor r10d, r10d
nop word cs:[rax + rax]
test r10b, r10b
jne 0x140071cc0
test rax, rax
js 0x140071f97
xor r10d, r10d
nop word cs:[rax + rax]
test r10b, r10b
jne 0x140071ce0
mov r10, qword [rsi + 0x120]
mov r15, qword [rsi + 0x128]
lea r11, [r15 - 1]
and r11, rcx
shl r11, 4
mov rbx, qword [r10 + r11]
mov r14, qword [r10 + r11 + 8]
nop word [rax + rax]
mov r10d, dword [0x141dc83d8]
or r10d, dword [0x141dc83dc]
or r10d, 0x200000
and r10d, 0x2020420c
cmp r10d, 0x66fa13be
ja 0x140071d10
cmp rcx, r9
jne 0x140072002
mov eax, dword [0x141dc83f0]
imul eax, dword [0x141dc83f4]
xor eax, 0x187e060e
imul rax, rax, 0x64be6d6b
shr rax, 0x3e
or eax, 0x1c744156
cmp eax, 0x60eeb518
jne 0x140071d80
mov rax, rcx
lock cmpxchg qword [rdx + 0x100], r8
nop word cs:[rax + rax]
mov r9d, dword [0x141dc83f8]
and r9d, dword [str.O94U]
xor r9d, 0x71f3d8b9
add r9d, 0xc5bc1480
mov rax, rcx
lock cmpxchg qword [rdx + 0x100], r8
sete al
cmp r9d, 0x2e91880
jb 0x140071d80
mov rcx, qword [rsi + 0x118]
mov qword [rcx + 0x108], r8
test al, al
jne 0x14007210c
jmp 0x140072115
mov eax, dword [0x141dc83a0]
xor edx, edx
div dword [0x141dc83a4]
xor eax, 0xaf9c0acd
imul rax, rax, 0x429d3255
shr rax, 0x3b
or eax, 0xa2301790
cmp eax, 0xc936a58d
jbe 0x140071e01
lock inc qword [r10 + 0x100]
mov eax, 0xd322e4ab
nop word cs:[rax + rax]
mov edx, dword [0x141dc83a8]
sub edx, dword [0x141dc83ac]
and edx, 0x811a0100
imul rdx, rax
shr rdx, 0x3c
mov r9d, 1
lock xadd qword [r10 + 0x100], r9
cmp edx, 0xaa6ea84b
ja 0x140071e10
mov r10, r9
not r10
nop word [rax + rax]
mov eax, dword [0x141dc83b0]
xor edx, edx
div dword [0x141dc83b4]
add eax, 0xbd367c44
or eax, 0xf33670f2
shr eax, 1
imul rax, rax, 0x968794d
shr rax, 0x3a
cmp eax, 0x6221467d
ja 0x140071e50
add r8, r10
nop
mov eax, dword [0x141dc83b8]
or eax, dword [0x141dc83bc]
xor eax, 0x60ac02fd
add eax, 0xf226eef8
cmp eax, 0x64884ce
jb 0x140071e80
test r8, r8
js 0x140071f60
mov eax, 0x868a1297
nop dword [rax + rax]
mov edx, dword [0x141dc83c0]
and edx, dword [0x141dc83c4]
imul edx, edx, 0xfd48d17d
xor edx, 0x4286cdf6
imul rdx, rax
shr rdx, 0x3c
cmp edx, 0x7babf6f3
ja 0x140071eb0
mov rax, qword [rsi + 0x120]
mov r15, qword [rsi + 0x128]
lea rdx, [r15 - 1]
and rdx, r9
shl rdx, 4
mov rbx, qword [rax + rdx]
mov r14, qword [rax + rdx + 8]
lea rax, [r15 + 3]
nop
mov edx, dword [0x141dc83c8]
or edx, dword [0x141dc83cc]
or edx, 0x5ff36194
add edx, 0x4a9aeb5
imul r9, rdx, 0x3fe23fd1
shr r9, 0x3d
cmp r15, 0x41
setae dl
test r15, r15
mov r8, r15
cmovs r8, rax
sar r8, 2
cmp rcx, r8
setle r8b
cmp r9d, 0xef47edc4
je 0x140071f00
and dl, r8b
jne 0x1400720a0
jmp 0x14007210c
mov eax, dword [0x141dc83d0]
xor edx, edx
div dword [0x141dc83d4]
add eax, 0x17ae1070
xor eax, 0x56650430
and eax, 0x7e65d435
cmp eax, 0x14b9e9be
jb 0x140071f60
mov rax, qword [rsi + 0x118]
mov qword [rax + 0x100], r9
jmp 0x140072115
xor eax, eax
nop dword [rax]
test al, al
jne 0x140071fa0
mov eax, dword [0x141dc83e0]
or eax, dword [0x141dc83e4]
and eax, 0x8868bff
add eax, 0x90309600
cmp eax, 0xbdd892ec
jbe 0x140071fc8
mov qword [rdx + 0x108], r8
xor eax, eax
nop word [rax + rax]
mov qword [rdx + 0x108], r8
test al, al
jne 0x140071fd0
nop dword [rax + rax]
mov eax, dword [0x141dc83e8]
add eax, dword [0x141dc83ec]
xor eax, 0xced7755c
add eax, 0x85c399cb
cmp eax, 0x9b08717c
jb 0x140071fe0
jmp 0x140072115
lea rdx, [r15 + 3]
test r15, r15
cmovns rdx, r15
sar rdx, 2
nop word cs:[rax + rax]
cmp rax, rdx
setl r8b
cmp r15, 0x41
setae cl
mov r9d, dword [0x141dc8400]
imul r9d, dword [0x141dc8404]
imul r10, r9, 0x191b43bb
shr r10, 0x20
sub r9d, r10d
shr r9d, 1
add r9d, r10d
shr r9d, 0x1e
imul r9d, r9d, 0xbfe168a3
and r9d, 0x141ec1a0
cmp r9d, 0xee8407f5
je 0x140072020
and cl, r8b
nop
mov eax, dword [0x141dc8408]
or eax, dword [0x141dc840c]
shr eax, 2
imul rax, rax, 0x2d986a3d
shr rax, 0x39
imul eax, eax, 0x7c65df06
add eax, 0xa8096178
cmp eax, 0xfcfd21a8
ja 0x140072070
test cl, cl
je 0x14007210c
mov eax, dword [0x141dc8410]
xor edx, edx
div dword [0x141dc8414]
and eax, 0x1a2fe680
imul eax, eax, 0x8324cba6
mov ecx, 0xb2e02727
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x284540f6
ja 0x140072265
shr r15, 1
lea r12, [rsi + 0x118]
mov eax, dword [0x141dc8418]
imul eax, dword [0x141dc841c]
imul r13d, eax, 0x63ce320b
sub rsp, 0x20
mov rcx, r12
mov rdx, r15
call fcn.1400f6160
add rsp, 0x20
cmp r13d, 0x8b8ca0b2
je 0x1400720dc
test rbx, rbx
jne 0x140072223
add rsi, 0x138
nop dword [rax]
mov eax, dword [0x141dc8420]
sub eax, dword [0x141dc8424]
xor eax, 0xf57bc75b
imul eax, eax, 0x7feb236d
cmp eax, 0xe5734bf7
je 0x140072120
jmp 0x14007215d
mov eax, dword [0x141dc8450]
and eax, dword [0x141dc8454]
or eax, 0x18115510
and eax, 0x9c915510
cmp eax, 0xf3feadf6
jae 0x140072140
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.140072290
add rsp, 0x20
mov eax, dword [0x141dc8430]
xor edx, edx
div dword [0x141dc8434]
nop
mov eax, dword [0x141dc8438]
or eax, dword [0x141dc843c]
or eax, 0x84340854
imul eax, eax, 0x4ddf6ae1
cmp eax, 0xc2e7632e
jb 0x140072180
mov rax, qword [rdi]
cmp eax, 2
je 0x140072140
test rax, rax
jne 0x1400721af
xor ebx, ebx
jmp 0x140072223
cmp eax, 1
jne 0x140072240
nop dword [rax + rax]
mov eax, dword [0x141dc8440]
xor eax, dword [0x141dc8444]
imul eax, eax, 0xaa24288
imul rax, rax, 0x761379b9
shr rax, 0x3e
imul eax, eax, 0xf36ccea4
cmp eax, 0x272103b2
ja 0x1400721c0
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8448]
add eax, dword [0x141dc844c]
and eax, 0x26f40fc0
imul eax, eax, 0x2842f9bd
or eax, 0x5386c451
cmp eax, 0xca75ad26
jbe 0x140072200
mov rax, rbx
mov rdx, r14
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc8428]
imul eax, dword [0x141dc842c]
add eax, 0x9dcf489c
or eax, 0x4c1035d
and eax, 0x46d7f7ff
cmp eax, 0x5fc1165f
ja 0x140072240
ud2
mov rdx, r15
shr rdx, 1
lea rcx, [rsi + 0x118]
sub rsp, 0x20
call fcn.1400f6160
add rsp, 0x20
jmp 0x1400720d2