Function at 0x180003c3e
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movdqa xmmword [rsp + 0x2e0], xmm7
movdqa xmmword [rsp + 0x2d0], xmm6
mov edi, 6
mov ecx, 6
mov edx, 1
call fcn.180005850
test rax, rax
je 0x1800053ed
mov word [rax + 4], 0x6361
mov dword [rax], 0x6d746567
xorps xmm0, xmm0
lea rsi, [rsp + 0x40]
movups xmmword [rsi + 8], xmm0
movdqu xmm0, xmmword [rsi]
lea rdx, [rsp + 0x200]
movdqu xmmword [rdx + 0x40], xmm0
mov rcx, qword [rsi + 0x10]
mov qword [rdx + 0x50], rcx
mov qword [rdx + 0x20], rdi
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x30], rdi
xor eax, eax
mov byte [rdx + 0x38], al
and qword [rdx + 0x90], 0
mov qword [rdx + 0x98], 8
and qword [rdx + 0xa0], 0
and word [rdx + 0x58], 0
mov byte [rdx + 0x18], 2
and dword [rdx + 0xa8], 0
mov byte [rdx + 0xac], al
mov ecx, 5
mov qword [rdx + 0x60], rcx
mov qword [rdx + 0x70], rcx
mov qword [rdx + 0x80], rcx
mov byte [rdx + 0xad], al
mov rcx, rsi
call fcn.180037a50
mov r13, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp rax, 2
je 0x1800053f7
mov r14, qword [rsp + 0x48]
movdqu xmm0, xmmword [rsp + 0x58]
movdqa xmmword [rsp + 0x180], xmm0
movdqu xmm1, xmmword [rsp + 0x68]
movdqa xmmword [rsp + 0x190], xmm1
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0xf0], rcx
movdqu xmmword [rsp + 0xe0], xmm1
movdqu xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0x1f0], r13
mov qword [rsp + 0x1f8], r14
mov rcx, qword [rsp + 0xd0]
and qword [rsp + 0xc8], 0
test rax, rax
je 0x180003d9b
call sub.KERNEL32.dll_CloseHandle
and qword [rsp + 0xf8], 0
mov ecx, 1
mov qword [rsp + 0x100], rcx
and qword [rsp + 0x108], 0
and qword [rsp + 0x138], 0
and qword [rsp + 0x148], 0
mov rdx, qword [rsp + 0xd8]
and qword [rsp + 0xd8], 0
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
and qword [rsp + 0xe8], 0
xor ebp, ebp
mov qword [rsp + 0x140], rcx
mov rdi, qword [rsp + 0xf0]
cmp rdx, rbp
je 0x180003e89
test rax, rax
je 0x180003ec0
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0xf8]
mov rdx, rbx
call fcn.180041a60
mov rax, qword [rsp + 0x40]
cmp rax, 3
je 0x18000553a
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x40]
mov rbp, qword [rcx + 8]
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm0
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmmword [rdx], xmm0
mov qword [rdx - 0x10], rax
mov qword [rdx - 8], rbp
lea r8, [rsp + 0x138]
mov rdx, rdi
call fcn.180041a60
mov rax, qword [rsp + 0x40]
cmp rax, 3
jne 0x180003ef6
mov rbp, qword [rsp + 0x48]
jmp 0x180004183
test rax, rax
je 0x180004199
lea rdx, [rsp + 0x150]
mov qword [rdx], rdi
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0x138]
call fcn.180037330
cmp qword [rsp + 0x40], 0
jne 0x1800055db
mov rcx, rdi
jmp 0x180003eec
lea rdx, [rsp + 0x150]
mov qword [rdx], rbx
lea rcx, [rsp + 0x40]
lea r8, [rsp + 0xf8]
call fcn.180037330
cmp qword [rsp + 0x40], 0
jne 0x180005614
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
jmp 0x180004199
lea rcx, [rsp + 0x90]
lea rbx, [rsp + 0x40]
mov rdx, qword [rbx + 8]
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x10], xmm0
movdqu xmm0, xmmword [rbx + 0x10]
movdqu xmmword [rcx], xmm0
mov qword [rcx - 0x10], rax
mov qword [rcx - 8], rdx
lea rdi, [rsp + 0x150]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rcx + 8]
lea r12, [rsp + 0x1e0]
mov qword [r12], rax
mov qword [r12 + 8], rcx
lea r15, [rsp + 0x80]
mov ecx, 2
mov rdx, r12
xor r8d, r8d
mov r9d, 0xffffffff
call sub.KERNEL32.dll_WaitForMultipleObjects
cmp eax, 1
je 0x180003fba
test eax, eax
jne 0x180004167
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x18000406b
cmp eax, 1
jne 0x180004049
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x170]
and dword [rsp + 0x40], 0
mov r8, rbx
mov r9d, 1
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x1800040ad
mov eax, dword [rsp + 0x40]
jmp 0x180004051
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x180004023
cmp eax, 1
jne 0x180003ffd
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
and dword [rsp + 0x40], 0
mov r8, rbx
mov r9d, 1
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x18000408e
mov eax, dword [rsp + 0x40]
jmp 0x180004005
mov rax, qword [rsp + 0x88]
and qword [rsp + 0x80], 0
mov rcx, qword [rsp + 0xa8]
add qword [rcx + 0x10], rax
test rax, rax
je 0x1800040d9
mov rcx, rbx
mov rdx, r15
call fcn.180041c70
cmp byte [rsp + 0x40], 0
jne 0x18000415c
test byte [rsp + 0x41], 1
jne 0x180003f49
jmp 0x1800040d9
mov rax, qword [rsp + 0x158]
and qword [rsp + 0x150], 0
mov rcx, qword [rsp + 0x178]
add qword [rcx + 0x10], rax
test rax, rax
je 0x1800040d6
mov rcx, rbx
mov rdx, rdi
call fcn.180041c70
cmp byte [rsp + 0x40], 0
jne 0x18000415c
test byte [rsp + 0x41], 1
jne 0x180003f49
jmp 0x1800040d6
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x6d
je 0x1800040c8
mov ebp, eax
mov eax, 0
cmp ebp, 0x26
je 0x180004005
jmp 0x18000416e
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x6d
je 0x1800040cf
mov ebp, eax
mov eax, 0
cmp ebp, 0x26
je 0x180004051
jmp 0x18000416e
xor eax, eax
jmp 0x180004005
xor eax, eax
jmp 0x180004051
mov rdi, r15
lea rsi, [rsp + 0x40]
mov rax, qword [rdi]
test rax, rax
je 0x180004125
cmp eax, 1
jne 0x180004110
mov rdx, qword [rdi + 0x20]
and dword [rsp + 0x40], 0
mov rcx, qword [rdi + 0x10]
mov r8, rsi
mov r9d, 1
call sub.KERNEL32.dll_GetOverlappedResult
test eax, eax
je 0x180004140
mov eax, dword [rsp + 0x40]
jmp 0x180004114
mov rax, qword [rdi + 8]
and qword [rdi], 0
mov rcx, qword [rdi + 0x28]
add qword [rcx + 0x10], rax
test rax, rax
je 0x180004163
mov rcx, rsi
mov rdx, rdi
call fcn.180041c70
cmp byte [rsp + 0x40], 0
jne 0x18000415c
test byte [rsp + 0x41], 1
jne 0x1800040de
jmp 0x180004163
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x6d
je 0x180004158
mov ebp, eax
mov eax, 0
cmp ebp, 0x26
je 0x180004114
jmp 0x18000416e
xor eax, eax
jmp 0x180004114
mov rbp, qword [rsp + 0x48]
jmp 0x180004176
xor ebp, ebp
jmp 0x180004176
call sub.KERNEL32.dll_GetLastError
mov ebp, eax
shl rbp, 0x20
or rbp, 2
lea rcx, [rsp + 0x80]
call fcn.180041b30
lea rcx, [rsp + 0x150]
call fcn.180041b30
test rbp, rbp
jne 0x180005547
mov rcx, r13
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
test eax, eax
je 0x1800041f7
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
cmp qword [rsp + 0x138], 0
je 0x1800041d2
mov rcx, qword [rsp + 0x140]
mov edx, 1
call fcn.1800058e0
or rsi, 2
cmp qword [rsp + 0xf8], 0
je 0x1800041f3
mov rcx, qword [rsp + 0x100]
mov edx, 1
call fcn.1800058e0
xor ebp, ebp
jmp 0x180004272
lea rdx, [rsp + 0x40]
and dword [rdx], 0
mov rcx, r13
call sub.KERNEL32.dll_GetExitCodeProcess
test eax, eax
je 0x1800041aa
mov ebx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x138]
movups xmmword [rsp + 0x44], xmm0
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x54], rax
movdqu xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x4c]
mov qword [rsp + 0x11c], rax
mov rax, qword [rsp + 0x54]
mov qword [rsp + 0x124], rax
mov rcx, r13
call sub.KERNEL32.dll_CloseHandle
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
test rbp, rbp
je 0x1800053f4
lea rdi, [rsp + 0x220]
movups xmm0, xmmword [rsp + 0x11c]
movups xmmword [rsp + 0x1bc], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x1b0], xmm0
mov rax, qword [rsp + 0x1c4]
movdqu xmm0, xmmword [rsp + 0x1b4]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0x48], rbp
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x50], rcx
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], ebx
mov rcx, rdi
call fcn.180001aa9
mov rdi, qword [rdi + 0x28]
xor r13d, r13d
mov r14, rdi
test rdi, rdi
sete r13b
je 0x180004315
mov r14, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x240]
add r13, r13
lea rbp, [rsp + 0x80]
sub r14, 1
jb 0x180004412
test r13, r13
je 0x180004349
cmp r13, 2
jne 0x18000435a
jmp 0x180005374
mov rdi, qword [rdi + 0x3d8]
sub rdx, 1
jae 0x180004342
mov r13d, 1
xor r15d, r15d
xor edx, edx
mov r12, r15
mov rsi, rdi
movzx eax, word [rsi + 0x3d2]
cmp r12, rax
jb 0x18000439a
mov rcx, rbp
mov r8, rsi
call fcn.180001e30
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x1800052ee
mov rdx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
jmp 0x180004360
lea r15, [r12 + 1]
test rdx, rdx
je 0x1800043c7
lea rax, [rsi + r15*8]
add rax, 0x3d8
mov rdi, qword [rax]
lea rax, [rdi + 0x3d8]
dec rdx
jne 0x1800043ae
test rsi, rsi
je 0x18000442a
xor r15d, r15d
jmp 0x1800043ca
mov rdi, rsi
imul rax, r12, 0x38
lea rbx, [rsi + rax]
add rbx, 0x168
mov rcx, rbx
call fcn.180001aa9
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x1800043fc
add rdx, rdx
mov rcx, qword [rbx + 0x28]
mov r8d, 2
call fcn.180001e7c
shl r12, 5
add rsi, r12
mov rcx, rsi
call fcn.180001ac1
xor edx, edx
jmp 0x180004328
test r13, r13
je 0x180004570
cmp r13, 1
jne 0x18000442a
test rdi, rdi
jne 0x180004578
lea rcx, [rsp + 0x200]
call fcn.180001ac1
mov ecx, 5
call fcn.180001acc
mov ecx, 5
call fcn.180001acc
mov ecx, 5
call fcn.180001acc
lea rcx, [rsp + 0x150]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
call fcn.180007650
mov esi, 0x21
mov ecx, 0x21
mov edx, 1
call fcn.180005850
test rax, rax
je 0x180005423
movaps xmm0, xmmword [0x180048040]
movups xmmword [rax], xmm0
movdqa xmm0, xmmword [0x180048050]
movdqu xmmword [rax + 0x10], xmm0
mov byte [rax + 0x20], 0xe9
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rsi
lea rsi, [rsp + 0x1b0]
mov r8d, 0x21
mov rcx, rsi
mov rdx, rax
call fcn.180002a53
mov rbp, qword [rsi]
mov rdi, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
lea rbx, [rsp + 0x200]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.180009880
cmp qword [rbx], 0
je 0x1800045a6
movdqu xmm0, xmmword [rsp + 0x208]
movdqa xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rsi
cmp byte [rsp + 0x88], 2
je 0x1800045c6
and qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 1
and qword [rsp + 0x190], 0
mov r13d, 1
xor ebp, ebp
jmp 0x1800045fe
mov rdi, qword [rdi + 0x3d8]
sub rdx, 1
jae 0x180004569
xor edx, edx
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov r8, rdi
call fcn.180001e30
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x18000442a
mov rdx, qword [rsp + 0x80]
jmp 0x180004580
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rsi
mov byte [rsp + 0x88], 2
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x188], rax
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x190], rbp
mov r13, qword [rsp + 0x188]
mov r12, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
test r12, r12
mov r14, qword [rsp + 0x158]
cmovne r14, rdi
cmovne rdi, qword [rsp + 0x168]
test rbp, rbp
je 0x180004668
cmp rbp, rdi
jae 0x18000466f
cmp rbp, 1
jne 0x180004687
mov cl, byte [r13]
cmp rdi, 0xf
ja 0x1800047a3
xor eax, eax
xor edx, edx
cmp rdi, rdx
je 0x1800047ae
lea rbp, [rdx + 1]
cmp byte [r14 + rdx], cl
mov rdx, rbp
jne 0x180004648
mov eax, 1
jmp 0x1800047ae
mov bl, 1
jmp 0x180004b29
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, rdi
call fcn.18000eaee
mov ebx, eax
jmp 0x180004b29
cmp rbp, 0x21
jae 0x180004747
mov al, byte [r13]
mov esi, 1
cmp rbp, 2
je 0x1800046d0
xor edx, edx
mov rcx, rbp
sub rcx, 4
cmovae rdx, rcx
mov rcx, rbp
cmp rdx, rcx
jae 0x180004747
lea rsi, [rcx - 1]
cmp rsi, rbp
jae 0x180005308
cmp byte [r13 + rcx - 1], al
mov rcx, rsi
je 0x1800046b0
lea rcx, [rbp + 0xf]
cmp rcx, rdi
jbe 0x1800048b6
lea rbx, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_sliceiter.rs
cmp rdi, rbp
jb 0x180004aed
mov rcx, rbp
mov rdx, r14
mov r8, rdi
lea r9, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_sliceiter.rs
call fcn.180001370
mov rsi, rax
mov r15, rdx
mov ecx, 1
mov rdx, r14
mov r8, rdi
mov r9, rbx
call fcn.1800013b2
test rsi, rsi
je 0x180004aed
mov r14, rax
mov rdi, rdx
mov rcx, rsi
mov rdx, r15
mov r8, r13
mov r9, rbp
call fcn.18000eaee
test al, al
je 0x1800046e4
mov r9b, 1
jmp 0x180004af0
mov qword [rsp + 0x20], rbp
lea rsi, [rsp + 0x200]
mov rcx, rsi
mov rdx, r14
mov r8, rdi
mov r9, r13
call fcn.18000ba60
cmp qword [rsi + 0x20], 0
je 0x1800047b7
lea rdx, [rsp + 0x228]
cmp qword [rdx + 0x30], 0xffffffffffffffff
mov r8, qword [rdx - 0x28]
mov r9, qword [rdx - 0x20]
mov rax, qword [rdx - 0x18]
mov rcx, qword [rdx - 0x10]
je 0x180004acf
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
jmp 0x180004ade
mov rdx, r14
mov r8, rdi
call fcn.180009760
cmp rax, 1
jmp 0x180004b26
mov r10b, byte [rsp + 0x23a]
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x208]
mov al, byte [rsp + 0x238]
mov r8, qword [rsp + 0x228]
xor r9d, r9d
test r10b, r10b
jne 0x180004b16
mov rbp, rdx
test r8, r8
je 0x18000480c
mov rbp, rdx
sub rbp, r8
jbe 0x180004806
cmp byte [rcx + r8], 0xbf
jg 0x18000480c
jmp 0x18000564d
jne 0x18000564d
test rbp, rbp
je 0x180004af8
movzx edi, byte [rcx + r8]
test dil, dil
jns 0x18000486f
mov esi, edi
and esi, 0x1f
movzx ebx, byte [rcx + r8 + 1]
and ebx, 0x3f
cmp dil, 0xdf
jbe 0x18000485f
movzx ebp, byte [rcx + r8 + 2]
shl ebx, 6
and ebp, 0x3f
or ebp, ebx
cmp dil, 0xf0
jb 0x180004868
movzx edi, byte [rcx + r8 + 3]
and esi, 7
shl esi, 0x12
shl ebp, 6
and edi, 0x3f
or edi, ebp
or edi, esi
jmp 0x18000486f
shl esi, 6
or esi, ebx
mov edi, esi
jmp 0x18000486f
shl esi, 0xc
or ebp, esi
mov edi, ebp
test al, al
jne 0x180004b00
cmp edi, 0x110000
je 0x180004b16
mov eax, 1
cmp edi, 0x80
jb 0x1800048ac
mov eax, 2
cmp edi, 0x800
jb 0x1800048ac
cmp edi, 0x10000
mov eax, 4
sbb rax, 0
add r8, rax
mov al, 1
jmp 0x1800047e1
mov qword [rsp + 0x1d0], rcx
mov qword [rsp + 0x1d8], r12
cmp rsi, rbp
jae 0x180005368
lea rbx, [rbp - 1]
movzx eax, al
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
movzx eax, byte [r13 + rsi]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm7, xmm0, 0
lea r9, [0x1800483d8]
mov ecx, 1
mov rdx, r13
mov r8, rbp
call fcn.1800013b2
mov r10, rbx
lea rcx, [rsp + 0x200]
mov qword [rcx], r14
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rdx
lea r12, [r14 + rsi]
mov r15, 0xfffffffffffffff0
xor r13d, r13d
mov rbx, r14
xor r9d, r9d
mov qword [rsp + 0xb8], r10
lea rax, [r10 + r13]
add rax, 0x40
cmp rax, rdi
jae 0x180004a0e
mov eax, r9d
and al, 1
jne 0x180004a0e
add r13, 0x40
and qword [rsp + 0xc8], 0
xor eax, eax
cmp rax, 8
je 0x1800049a7
movdqu xmm0, xmmword [rbx + rax*8]
movdqu xmm1, xmmword [r12 + rax*8]
pcmpeqb xmm0, xmm6
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb ecx, xmm1
mov word [rsp + rax + 0xc8], cx
add rax, 2
jmp 0x180004978
xor ebp, ebp
mov rdx, rbp
shl rdx, 4
add rdx, r15
cmp rbp, 4
je 0x1800049fd
movzx r8d, word [rsp + rbp*2 + 0xc8]
inc rbp
add rdx, 0x10
test r8w, r8w
je 0x1800049b3
and r9b, 1
mov dword [rsp + 0xc0], r9d
lea rcx, [rsp + 0x200]
call fcn.180001b09
mov r9d, dword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
or r9b, al
jmp 0x1800049a9
add r12, 0x40
add rbx, 0x40
add r15, 0x40
jmp 0x18000494d
lea rbx, [r14 + rsi]
lea r15, [rsp + 0x200]
mov r12, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x1d0]
and r9b, 1
mov rax, rbp
add rax, r13
cmp rax, rdi
jae 0x180004a80
test r9b, r9b
jne 0x180004a80
movdqu xmm0, xmmword [r14 + r13]
movdqu xmm1, xmmword [rbx + r13]
pcmpeqb xmm0, xmm6
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb r8d, xmm1
add r13, 0x10
test r8d, r8d
je 0x180004a2e
lea rdx, [r13 - 0x10]
mov rcx, r15
xor r9d, r9d
call fcn.180001b09
mov r10, qword [rsp + 0xb8]
mov r9d, eax
jmp 0x180004a2a
sub rdi, r10
lea rax, [r14 + rdi]
add rax, 0xfffffffffffffff0
movdqu xmm0, xmmword [r14 + rdi - 0x10]
movdqu xmm1, xmmword [rsi + rax]
pcmpeqb xmm0, xmm6
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb r8d, xmm1
test r8d, r8d
je 0x180004af0
add rdi, 0xfffffffffffffff0
test r9b, r9b
setne bl
lea rcx, [rsp + 0x200]
mov rdx, rdi
call fcn.180001b09
mov r9d, eax
or r9b, bl
jmp 0x180004af0
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rsp + 0xc8]
call fcn.180001b9d
jmp 0x180004b1e
xor r9d, r9d
test r9b, r9b
setne bl
jmp 0x180004b29
test al, al
je 0x1800052e6
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0xd8], r8
mov r9d, 1
mov qword [rsp + 0xc8], r9
cmp dword [rsp + 0xc8], 1
sete bl
lea r14, [rsp + 0x180]
mov rcx, r14
call fcn.180001aa9
cmp byte [rsp + 0x88], 2
je 0x180004b50
lea rcx, [rsp + 0x90]
call fcn.180001aa9
lea rcx, [rsp + 0x110]
call fcn.180001aa9
test r12, r12
je 0x180004b6f
lea rcx, [rsp + 0x158]
call fcn.180001aa9
lea rcx, [rsp + 0x40]
call fcn.180001aa9
lea rcx, [rsp + 0x58]
call fcn.180001aa9
test bl, bl
je 0x1800051ae
lea rdx, [0x1800486c8]
lea rsi, [rsp + 0x200]
mov r8d, 0x38cf3d
mov rcx, rsi
call fcn.180001dc4
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rdi, [rsp + 0x150]
mov rcx, rdi
call fcn.180001dc4
mov rcx, rsi
call fcn.180001aa9
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
xor eax, eax
cmp r8, rax
je 0x180004be0
add byte [rdx + rax], 0x70
inc rax
jmp 0x180004bd2
lea rcx, [rsp + 0x80]
call fcn.180002a53
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x18000548d
mov r12, rax
mov rsi, qword [rsp + 0x90]
mov rcx, rax
mov edx, 8
mov r8, rsi
call fcn.1800454cc
test rax, rax
je 0x1800054c5
mov r13, rax
mov rdx, qword [rsp + 0x88]
mov rcx, rax
mov r8, rsi
call fcn.180045e00
and dword [rsp + 0xf8], 0
lea rax, str.stdoutlibrary_std_srciomod.rs
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], 6
mov al, byte [0x1803e1020]
test al, al
je 0x180004cb1
call fcn.1800367d0
test rax, rax
je 0x180004cb1
mov rbp, rax
mov rdi, qword [rax]
and qword [rax], 0
test rdi, rdi
je 0x180004cb1
mov qword [rsp + 0x40], rdi
lea r14, [rdi + 0x10]
mov rcx, r14
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1803e10b0]
shl rax, 1
test rax, rax
je 0x1800051d2
call fcn.18001b360
mov r15d, eax
xor r15b, 1
jmp 0x1800051d5
mov rax, qword [0x1803e1068]
cmp rax, 3
je 0x180004f72
mov rax, qword [0x1803e1068]
cmp rax, 3
je 0x180004f6a
mov rbp, qword [0x1803e1068]
lea rdi, [rsp + 0x42]
mov r14d, 2
xor r15d, r15d
lea rbx, [0x1803d7f18]
cmp rbp, 2
jae 0x180004d0b
mov rax, rbp
lock cmpxchg qword [0x1803e1068], r14
mov rbp, rax
jne 0x180004cef
jmp 0x180004efd
cmp rbp, 3
je 0x180004f6a
mov eax, ebp
and eax, 3
cmp eax, 2
jne 0x1800053d5
call fcn.180016460
test rax, rax
je 0x180005320
mov rsi, rax
cmp qword [rax], 0
jne 0x18000533a
or qword [rsi], 0xffffffffffffffff
mov rax, qword [rsi + 8]
test rax, rax
jne 0x180004d54
call fcn.180016210
mov qword [rsi + 8], rax
lock inc qword [rax]
jle 0x18000531c
inc qword [rsi]
lea rcx, [rbp - 2]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x48], rcx
mov rax, rbp
lock cmpxchg qword [0x1803e1068], rdi
je 0x180004ecb
mov rbp, rax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x180004da3
lock dec qword [rax]
jne 0x180004da3
mov rcx, qword [rsp + 0x40]
call fcn.1800165c0
mov eax, ebp
and eax, 3
cmp eax, 2
je 0x180004d23
jmp 0x180004ef1
call fcn.180016460
mov rsi, rax
test rax, rax
je 0x180005387
cmp qword [rsi], 0
jne 0x1800053a4
or qword [rsi], 0xffffffffffffffff
mov rbp, qword [rsi + 8]
test rbp, rbp
jne 0x180004dea
call fcn.180016210
mov rbp, rax
mov qword [rsi + 8], rax
lock inc qword [rbp]
jle 0x18000531c
inc qword [rsi]
mov qword [rsp + 0x110], rbp
lock dec byte [rbp + 0x28]
je 0x180004eb0
add rbp, 0x28
mov rsi, qword [0x1803e10f8]
test rsi, rsi
je 0x180004e3a
mov r8d, 1
mov rcx, rbp
mov rdx, rbx
mov r9d, 0xffffffff
call rsi
mov al, 1
lock cmpxchg byte [rbp], r15b
jne 0x180004e1a
jmp 0x180004eb0
mov rcx, qword [0x180047048]
cmp rcx, 0xffffffffffffffff
jne 0x180004e99
or qword [rsp + 0x1b0], 0xffffffffffffffff
mov rax, qword [0x180047070]
lea rcx, [rsp + 0x1b0]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rax
test eax, eax
jne 0x180005434
mov rcx, qword [rsp + 0x1b0]
mov rax, 0xffffffffffffffff
lock cmpxchg qword [0x180047048], rcx
je 0x180004e99
mov rsi, rax
call sub.KERNEL32.dll_CloseHandle
mov rcx, rsi
mov rax, qword [0x180047080]
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call rax
xor eax, eax
xchg byte [rbp], al
mov rax, qword [rsp + 0x110]
lock dec qword [rax]
jne 0x180004ecb
mov rcx, qword [rsp + 0x110]
call fcn.1800165c0
mov al, byte [rsp + 0x50]
test al, al
je 0x180004db6
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x180004ef1
lock dec qword [rax]
jne 0x180004ef1
mov rcx, qword [rsp + 0x40]
call fcn.1800165c0
mov rbp, qword [0x1803e1068]
jmp 0x180004cef
mov ecx, 0x400
mov edx, 1
call fcn.180005850
test rax, rax
je 0x180005672
pxor xmm0, xmm0
movdqu xmmword [0x1803e1028], xmm0
and qword [0x1803e1038], 0
mov qword [0x1803e1040], 0x400
mov qword [0x1803e1048], rax
and qword [0x1803e1050], 0
and dword [0x1803e1058], 0
and word [0x1803e105c], 0
and dword [0x1803e1060], 0
lea rdx, [0x1803e1068]
mov ecx, 3
call fcn.180016700
lea r14, [rsp + 0x180]
mov ecx, dword [0x180047040]
test ecx, ecx
je 0x1800052ad
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x180004f9a
mov rbx, rax
cmp byte [rax + 8], 0
jne 0x180005030
mov ecx, dword [0x180047040]
test ecx, ecx
je 0x1800052c0
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x180004fe9
mov rbx, rax
cmp rax, 1
jne 0x18000502a
lea rax, [0x1803d8f50]
mov qword [rsp + 0x20], rax
lea rcx, [0x1803d8eeb]
lea r9, [0x1803d8220]
lea r8, [rsp + 0x1e0]
mov edx, 0x46
jmp 0x180005361
mov ecx, 0x10
mov edx, 8
call fcn.180005850
test rax, rax
je 0x180005663
mov rbx, rax
lea rax, [0x180047028]
mov qword [rbx], rax
mov byte [rbx + 8], 0
mov ecx, dword [0x180047040]
test ecx, ecx
je 0x1800052d3
dec ecx
mov rdx, rbx
call sub.KERNEL32.dll_TlsSetValue
mov word [rbx + 8], 1
add rbx, 9
mov rax, qword [0x1803e1030]
cmp rax, rbx
jne 0x180005062
mov eax, dword [0x1803e1060]
inc eax
jne 0x18000507a
lea rcx, str.lock_count_overflow_in_reentrant_mutexlibrary_std_src_sync_remutex.rs
lea r8, [0x1803d9a18]
mov edx, 0x26
jmp 0x180005333
lea rcx, [0x1803e1028]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov qword [0x1803e1030], rbx
mov eax, 1
mov dword [0x1803e1060], eax
lea rax, [0x1803e1028]
lea rdi, [rsp + 0xc8]
mov qword [rdi], rax
lea rbx, [rsp + 0x40]
mov qword [rbx + 8], rdi
and qword [rbx], 0
lea r8, [rsp + 0x200]
and qword [r8], 0
lea rax, str.try_run_shellcode_n
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], 1
lea rax, str.capacity_overflow
mov qword [r8 + 0x20], rax
and qword [r8 + 0x28], 0
lea rdx, fcn.1800183c0
mov rcx, rbx
call fcn.180009160
mov rbp, qword [rsp + 0x40]
test al, al
je 0x1800050f6
test rbp, rbp
lea rsi, str.formatter_error
cmovne rsi, rbp
jmp 0x18000513b
xor esi, esi
test rbp, rbp
je 0x18000513b
mov eax, ebp
and eax, 3
cmp eax, 1
jne 0x18000513b
lea rsi, [rbp - 1]
mov rcx, qword [rbp - 1]
mov rax, qword [rbp + 7]
call qword [rax]
mov rax, qword [rbp + 7]
cmp qword [rax + 8], 0
je 0x18000512c
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.1800058e0
mov edx, 8
mov rcx, rsi
call fcn.1800058e0
xor esi, esi
mov rcx, qword [rsp + 0xc8]
dec dword [rcx + 0x38]
jne 0x180005155
mov qword [rcx + 8], 0
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
test rsi, rsi
jne 0x180005578
mov rdx, qword [rsp + 0x90]
lea r9, [rsp + 0xf8]
mov rcx, r13
mov r8d, 0x20
call sub.KERNEL32.dll_VirtualProtect
test eax, eax
je 0x1800054fd
call r13
mov rcx, r12
xor edx, edx
mov r8, r13
call fcn.1800454c4
lea rcx, [rsp + 0x80]
call fcn.180001aa9
lea rcx, [rsp + 0x150]
call fcn.180001aa9
movaps xmm6, xmmword [rsp + 0x2d0]
movaps xmm7, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
mov al, byte [rdi + 0x18]
lea rcx, [rdi + 0x20]
lea rdx, [rsp + 0x200]
and qword [rdx], 0
lea rax, str.try_run_shellcode_n
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], 1
lea rax, str.capacity_overflow
mov qword [rdx + 0x20], rax
and qword [rdx + 0x28], 0
call fcn.180036a90
mov rsi, rax
test rax, rax
je 0x180005256
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x180005256
mov rbx, rsi
dec rbx
mov rcx, qword [rsi - 1]
mov rax, qword [rsi + 7]
call qword [rax]
mov rax, qword [rsi + 7]
cmp qword [rax + 8], 0
je 0x180005249
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbx]
call fcn.1800058e0
mov edx, 8
mov rcx, rbx
call fcn.1800058e0
test r15b, r15b
je 0x180005288
mov rcx, r14
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rcx, qword [rbp]
mov qword [rbp], rdi
test rcx, rcx
je 0x18000515e
lock dec qword [rcx]
jne 0x18000515e
call fcn.180036920
jmp 0x18000515e
movabs rax, 0x7fffffffffffffff
mov rcx, qword [0x1803e10b0]
test rcx, rax
je 0x18000525b
call fcn.18001b360
test al, al
jne 0x18000525b
mov byte [rdi + 0x18], 1
jmp 0x18000525b
lea rcx, [0x180047028]
call fcn.180016c50
mov ecx, eax
jmp 0x180004f82
lea rcx, [0x180047028]
call fcn.180016c50
mov ecx, eax
jmp 0x180004faa
lea rcx, [0x180047028]
call fcn.180016c50
mov ecx, eax
jmp 0x180005022
xor r9d, r9d
jmp 0x180004b16
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.180008ed0
ud2
dec rcx
lea r8, [0x1803d7eb8]
mov rdx, rbp
call fcn.180007d00
ud2
ud2
lea rcx, str.use_of_std::thread::current___is_not_possible_after_the_threads_local_data_has_been_destroyed
lea r8, str.library_std_src_threadmod.rsfailed_to_spawn_thread
mov edx, 0x5e
call fcn.180009c70
ud2
lea rax, [0x1803d9bf8]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedlibrary_std_srcio_stdio.rs
lea r9, [0x1803d8200]
lea r8, [rsp + 0x1e0]
mov edx, 0x10
call fcn.180009a80
ud2
lea r8, [0x1800483c0]
mov rcx, rsi
jmp 0x180005312
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrary_alloc_srccollections_btree_navigate.rs
jmp 0x1800052fc
lea rcx, str.use_of_std::thread::current___is_not_possible_after_the_threads_local_data_has_been_destroyed
lea r8, str.library_std_src_threadmod.rsfailed_to_spawn_thread
mov edx, 0x5e
call fcn.180009c70
jmp 0x18000583f
lea rax, [0x1803d9bf8]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedlibrary_std_srcio_stdio.rs
lea r9, [0x1803d8200]
lea r8, [rsp + 0x1e0]
mov edx, 0x10
call fcn.180009a80
jmp 0x18000583f
lea rcx, str.assertion_failed:_state_and_queue.addr____STATE_MASK__RUNNING
lea r8, str.library_std_src_synconce.rs
mov edx, 0x40
jmp 0x180005301
mov ecx, 6
jmp 0x180005428
mov r13, rsi
lea r8, [rsp + 0x40]
mov qword [r8], r13
lea rax, [0x1800486b0]
mov qword [rsp + 0x20], rax
lea rcx, [0x18004868e]
lea r9, [0x1800483f0]
mov edx, 0x20
jmp 0x180005361
mov ecx, 0x21
mov edx, 1
call fcn.180007550
ud2
lea rcx, [rsp + 0x138]
mov dword [rcx], eax
lea rax, [rsp + 0xc8]
mov qword [rax], rcx
lea rdx, str.Unable_to_create_keyed_event_handle:_error
lea rcx, [rsp + 0x200]
mov qword [rcx + 0x10], rdx
mov edx, 1
mov qword [rcx + 0x18], rdx
and qword [rcx], 0
lea rbp, [0x18000c720]
mov qword [rax + 8], rbp
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rdx
lea rdx, str.library_std_src_syswindows_thread_parking.rs
call fcn.180007cc0
jmp 0x18000583f
lea rax, str.Failed_to_get_process_heap
lea rcx, [rsp + 0x200]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str.capacity_overflow
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, [0x1803d5630]
jmp 0x180005533
lea rax, str.Failed_to_allocate_memory_for_shellcode
lea rcx, [rsp + 0x200]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str.capacity_overflow
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, [0x1803d5680]
jmp 0x180005533
lea rax, str.Failed_to_change_memory_protection
lea rcx, [rsp + 0x200]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str.capacity_overflow
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, [0x1803d56f8]
call fcn.180007cc0
ud2
mov rbp, qword [rsp + 0x48]
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
lea r8, [rsp + 0x40]
mov qword [r8], rbp
lea rax, [0x1803d9b78]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.180033190
mov edx, 0x2b
call fcn.180009a80
jmp 0x18000583f
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0x40], r14
lea rax, [0x1800090e0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdi
lea rax, str.failed_printing_to_:
lea rcx, [rsp + 0x200]
mov qword [rcx + 0x10], rax
mov eax, 2
mov qword [rcx + 0x18], rax
and qword [rcx], 0
lea rdx, [0x180033210]
mov qword [rsp + 0x58], rdx
mov qword [rcx + 0x20], rbx
mov qword [rcx + 0x28], rax
lea rdx, [0x1803d95e0]
call fcn.180007cc0
jmp 0x18000583f
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x80]
mov qword [r8], rax
lea rax, [0x1803d9ba8]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.180033190
mov edx, 0x2b
call fcn.180009a80
jmp 0x18000583f
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x80]
mov qword [r8], rax
lea rax, [0x1803d9b90]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.180033190
mov edx, 0x2b
call fcn.180009a80
jmp 0x18000583f
lea rax, [0x1803d8c88]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.18000ab80
ud2
mov ecx, 0x10
mov edx, 8
jmp 0x18000542d
mov ecx, 0x400
mov edx, 1
call fcn.180007550
jmp 0x18000583f
ud2