Function at 0x18018e0a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov eax, edx
and eax, 0x3fffff00
mov dword [rsp + 0x58], eax
jne 0x18018e549
mov eax, edx
and eax, 0xc0000000
mov dword [rsp + 0x5c], eax
je 0x18018e377
mov rsi, rcx
mov ebp, edx
mov rcx, rsi
call fcn.18007bf30
test al, al
je 0x18018e1b0
mov ebx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
mov edi, dword [rsp + 0x38]
mov eax, ebp
test eax, eax
js 0x18018e110
nop word cs:[rax + rax]
xor edx, edx
test eax, 0x40000000
je 0x18018e16b
jmp 0x18018e2b0
mov ebp, eax
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
xor ecx, 0xa0000000
lock cmpxchg dword [rsi], ecx
jne 0x18018e120
mov ebx, eax
and ebx, 0x80000000
je 0x18018e4e7
and eax, 0x3fffff00
jne 0x18018e4b6
mov rcx, rsi
call fcn.18007ca40
test al, al
jne 0x18018e3a4
mov eax, ebp
mov edx, 0x20000000
xor ecx, ecx
test eax, 0x40000000
jne 0x18018e2b0
mov eax, dword [rsi]
nop dword [rax]
mov edx, eax
and edx, 0xdfffffff
lock cmpxchg dword [rsi], edx
jne 0x18018e170
mov edi, eax
and edi, 0x20000000
je 0x18018e3b1
cmp eax, 0x40000000
jb 0x18018e3a4
and eax, 0xdfffffff
pause
test eax, eax
jns 0x18018e100
jmp 0x18018e110
mov eax, ebp
test ebp, 0x40000000
jne 0x18018e250
nop
mov edi, eax
and edi, 0x80000000
je 0x18018e44c
mov eax, dword [rsi]
mov ecx, eax
xor ecx, 0xa0000000
lock cmpxchg dword [rsi], ecx
jne 0x18018e1d0
mov ebx, eax
and ebx, 0x80000000
je 0x18018e417
and eax, 0x3fffff00
jne 0x18018e3e6
mov rcx, rsi
call fcn.18007ca40
test al, al
jne 0x18018e3a4
mov eax, dword [rsi]
nop dword [rax]
mov ecx, eax
and ecx, 0xdfffffff
lock cmpxchg dword [rsi], ecx
jne 0x18018e210
mov ecx, eax
and ecx, 0x20000000
je 0x18018e481
cmp eax, 0x40000000
jb 0x18018e3a4
pause
test eax, 0x40000000
je 0x18018e1c0
xor eax, eax
jmp 0x18018e260
mov edi, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x3c], edi
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], 0x100
mov eax, dword [rsi]
nop word [rax + rax]
mov ecx, eax
xor ecx, 0x50000100
lock cmpxchg dword [rsi], ecx
jne 0x18018e280
mov ecx, eax
and ecx, 0x100
mov dword [rsp + 0x50], ecx
jne 0x18018e576
and eax, 0x20000000
mov dword [rsp + 0x54], eax
je 0x18018e324
jmp 0x18018e51c
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x90], edx
mov dword [rsp + 0x94], 0x100
mov ecx, edx
or ecx, 0x50000100
mov eax, dword [rsi]
nop dword [rax + rax]
mov r8d, eax
xor r8d, ecx
lock cmpxchg dword [rsi], r8d
jne 0x18018e2e0
mov ecx, eax
and ecx, edx
mov dword [rsp + 0x4c], ecx
cmp ecx, edx
jne 0x18018e5a1
mov ecx, eax
and ecx, 0x100
mov dword [rsp + 0x50], ecx
jne 0x18018e5cf
and eax, 0x20000000
mov ecx, eax
xor ecx, edx
mov dword [rsp + 0x54], ecx
cmp eax, edx
jne 0x18018e51c
mov rcx, rsi
call fcn.18007c530
shl eax, 8
mov ecx, 0x10000000
sub ecx, eax
lock sub dword [rsi], ecx
mov eax, 0xffffff00
lock xadd dword [rsi], eax
cmp eax, 0x40000000
jb 0x18018e3a4
mov ecx, eax
and ecx, 0x3fffff00
cmp ecx, 0x100
jne 0x18018e3a4
add eax, 0xffffff00
mov dword [rsp + 0x58], 0
mov ebp, eax
and eax, 0xc0000000
mov dword [rsp + 0x5c], eax
jne 0x18018e0d2
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x5c]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
nop
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x38]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x44]
lea r9, [rsp + 0x60]
xor ecx, ecx
call fcn.180197745
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x40]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x3c]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x48]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x34]
lea r9, [rsp + 0x60]
xor ecx, ecx
call fcn.180197745
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x54]
lea r9, [rsp + 0x60]
xor ecx, ecx
call fcn.180197745
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea r8, [0x1801a1fe0]
lea rdx, [rsp + 0x58]
lea r9, [rsp + 0x60]
xor ecx, ecx
call fcn.180197745
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x4c]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x4c]
lea r8, [rsp + 0x90]
lea r9, [rsp + 0x60]
xor ecx, ecx
call fcn.180197745
mov qword [rsp + 0x60], 0
lea rax, str.C:Users_viz.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rsD
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x94]
lea r9, [rsp + 0x60]
mov cl, 1
call fcn.180197745
int3