Function at 0x180189ac0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov eax, edx
and eax, 0x3fffff00
mov dword [rsp + 0x28], eax
jne 0x180189d91
mov eax, edx
and eax, 0xc0000000
mov dword [rsp + 0x28], eax
je 0x180189d75
mov rsi, rcx
mov edi, edx
mov rcx, rsi
call fcn.180110eb0
test al, al
je 0x180189bc0
mov eax, edi
xor ecx, ecx
test eax, eax
jns 0x180189b66
nop word cs:[rax + rax]
mov edi, eax
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
xor ecx, 0xa0000000
lock cmpxchg dword [rsi], ecx
jne 0x180189b20
mov ecx, eax
and ecx, 0x80000000
mov dword [rsp + 0x28], ecx
je 0x180189e18
and eax, 0x3fffff00
mov dword [rsp + 0x28], eax
jne 0x180189e45
mov rcx, rsi
call fcn.1801119e0
mov ecx, 0x20000000
test al, al
mov eax, edi
jne 0x180189d8a
test eax, 0x40000000
jne 0x180189cc0
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
and ecx, 0xdfffffff
lock cmpxchg dword [rsi], ecx
jne 0x180189b80
mov ecx, eax
and ecx, 0x20000000
mov dword [rsp + 0x28], ecx
je 0x180189dbe
cmp eax, 0x40000000
jb 0x180189d8a
and eax, 0xdfffffff
pause
xor ecx, ecx
test eax, eax
jns 0x180189b66
jmp 0x180189b10
mov eax, edi
test edi, 0x40000000
jne 0x180189c78
nop
and eax, 0x80000000
mov dword [rsp + 0x28], eax
je 0x180189dd0
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
xor ecx, 0xa0000000
lock cmpxchg dword [rsi], ecx
jne 0x180189bf0
mov ecx, eax
and ecx, 0x80000000
mov dword [rsp + 0x28], ecx
je 0x180189de2
and eax, 0x3fffff00
mov dword [rsp + 0x28], eax
jne 0x180189df4
mov rcx, rsi
call fcn.1801119e0
test al, al
jne 0x180189d8a
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
and ecx, 0xdfffffff
lock cmpxchg dword [rsi], ecx
jne 0x180189c40
mov ecx, eax
and ecx, 0x20000000
mov dword [rsp + 0x28], ecx
je 0x180189e06
cmp eax, 0x40000000
jb 0x180189d8a
pause
test eax, 0x40000000
je 0x180189bd0
mov dword [rsp + 0x2c], pe_nt_image_headers64
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov ecx, eax
xor ecx, 0x50000100
lock cmpxchg dword [rsi], ecx
jne 0x180189c90
mov ecx, eax
and ecx, 0x100
mov dword [rsp + 0x28], ecx
jne 0x180189e5a
and eax, 0x20000000
mov dword [rsp + 0x28], eax
je 0x180189d24
jmp 0x180189e85
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x2c], pe_nt_image_headers64
mov edx, ecx
or edx, 0x50000100
mov eax, dword [rsi]
nop word cs:[rax + rax]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rsi], r8d
jne 0x180189ce0
mov edx, eax
and edx, ecx
mov dword [rsp + 0x28], edx
cmp edx, ecx
jne 0x180189e9a
mov edx, eax
and edx, 0x100
mov dword [rsp + 0x28], edx
jne 0x180189e5a
and eax, 0x20000000
mov edx, eax
xor edx, ecx
mov dword [rsp + 0x28], edx
cmp eax, ecx
jne 0x180189e85
mov rcx, rsi
call fcn.1801114b0
shl eax, 8
mov ecx, 0x10000000
sub ecx, eax
lock sub dword [rsi], ecx
mov edx, 0xffffff00
lock xadd dword [rsi], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb cl
or cl, al
jne 0x180189d8a
add edx, 0xffffff00
mov eax, edx
and eax, 0xc0000000
mov dword [rsp + 0x28], eax
jne 0x180189aeb
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189e28
add rsp, 0x68
pop rdi
pop rsi
ret
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
mov qword [rsp + 0x20], rax
lea r8, [0x180197ce8]
lea rdx, [rsp + 0x28]
lea r9, [rsp + 0x30]
xor ecx, ecx
call fcn.18018e6d0
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189e28
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189e28
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189e28
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189da1
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189e28
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
mov qword [rsp + 0x20], rax
lea r8, [0x180197ce8]
lea rdx, [rsp + 0x28]
lea r9, [rsp + 0x30]
mov cl, 1
call fcn.18018e6d0
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189da1
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x2c]
lea r9, [rsp + 0x30]
mov cl, 1
call fcn.18018e6d0
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
jmp 0x180189da1
mov qword [rsp + 0x30], 0
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_static_init_1.0.3_srcphase_locker_sync.rs
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x64]
lea r9, [rsp + 0x30]
xor ecx, ecx
call fcn.18018e6d0
int3