Function at 0x140078af0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov rdi, rcx
xor eax, eax
test al, al
jne 0x140078b38
mov ecx, dword [0x141f38ae8]
or ecx, dword [0x141f38aec]
xor ecx, 0x84a596f7
add ecx, 0x65095f70
xor ecx, 0x3385e0d5
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x6fdbf29c
jae 0x140078b47
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x140078b02
mov r9, qword [rdi + 0x118]
mov r8, qword [r9 + 0x108]
mov eax, dword [0x141f38af0]
xor eax, dword [0x141f38af4]
add eax, 0xcc789f00
or eax, 0xeb1edc62
cmp eax, 0x948164ad
je 0x140078ba0
mov ecx, dword [0x141f38af8]
imul ecx, dword [0x141f38afc]
and ecx, 0x6f22c4
add ecx, 0x3b603fa0
and ecx, 0x8e30f20
mov rax, qword [r9 + 0x100]
cmp ecx, 0x5e41f394
jbe 0x140078ba9
mov rax, qword [r9 + 0x100]
jmp 0x140078b72
mov rcx, r8
sub rcx, rax
test rcx, rcx
jle 0x140078ee6
cmp byte [rdi + 0x130], 0
je 0x140078d74
lea rcx, [r8 - 1]
nop dword [rax]
mov eax, dword [0x141f38b10]
xor eax, dword [0x141f38b14]
or eax, 0x3d3f510b
add eax, 0x5055cb68
and eax, 0xd59521a5
cmp eax, 0xae0dcc17
je 0x140078bd0
mov eax, dword [0x141f38b18]
and eax, dword [0x141f38b1c]
or eax, 0xefffffef
cmp eax, 0x475436b8
jae 0x140078c20
mov qword [r9 + 0x108], rcx
mfence
nop word cs:[rax + rax]
mov eax, dword [0x141f38b20]
imul eax, dword [0x141f38b24]
imul eax, eax, 0x20feaa29
and eax, 0x34a44144
imul eax, eax, 0xf4705606
mov qword [r9 + 0x108], rcx
mfence
cmp eax, 0xb848a309
je 0x140078c20
mov r9, qword [rdi + 0x118]
mov r10, qword [r9 + 0x100]
mov rax, rcx
sub rax, r10
js 0x140078d95
mov r11, qword [rdi + 0x120]
mov rdx, qword [rdi + 0x128]
lea r14, [rdx - 1]
and r14, rcx
shl r14, 4
mov rbx, qword [r11 + r14]
mov r14, qword [r11 + r14 + 8]
cmp rcx, r10
jne 0x140078d00
mov eax, dword [0x141f38b38]
sub eax, dword [0x141f38b3c]
cmp eax, 0x56d3dc68
jne 0x140078cb0
mov rax, rcx
lock cmpxchg qword [r9 + 0x100], r8
nop
mov edx, dword [0x141f38b40]
sub edx, dword [0x141f38b44]
or edx, 0x1613ee9b
and edx, 0x3617eebf
mov rax, rcx
lock cmpxchg qword [r9 + 0x100], r8
sete al
cmp edx, 0xd404c2e3
je 0x140078cb0
mov rcx, qword [rdi + 0x118]
mov qword [rcx + 0x108], r8
test al, al
jne 0x140078e80
jmp 0x140078ee6
mov ecx, dword [0x141f38b48]
and ecx, dword [0x141f38b4c]
add ecx, 0xe17db1e5
or ecx, 0x69716413
imul ecx, ecx, 0x4331b770
cmp ecx, 0x160254fa
jb 0x140078d00
lea r8, [rdx + 3]
nop word [rax + rax]
mov r9d, dword [0x141f38b50]
add r9d, dword [0x141f38b54]
and r9d, 0x1debbf15
test rdx, rdx
mov rcx, rdx
cmovs rcx, r8
cmp r9d, 0x80f0de94
je 0x140078d30
cmp rdx, 0x41
jb 0x140078e80
sar rcx, 2
cmp rax, rcx
jge 0x140078e80
jmp 0x1400790fb
mov eax, dword [0x141f38b00]
xor edx, edx
div dword [0x141f38b04]
xor eax, 0x6915f23d
add eax, 0x864beae7
cmp eax, 0xa0eceda9
jae 0x140078dbd
jmp 0x140078dd1
mov qword [r9 + 0x108], r8
nop dword [rax]
mov eax, dword [0x141f38b30]
and eax, dword [0x141f38b34]
and eax, 0xa0d0060d
cmp eax, 0xe91487ac
je 0x140078da0
jmp 0x140078ee6
mov eax, 1
lock xadd qword [r9 + 0x100], rax
xor edx, edx
test dl, dl
je 0x140078ddb
lock inc qword [r9 + 0x100]
jmp 0x140078dbd
mov edx, 0xb1ed83ab
mov r9, rax
not r9
add r8, r9
nop dword [rax]
mov r9d, dword [0x141f38b08]
add r9d, dword [0x141f38b0c]
xor r9d, 0x72a343ac
imul r9, rdx
shr r9, 0x3f
cmp r9d, 0x5f07bfa8
ja 0x140078df0
test r8, r8
js 0x140078ea9
mov r8, qword [rdi + 0x120]
mov rdx, qword [rdi + 0x128]
lea r9, [rdx - 1]
and r9, rax
shl r9, 4
mov rbx, qword [r8 + r9]
mov r14, qword [r8 + r9 + 8]
lea rax, [rdx + 3]
xor r8d, r8d
nop dword [rax + rax]
cmp rdx, 0x41
setae r9b
test rdx, rdx
mov r10, rdx
cmovs r10, rax
sar r10, 2
cmp rcx, r10
setle r10b
test r8b, r8b
jne 0x140078e50
and r9b, r10b
jne 0x1400790fb
nop dword [rax + rax]
mov eax, dword [0x141f38b58]
and eax, dword [0x141f38b5c]
imul eax, eax, 0x54fd753f
add eax, 0xa376bd9a
cmp eax, 0x82491851
ja 0x140078e80
test rbx, rbx
jne 0x1400790b0
jmp 0x140078ee6
mov ecx, 0xa7389a9f
nop
mov edx, dword [0x141f38b28]
xor edx, dword [0x141f38b2c]
xor edx, 0xa4fc44d2
add edx, 0xb937e475
imul rdx, rcx
shr rdx, 0x3e
cmp edx, 0x8b669595
ja 0x140078eb0
mov rcx, qword [rdi + 0x118]
mov qword [rcx + 0x100], rax
add rdi, 0x138
nop dword [rax]
mov eax, dword [0x141f38b60]
xor eax, dword [0x141f38b64]
add eax, 0x94e7b248
or eax, 0x5155d08b
xor eax, 0xa2cfdbaf
cmp eax, 0x16a1b99
jb 0x140078ef0
nop word cs:[rax + rax]
mov eax, dword [0x141f38b68]
or eax, dword [0x141f38b6c]
add eax, 0xd2cc81a8
and eax, 0x4d3cce5c
cmp eax, 0x399f79c9
jb 0x140078f20
mov ebx, 0xb5a371dd
nop word cs:[rax + rax]
mov eax, dword [0x141f38b80]
or eax, dword [0x141f38b84]
or eax, 0xf8bcef7f
cmp eax, 0x48137be0
jne 0x140078f80
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.140079120
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141f38b88]
or eax, dword [0x141f38b8c]
imul rax, rbx
shr rax, 0x3f
imul r14d, eax, 0x1432ce02
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.140079120
add rsp, 0x20
cmp r14d, 0x156e01f5
ja 0x140078f80
mov eax, dword [0x141f38b90]
xor edx, edx
div dword [0x141f38b94]
mov eax, dword [0x141f38b98]
xor eax, dword [0x141f38b9c]
add eax, 0x45d96659
imul rax, rax, 0x1b8c3033
shr rax, 0x3c
cmp eax, 0xb8675570
je 0x140078fc5
mov rax, qword [rsi]
nop dword [rax + rax]
mov ecx, dword [0x141f38ba0]
add ecx, dword [0x141f38ba4]
cmp ecx, 0xfd551035
je 0x140078ff0
cmp eax, 2
jne 0x140079058
nop dword [rax]
mov eax, dword [0x141f38bb0]
xor edx, edx
div dword [0x141f38bb4]
xor eax, 0x91c34114
or eax, 0x2a289ea3
xor eax, 0x843fa1e8
cmp eax, 0x9a8b478e
ja 0x140079010
nop word cs:[rax + rax]
mov eax, dword [0x141f38bb8]
xor eax, dword [0x141f38bbc]
cmp eax, 0x96b6853
je 0x140079040
jmp 0x140078f50
test rax, rax
jne 0x140079061
xor ebx, ebx
jmp 0x1400790b0
cmp eax, 1
jne 0x1400790e0
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140079070
nop word cs:[rax + rax]
mov eax, dword [0x141f38ba8]
or eax, dword [0x141f38bac]
imul eax, eax, 0xdc357b8c
and eax, 0xe8afccf0
cmp eax, 0x9b29fe9a
je 0x140079080
mov rbx, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141f38b78]
sub eax, dword [0x141f38b7c]
imul eax, eax, 0x8549cb3c
cmp eax, 0x52a0e833
je 0x1400790b0
mov rax, rbx
mov rdx, r14
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov eax, dword [0x141f38b70]
xor eax, dword [0x141f38b74]
imul eax, eax, 0x49d64eb0
cmp eax, 0xf6c2564c
je 0x1400790e0
ud2
shr rdx, 1
lea rcx, [rdi + 0x118]
sub rsp, 0x20
call fcn.1400fe850
add rsp, 0x20
jmp 0x140078e80