Function at 0x180034260
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], 0xfffffffffffffffe
lea rcx, [0x180195a5e]
lea r8, [0x180195a6c]
mov edx, 0xe
mov r9d, 1
call fcn.180035910
mov rsi, qword [0x18026a180]
movzx eax, byte [rsi]
test al, al
jne 0x1800343ae
mov ecx, dword [0x180280010]
test cl, 1
jne 0x1800343ae
cmp ecx, 0x100
jae 0x1800342e7
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x1800342e7
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003431b
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x18003437f
cmp eax, 2
je 0x1800343ae
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x1800343ae
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034360
cmp eax, 0x40000000
jb 0x1800343ae
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x1800343ae
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003510c
movzx eax, byte [rsi]
test al, al
jne 0x1800344be
mov ecx, dword [0x180280010]
test cl, 1
jne 0x1800344be
cmp ecx, 0x100
jae 0x1800343f6
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x1800343f6
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003442a
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x18003448f
cmp eax, 2
je 0x1800344be
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x1800344be
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
nop
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034470
cmp eax, 0x40000000
jb 0x1800344be
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x1800344be
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003511c
mov rax, qword [0x18027fde0]
mov ecx, 5
sub rcx, rax
cmp rax, 6
mov edx, 3
cmovb rdx, rcx
lea rcx, [0x18027fdc8]
call fcn.1800354a0
test rax, rax
jne 0x18003514c
movzx eax, byte [rsi]
test al, al
jne 0x1800345fe
mov ecx, dword [0x180280010]
test cl, 1
jne 0x1800345fe
cmp ecx, 0x100
jae 0x180034537
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x180034537
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003456b
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x1800345cf
cmp eax, 2
je 0x1800345fe
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x1800345fe
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x1800345b0
cmp eax, 0x40000000
jb 0x1800345fe
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x1800345fe
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003512c
cmp qword [0x18027fdc0], 0x17
jne 0x18003464d
mov rax, qword [0x18027fdb8]
movdqu xmm0, xmmword [rax + 7]
pcmpeqb xmm0, xmmword [str.ocalization_hookdfint_localizati_rustc_7442931d49b199ad0a1cc0f8ca54e327b5139b66library_alloc_srccollections_btree_navigate.rs]
movdqu xmm1, xmmword [rax]
pcmpeqb xmm1, xmmword [0x180195570]
pand xmm1, xmm0
pmovmskb ecx, xmm1
mov rdi, qword [0x18026a1a0]
mov rax, qword [rdi]
cmp ecx, 0xffff
je 0x1800346f6
test rax, rax
jne 0x18003465c
jmp 0x1800346c4
mov rax, qword [0x18026a1a0]
mov rax, qword [rax]
test rax, rax
je 0x1800346c4
lea rax, [0x180195c78]
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 8], 8
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
lea rcx, [0x180195c88]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 1
xor r9d, r9d
call fcn.180112a90
mov dword [rsp + 0x20], 0x10
lea rcx, str.dfint_hook_errorUnable_to_attach_hooks__translation_unavaibleunable_to_find_config_file
lea r8, str.Unable_to_find_config_file__translation_unavaiblehooks_detached
mov edx, 0x10
mov r9d, 0x31
call fcn.180043ba0
nop
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret
cmp rax, 3
jb 0x180034894
movzx eax, byte [rsi]
test al, al
jne 0x18003480f
mov ecx, dword [0x180280010]
test cl, 1
jne 0x18003480f
cmp ecx, 0x100
jae 0x180034748
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x180034748
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003477c
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x1800347e0
cmp eax, 2
je 0x18003480f
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x18003480f
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x1800347c1
cmp eax, 0x40000000
jb 0x18003480f
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x18003480f
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003517a
lea rax, [0x18027fe20]
mov qword [rbp - 0x50], rax
lea rax, [0x180180d30]
mov qword [rbp - 0x48], rax
lea rax, str.pe_checksum:_0x
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 0x18], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 1
lea rcx, [0x180195ab0]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 3
xor r9d, r9d
call fcn.180112a90
mov rax, qword [rdi]
cmp rax, 3
jb 0x180034a35
movzx eax, byte [rsi]
test al, al
jne 0x1800349b0
mov ecx, dword [0x180280010]
test cl, 1
jne 0x1800349b0
cmp ecx, 0x100
jae 0x1800348e9
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x1800348e9
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003491d
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x180034981
cmp eax, 2
je 0x1800349b0
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x1800349b0
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034962
cmp eax, 0x40000000
jb 0x1800349b0
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x1800349b0
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003518a
lea rax, [0x18027fe08]
mov qword [rbp - 0x50], rax
lea rax, [0x180034020]
mov qword [rbp - 0x48], rax
lea rax, [0x180195ae8]
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 0x18], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 1
lea rcx, [0x180195af8]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 3
xor r9d, r9d
call fcn.180112a90
mov rax, qword [rdi]
cmp rax, 3
jb 0x180034bd6
movzx eax, byte [rsi]
test al, al
jne 0x180034b51
mov ecx, dword [0x180280010]
test cl, 1
jne 0x180034b51
cmp ecx, 0x100
jae 0x180034a8a
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x180034a8a
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x180034abe
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x180034b22
cmp eax, 2
je 0x180034b51
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x180034b51
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034b03
cmp eax, 0x40000000
jb 0x180034b51
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x180034b51
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003519a
lea rax, [0x18027fe28]
mov qword [rbp - 0x50], rax
lea rax, [0x180034020]
mov qword [rbp - 0x48], rax
lea rax, str.hook_version:
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 0x18], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 1
lea rcx, [0x180195b30]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 3
xor r9d, r9d
call fcn.180112a90
mov rax, qword [rdi]
cmp rax, 3
jb 0x180034d95
movzx eax, byte [rsi]
test al, al
jne 0x180034cf2
mov ecx, dword [0x180280070]
test cl, 1
jne 0x180034cf2
cmp ecx, 0x100
jae 0x180034c2b
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280070], edx
jne 0x180034c2b
lea rax, [0x180280070]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x180034c5f
lea rdx, [0x180280070]
lea r9, [0x180280030]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x180034cc3
cmp eax, 2
je 0x180034cf2
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x180280030]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.180187740
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x180034cf2
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034ca4
cmp eax, 0x40000000
jb 0x180034cf2
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x180034cf2
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x1800351aa
mov rax, qword [0x180280048]
mov qword [rbp - 0x58], rax
lea rax, [0x180195b48]
mov qword [rbp - 0x50], rax
lea rax, [0x1800340f0]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rbp - 0x40], rax
lea rax, [fcn.180181ad0]
mov qword [rbp - 0x38], rax
lea rax, str.dictionary_____items
mov qword [rbp - 8], rax
mov qword [rbp], 2
mov qword [rbp + 0x18], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 2
lea rcx, [0x180195b90]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 3
xor r9d, r9d
call fcn.180112a90
movzx eax, byte [rsi]
test al, al
jne 0x180034eae
mov ecx, dword [0x180280010]
test cl, 1
jne 0x180034eae
cmp ecx, 0x100
jae 0x180034ddd
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x180034ddd
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x180034e15
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x180034e7f
cmp eax, 2
je 0x180034eae
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp]
mov eax, r8d
or eax, 0x20000000
mov edx, dword [rbp + 0xc]
lock cmpxchg dword [rcx], edx
je 0x180034eae
xor edx, r8d
or edx, 0x20000000
mov eax, dword [rcx]
nop word [rax + rax]
mov r8d, eax
xor r8d, edx
lock cmpxchg dword [rcx], r8d
jne 0x180034e60
cmp eax, 0x40000000
jb 0x180034eae
xor eax, edx
mov edx, eax
call fcn.180187330
jmp 0x180034eae
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x18003513c
cmp qword [0x18027fe00], 9
jne 0x180034edd
mov rax, qword [0x18027fdf8]
movabs rcx, 0x6e756f6620746f6e
xor rcx, qword [rax]
movzx eax, byte [rax + 8]
xor rax, 0x64
or rax, rcx
je 0x1800346ea
call fcn.18003dad0
test rax, rax
je 0x180034fb1
mov qword [rbp - 0x58], rax
mov rax, qword [rdi]
test rax, rax
je 0x180034f7d
lea rax, [rbp - 0x58]
mov qword [rbp - 0x50], rax
lea rax, [0x18011f610]
mov qword [rbp - 0x48], rax
lea rax, str.unable_to_attach_hooks_
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 0x18], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 1
lea rcx, [0x180195c08]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 1
xor r9d, r9d
call fcn.180112a90
mov dword [rsp + 0x20], 0x10
lea rcx, str.dfint_hook_errorUnable_to_attach_hooks__translation_unavaibleunable_to_find_config_file
lea r8, [0x180195c30]
mov edx, 0x10
mov r9d, 0x2d
call fcn.180043ba0
lea rcx, [rbp - 0x58]
call fcn.18011f620
jmp 0x1800346ea
mov rax, qword [rdi]
cmp rax, 4
jb 0x180035022
lea rax, str.hooks_attached
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov qword [rbp + 8], 8
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
lea rcx, [0x180195bc8]
call fcn.180073c30
lea rcx, str.dfint_hookoffsets_version:
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xa
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0xa
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea r8, [rbp - 0x30]
mov edx, 4
xor r9d, r9d
call fcn.180112a90
movzx eax, byte [rsi]
test al, al
jne 0x1800350f5
mov ecx, dword [0x180280010]
test cl, 1
jne 0x1800350f5
cmp ecx, 0x100
jae 0x18003506a
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x180280010], edx
jne 0x18003506a
lea rax, [0x180280010]
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
jmp 0x18003509a
lea rdx, [0x180280010]
lea r9, [0x18027fce0]
lea rcx, [rbp - 8]
lea r8, [rbp - 0x50]
call fcn.180185330
mov eax, dword [rbp - 8]
test eax, eax
je 0x1800350c6
cmp eax, 2
je 0x1800350f5
mov rax, qword [rbp]
movq xmm0, qword [rbp + 8]
lea rcx, [0x18027fce0]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movq qword [rbp - 0x20], xmm0
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x30]
call fcn.1801877f0
lea rcx, [rbp - 8]
call fcn.1800332d0
jmp 0x1800350f5
mov rcx, qword [rbp]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
je 0x1800351ba
cmp byte [0x18027fdea], 1
jne 0x1800346ea
call fcn.1800283f0
jmp 0x1800346ea
add edx, 0xffffff00
call fcn.180187330
jmp 0x1800343ae
add edx, 0xffffff00
call fcn.180187330
jmp 0x1800344be
add edx, 0xffffff00
call fcn.180187330
jmp 0x1800345fe
add edx, 0xffffff00
call fcn.180187330
jmp 0x180034eae
mov qword [rbp - 8], rax
lea rax, [0x180195a78]
mov qword [rsp + 0x20], rax
lea rcx, [0x18019580e]
lea r9, fcn.180027f80
lea r8, [rbp - 8]
mov edx, 0x2b
call fcn.180191980
ud2
add edx, 0xffffff00
call fcn.180187330
jmp 0x18003480f
add edx, 0xffffff00
call fcn.180187330
jmp 0x1800349b0
add edx, 0xffffff00
call fcn.180187330
jmp 0x180034b51
add edx, 0xffffff00
call fcn.180187330
jmp 0x180034cf2
add edx, 0xffffff00
call fcn.180187330
jmp 0x1800350f5