Function at 0x449a70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa00
mov dword [esp + 0x2dc], edx
mov esi, ecx
call 0x449a8d
pop eax
mov dword [esp + 0x48], eax
movzx eax, byte [ecx + 0x154]
lea ecx, [esp + 0x520]
test eax, eax
mov dword [esp + 0x24], esi
je 0x449ada
cmp eax, 3
jne 0x44b769
lea ebx, [esi + 0x150]
movzx eax, byte [esi + 0x150]
test eax, eax
je 0x449bdd
cmp eax, 3
jne 0x44b78c
mov edi, dword [esi + 0x14c]
jmp 0x44b88b
push 0x138
push esi
push ecx
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x628]
test eax, eax
je 0x449be8
mov dword [esp + 4], eax
lea ebx, [esp + 0x520]
mov ecx, ebx
call fcn.00424699
mov esi, dword [ebx + 0xf0]
mov edx, dword [ebx + 0xf4]
mov ecx, esi
call fcn.00467560
cmp dword [ebx + 0xec], 0
je 0x449b35
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea esi, [esp + 0x600]
mov ecx, esi
call fcn.0046fee6
mov ebx, dword [esi + 0x1c]
mov esi, dword [esi + 0x20]
test esi, esi
je 0x449b5d
xor edi, edi
push dword [ebx + edi*4]
inc edi
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
cmp esi, edi
jne 0x449b4f
cmp dword [esp + 0x618], 0
je 0x449b76
push ebx
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 0x24]
mov bl, 1
mov edi, dword [esp + 4]
lea ecx, [esp + 0x5d8]
call fcn.004677c3
test bl, bl
je 0x449bac
mov eax, dword [esp + 0x5f8]
test eax, eax
je 0x449bac
lock dec dword [eax]
jne 0x449bac
lea ecx, [esp + 0x5f8]
call fcn.0046b199
mov ecx, dword [esi + 0x13c]
mov edx, edi
call fcn.00467122
cmp eax, 1
jne 0x449bc9
test edx, edx
je 0x449bc9
mov ecx, edx
call fcn.0044980c
lea ecx, [esi + 0x138]
call fcn.00449940
mov bl, 1
xor eax, eax
jmp 0x44c68a
mov edi, dword [esi + 0x148]
jmp 0x44b87a
lea eax, [esp + 0x60c]
mov ecx, dword [eax + 8]
mov dword [esp + 0x170], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x168], xmm0
cmp byte [eax + 0x23], 0
je 0x44a215
mov eax, dword [section..data]
cmp eax, 2
jne 0x44b750
mov eax, dword [0x530004]
lock inc dword [eax]
jle 0x44d3d3
mov dword [esp + 0x360], 3
mov dword [esp + 0x364], eax
mov dword [esp + 0x38c], 0x80000000
lea esi, [esp + 0x1b0]
mov ecx, esi
mov edx, 0x4f66a1
push 8
call fcn.00499d20
add esp, 4
mov esi, dword [esi]
cmp esi, 0x80000001
jne 0x449c8d
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x2ec], eax
movq xmm0, qword [esp + 0x1b4]
movq qword [esp + 0x2e4], xmm0
jmp 0x449cd2
mov edi, dword [esp + 0x1b4]
lea ecx, [esp + 0x2e0]
mov edx, 0x4f66a9
push 8
call fcn.00499d20
add esp, 4
test esi, 0x7fffffff
je 0x449cc1
push edi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x2e0], 0x80000001
jne 0x44a181
mov ecx, dword [esp + 0x2e4]
mov esi, dword [esp + 0x2e8]
mov eax, dword [esp + 0x2ec]
test eax, eax
je 0x44a167
mov dword [esp + 0x20], ecx
xor ecx, ecx
xor edi, edi
inc edi
mov edx, 0x2c
lea ebx, [esp + 0x1c8]
mov dword [ebx - 0x18], edx
mov dword [esp + 0x10], esi
mov dword [ebx - 0x14], esi
mov dword [ebx - 0x10], eax
mov dword [ebx - 0xc], ecx
mov dword [ebx - 8], eax
mov dword [ebx - 4], edi
mov dword [ebx], edx
lea edx, [esp + 0x40]
mov dword [edx - 8], ecx
mov dword [edx - 4], edi
mov dword [edx], ecx
lea edx, [esp + 0x98]
mov dword [edx - 8], ecx
mov dword [edx - 4], 4
mov dword [edx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov word [ebx + 0xc], 1
mov eax, dword [esp + 0x1b4]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
cmp edi, edx
ja 0x449e38
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x14], eax
cmp edx, eax
ja 0x449e38
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov ebx, edx
sub ebx, edi
mov eax, dword [esp + 4]
lea esi, [eax + edi]
mov cl, byte [esp + ecx + 0x1c7]
cmp ebx, 8
jae 0x449dc0
mov eax, edx
xor edx, edx
cmp eax, edi
mov eax, 0
je 0x449dd3
xor edx, edx
cmp byte [esi + edx], cl
je 0x449dd0
inc edx
cmp ebx, edx
jne 0x449db0
xor eax, eax
mov edx, ebx
jmp 0x449dd3
movzx ecx, cl
mov edx, esi
push ebx
call fcn.0040e800
add esp, 4
jmp 0x449dd3
xor eax, eax
inc eax
cmp eax, 1
mov ecx, dword [esp + 8]
jne 0x449e2d
add edi, edx
inc edi
mov dword [esp + 0x1bc], edi
mov esi, edi
sub esi, ecx
jb 0x449e1f
cmp edi, dword [esp + 0x14]
ja 0x449e1f
cmp ecx, 5
jae 0x44b75a
mov eax, dword [esp + 4]
add eax, esi
push ecx
lea ecx, [esp + 0x1cc]
push ecx
push eax
call fcn.004b6b8a
mov ecx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x44a0f8
mov edx, dword [esp + 0xc]
cmp edi, edx
jbe 0x449d8a
jmp 0x449e38
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1bc], eax
mov byte [esp + 0x1d5], 1
cmp byte [esp + 0x1d4], 0
je 0x449e5e
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d0]
lea edi, [esp + 0x70]
jmp 0x449e78
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d0]
cmp esi, eax
lea edi, [esp + 0x70]
je 0x44a111
sub esi, eax
mov ecx, dword [esp + 4]
add ecx, eax
mov edx, esi
call fcn.00425176
test eax, eax
je 0x44a111
mov dword [esp + 8], eax
mov dword [esp + 0x70], eax
mov dword [esp + 4], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0
xor eax, eax
inc eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0x4f2fb4
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 0x4f2fc8
mov ebx, 4
lea esi, [esp + 0x2e1]
mov eax, dword [esp + ebx + 0xa0]
push edi
push dword [esp + ebx + 0xa0]
lea ecx, [esp + 0x2e8]
push ecx
call dword [eax + 0x10]
add esp, 0xc
mov cl, byte [esp + 0x2e0]
cmp cl, 2
jne 0x449f35
mov dword [esp + 0x78], 0
movdqu xmm0, xmmword [esi]
movdqa xmmword [esp + 0x750], xmm0
mov al, byte [esi + 0x10]
mov byte [esp + 0x760], al
add ebx, 8
cmp ebx, 0x14
jne 0x449eda
mov byte [esp + 0xc], cl
mov byte [esp + 0x14], 2
jmp 0x449f64
mov al, byte [esi + 0x10]
mov byte [esp + 0x760], al
movdqu xmm0, xmmword [esi]
movdqa xmmword [esp + 0x750], xmm0
movdqa xmmword [esp + 0x110], xmm0
mov byte [esp + 0x120], al
mov byte [esp + 0xc], cl
mov byte [esp + 0x14], cl
xor ebx, ebx
xor eax, eax
mov edi, dword [esp + eax*8 + 0xa0]
mov esi, dword [esp + eax*8 + 0xa4]
push edi
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x449f9a
cmp dword [esi + 8], 9
jb 0x449f8b
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
inc eax
test bl, 1
mov bl, 1
je 0x449f68
cmp byte [esp + 0xc], 2
je 0x44a022
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x74]
jne 0x44a022
mov al, byte [esp + 0x120]
movdqa xmm0, xmmword [esp + 0x110]
movdqa xmmword [esp + 0x150], xmm0
mov byte [esp + 0x160], al
mov bl, byte [esp + 0x14]
cmp bl, 2
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
je 0x44a02a
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x38]
jne 0x449ffd
lea ecx, [esp + 0x38]
call fcn.00463135
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + edx*8]
mov byte [eax + ecx*2], bl
movdqa xmm0, xmmword [esp + 0x150]
movdqu xmmword [eax + ecx*2 + 1], xmm0
mov bl, byte [esp + 0x160]
jmp 0x44a0dd
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
lea ecx, [esp + 0x280]
mov edx, edi
push esi
call fcn.0040cbb0
add esp, 4
cmp byte [esp + 0x280], 2
jne 0x44a0a5
mov ecx, esi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 4], eax
mov ebx, edx
push esi
push edi
push edx
call fcn.004b64b0
add esp, 0xc
mov edx, dword [esp + 0x98]
cmp edx, dword [esp + 0x90]
jne 0x44a083
lea ecx, [esp + 0x90]
call fcn.0048d7b4
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
lea ecx, [edx + edx*2]
mov edi, dword [esp + 4]
mov dword [eax + ecx*4], edi
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], esi
lea eax, [esp + 0x98]
jmp 0x44a0e5
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x38]
jne 0x44a0bc
lea ecx, [esp + 0x38]
call fcn.00463135
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + edx*8]
mov byte [eax + ecx*2], 2
movdqu xmm0, xmmword [esp + 0x280]
movdqu xmmword [eax + ecx*2 + 1], xmm0
mov bl, byte [esp + 0x290]
mov byte [eax + ecx*2 + 0x11], bl
lea eax, [esp + 0x40]
inc edx
mov dword [eax], edx
cmp byte [esp + 0x1d5], 0
je 0x449d47
jmp 0x44a111
mov eax, dword [esp + 0x1cc]
sub esi, eax
mov dword [esp + 0x1cc], edi
lea edi, [esp + 0x70]
jmp 0x449e7a
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b0], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x1b8], xmm0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x2f0], eax
movdqu xmm0, xmmword [esp + 0x1b0]
movdqa xmmword [esp + 0x2e0], xmm0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
jmp 0x44a16c
mov edi, 0x80000000
test ecx, ecx
je 0x44a192
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x44a192
lea ecx, [esp + 0x2e0]
call fcn.0045e3e6
mov edi, 0x80000000
lea esi, [esp + 0x38c]
mov ecx, esi
call fcn.0045c249
mov dword [esi], edi
movdqa xmm0, xmmword [esp + 0x2e0]
movdqu xmmword [esi + 4], xmm0
mov eax, dword [esp + 0x2f0]
mov dword [esi + 0x14], eax
lea edi, [esp + 0x1b0]
lea esi, [esp + 0x360]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x170]
cmp edx, dword [esp + 0x168]
jne 0x44a1f0
lea esi, [esp + 0x168]
mov ecx, esi
call fcn.00462eaf
mov edx, dword [esi + 8]
mov eax, edx
shl eax, 6
lea edi, [eax + edx*4]
add edi, dword [esp + 0x16c]
lea esi, [esp + 0x1b0]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
inc edx
mov dword [esp + 0x170], edx
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0x14
call fcn.0049cbc0
test eax, eax
je 0x44b77d
mov ebx, eax
xor esi, esi
inc esi
mov dword [eax], esi
mov dword [eax + 4], esi
mov eax, dword [esp + 0x170]
mov dword [ebx + 0x10], eax
movq xmm0, qword [esp + 0x168]
movq qword [ebx + 8], xmm0
cmp byte [esp + 0x63b], 0
jne 0x44b7a0
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 8
call fcn.0049cbc0
test eax, eax
je 0x44b7cd
mov edi, eax
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x4f7f24
mov eax, dword [esp + 0x5f8]
test eax, eax
sete byte [esp + 0x20]
mov dword [esp + 0x2c], eax
je 0x44a2c7
mov esi, dword [esp + 0x5fc]
lock dec dword [edi]
jne 0x44a2bb
lea ecx, [esp + 0x38]
mov edi, esi
mov esi, eax
call fcn.0046b199
mov eax, esi
mov esi, edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov edi, eax
jmp 0x44a2cc
mov esi, 0x4f7f24
lea ecx, [esp + 0x5d8]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x10], eax
test eax, eax
je 0x44a37d
mov dword [esp + 4], esi
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x370], xmm1
movaps xmmword [esp + 0x360], xmm0
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0x28
call fcn.0049cbc0
test eax, eax
je 0x44b7eb
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
movdqa xmm0, xmmword [esp + 0x360]
movdqa xmm1, xmmword [esp + 0x370]
movdqu xmmword [esi + 0x18], xmm1
movdqu xmmword [esi + 8], xmm0
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0x14
call fcn.0049cbc0
test eax, eax
je 0x44b77d
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov ecx, dword [esp + 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x4f7f34
mov esi, 0x4f7f34
mov edi, eax
mov dword [esp + 0x14], ebx
lock inc dword [edi]
jle 0x44d3d3
mov al, byte [0x530b2c]
xor ebx, ebx
xor ecx, ecx
mov edx, 0x68
call fcn.0049cbc0
test eax, eax
mov ecx, 1
je 0x44b7dc
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0x10], ebx
mov ecx, 0x3b9aca00
mov dword [eax + 0x20], ecx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x30], 0x11e1a300
mov dword [eax + 0x40], ecx
mov word [eax + 0x48], 1
mov byte [eax + 0x4e], bl
mov word [eax + 0x5f], 0
lea ecx, [esp + 0x70]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
mov eax, dword [esp + 0x578]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x57c]
mov esi, dword [esp + 0x580]
call fcn.0044f92a
mov dword [eax + 0x14], edi
mov ecx, dword [esp + 4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x18], esi
mov dword [esp + 0x1b0], ebx
mov word [esp + 0x1c8], 0x501
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], 4
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1c5], bl
mov al, byte [esp + 0x62c]
xor al, 1
mov byte [esp + 0x1c4], al
mov al, byte [esp + 0x62d]
mov byte [esp + 0x1c6], al
mov al, byte [esp + 0x631]
xor al, 1
mov byte [esp + 0x1c7], al
mov eax, dword [esp + 0x618]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x620]
mov ecx, dword [esp + 0x61c]
test ebx, ebx
mov dword [esp + 4], ecx
je 0x44a4dd
shl ebx, 2
mov eax, 4
xor esi, esi
xor edx, edx
mov edi, dword [ecx + esi]
cmp edx, dword [esp + 0x1b8]
jne 0x44a4c9
lea ecx, [esp + 0x1b8]
call fcn.004304e9
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
mov dword [eax + edx*4], edi
inc edx
mov dword [esp + 0x1c0], edx
add esi, 4
cmp ebx, esi
jne 0x44a49f
jmp 0x44a4fd
lea esi, [ecx + ebx*4]
sub esi, ecx
je 0x44a4fd
shr esi, 2
xor edi, edi
mov ebx, dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
push dword [ecx + edi*4]
inc edi
call ebx
mov ecx, dword [esp + 4]
cmp esi, edi
jne 0x44a4ef
cmp dword [esp + 8], 0
je 0x44a513
push ecx
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [esp + 0x628]
movzx edx, byte [eax + 0x27]
mov ecx, str.invalid_minimum_TLS_version_for_backendinvalid_maximum_TLS_version_for_backendvalid_request_parts
mov al, 1
mov edx, dword [edx*4 + 0x44d4b8]
add edx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
jmp edx
call fcn.004ce0e8
jmp 0x449c1e
mov edx, 4
push 0x5215d0
call fcn.004cb960
mov ecx, str._async_fn__resumed_after_completionmain.rs_srcclientconn.rs
mov edx, 0x23
push 0x4f53ec
call fcn.004cb970
mov ecx, 4
mov edx, 0x14
call fcn.004cb610
mov ecx, str._async_fn__resumed_after_completionmain.rs_srcclientconn.rs
mov edx, 0x23
push 0x4f790c
call fcn.004cb970
lea ecx, [esp + 0x360]
mov dword [ecx], 0x4f7fc8
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
lea edx, [esp + 0x1c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4f7fd0
call fcn.004cb8c0
mov ecx, 4
mov edx, 8
call fcn.004cb610
mov ecx, 8
mov edx, 0x68
call fcn.004cb610
mov ecx, 8
mov edx, 0x28
call fcn.004cb610
mov ecx, 4
mov edx, 0x54
call fcn.004cb610
lea eax, [esp + 0x1c]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_a4472498d7e88041f6206faf4503eb1f246fd427library_std_src_threadlocal.rs
mov edx, 0x46
push 0x4fd9d0
push 0x4f48b4
jmp 0x44d3cd
lea edi, [esi + 0x144]
mov dword [esi + 0x148], edi
lea ebx, [esi + 0x150]
mov byte [esi + 0x150], 0
mov dword [esi + 0x14c], edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x2dc]
mov esi, dword [eax]
mov ecx, esi
call fcn.004a163b
xor edx, edx
mov ecx, 0
cmp al, 2
je 0x44b8b5
mov ecx, eax
shr ecx, 0x10
mov dl, ah
test al, 1
jne 0x44c67f
mov dword [esp + 4], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov esi, dword [edi]
lea eax, [esi + 0x40]
lea edi, [esi + 0xc0]
lea ebx, [esp + 0x360]
mov ecx, ebx
mov edx, edi
mov dword [esp + 8], eax
push eax
call fcn.00466e96
add esp, 4
mov eax, dword [ebx]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x44b97e
cmp eax, 4
jne 0x44b99d
lea ecx, [esi + 0x80]
mov edx, dword [esp + 4]
call fcn.004a2801
lea ebx, [esp + 0x520]
mov ecx, ebx
mov edx, edi
push dword [esp + 8]
call fcn.00466e96
add esp, 4
mov eax, dword [ebx]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x44b9b0
cmp eax, 4
jne 0x44b9d8
cmp byte [esi + 0xcc], 0
je 0x44b950
mov eax, dword [esi + 0xe4]
cmp eax, 2
jb 0x44b9bf
cmp byte [esp + 0x14], 0
mov ebx, dword [esp + 0xc]
je 0x44c67f
xor ecx, ecx
call fcn.0049fbdf
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x44c67f
mov byte [eax + 0x34], 1
mov byte [eax + 0x35], cl
jmp 0x44c67f
mov eax, dword [esi + 0xe4]
cmp eax, 2
jb 0x44b9bf
mov ecx, str.assertion_failed:_self.inner.semaphore.is_idle__main.rs_src_syncmpscchan.rs
mov edx, 0x30
push 0x4f6124
call fcn.004cb970
lock sub dword [esi + 0xe4], 2
jae 0x44b9e6
mov ecx, 7
int 0x29
ud2
mov eax, dword [esi + 0xe4]
cmp eax, 2
jae 0x44d426
mov dword [esp + 4], 0
mov dword [esp + 8], 3
mov ebx, dword [esp + 0xc]
jmp 0x44baf0
lock sub dword [esi + 0xe4], 2
jb 0x44d4ac
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
lea esi, [ebx + 8]
lea edi, [esp + 0x1b0]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x88]
mov dword [esp + 0xfc], eax
movsd xmm0, qword [ebx + 0xa4]
movsd qword [esp + 0x120], xmm0
movdqu xmm0, xmmword [ebx + 0x94]
movdqa xmmword [esp + 0x110], xmm0
movzx eax, word [ebx + 0xad]
mov word [esp + 0x190], ax
movzx eax, word [ebx + 0xbd]
mov word [esp + 0x150], ax
mov dword [esp + 8], edx
mov eax, edx
xor eax, 4
or eax, dword [esp + 4]
mov al, byte [ebx + 0xac]
mov byte [esp + 0x88], al
mov al, byte [ebx + 0xaf]
mov byte [esp + 0x192], al
mov al, byte [ebx + 0xbf]
mov byte [esp + 0x152], al
mov al, byte [ebx + 0xbc]
mov byte [esp + 0xc4], al
mov al, byte [ebx + 0xc0]
mov byte [esp + 0x104], al
mov eax, dword [ebx + 0x8c]
mov dword [esp + 0xf8], eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0xb4]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0xc]
je 0x44c67f
lea edx, [esp + 0x2e0]
lea esi, [esp + 0x1b0]
mov ecx, 0x20
mov edi, edx
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0x250], xmm0
movaps xmm0, xmmword [esp + 0x110]
movaps xmmword [esp + 0x240], xmm0
movzx eax, word [esp + 0x190]
mov word [esp + 0xa0], ax
mov al, byte [esp + 0x192]
mov byte [esp + 0xa2], al
movzx eax, word [esp + 0x150]
mov word [esp + 0x70], ax
mov al, byte [esp + 0x152]
mov byte [esp + 0x72], al
mov byte [ebx], 1
lea edi, [esp + 0x750]
mov ecx, 0x20
mov esi, edx
rep movsd dword es:[edi], dword [esi]
movzx eax, word [esp + 0xa0]
mov word [esp + 0xca], ax
movzx eax, word [esp + 0x70]
mov word [esp + 0xb4], ax
mov eax, dword [esp + 8]
xor eax, 3
or eax, dword [esp + 4]
mov al, byte [esp + 0xa2]
mov byte [esp + 0xcc], al
mov al, byte [esp + 0x72]
mov byte [esp + 0xb6], al
movsd xmm0, qword [esp + 0x250]
movsd qword [esp + 0x290], xmm0
movaps xmm0, xmmword [esp + 0x240]
movaps xmmword [esp + 0x280], xmm0
je 0x44cb28
lea edi, [esp + 0x8a0]
lea eax, [esp + 0x750]
mov ecx, 0x20
mov esi, eax
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x740], xmm0
movaps xmm0, xmmword [esp + 0x280]
movaps xmmword [esp + 0x730], xmm0
movzx ecx, word [esp + 0xca]
mov word [esp + 0x6a], cx
mov cl, byte [esp + 0xcc]
mov byte [esp + 0x6c], cl
movzx ecx, word [esp + 0xb4]
mov word [esp + 0xb8], cx
mov cl, byte [esp + 0xb6]
mov byte [esp + 0xba], cl
lea ebx, [esp + 0x8d8]
lea edx, [esp + 0x7dc]
mov ecx, 0x12
mov edi, edx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 4]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x110], ecx
movups xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmm2, xmmword [eax + 0x20]
movq xmm3, qword [eax + 0x30]
mov eax, dword [esp + 0x744]
mov dword [esp + 0x160], eax
movups xmmword [esp + 0x118], xmm0
movdqu xmmword [esp + 0x128], xmm1
movdqu xmmword [esp + 0x138], xmm2
movq qword [esp + 0x148], xmm3
movdqu xmm0, xmmword [esp + 0x734]
movdqa xmmword [esp + 0x150], xmm0
mov eax, dword [edx + 0x20]
test eax, eax
je 0x44bdcf
mov ecx, dword [esp + 0x7f0]
mov edx, dword [esp + 0x7f4]
cmp edx, eax
jbe 0x44bd2e
cmp byte [ecx + eax], 0xbf
jle 0x44bda3
cmp eax, 5
je 0x44bd69
cmp eax, 4
jne 0x44bdcf
cmp dword [ecx], 0x70747468
jne 0x44bdcf
mov esi, dword [esp + 0x24]
mov edi, dword [esi + 0x140]
lea esi, [edi + 8]
mov dword [esp + 0x18], edi
cmp byte [edi + 0x12a], 0
jne 0x44bd9d
jmp 0x44c3d6
jne 0x44bda3
cmp eax, 5
je 0x44bd69
cmp eax, 4
jne 0x44bdcf
cmp dword [ecx], 0x70747468
jne 0x44bdcf
mov esi, dword [esp + 0x24]
mov edi, dword [esi + 0x140]
lea esi, [edi + 8]
mov dword [esp + 0x18], edi
cmp byte [edi + 0x12a], 0
jne 0x44bdb0
jmp 0x44c3d6
mov esi, 0x70747468
xor esi, dword [ecx]
movzx edi, byte [ecx + 4]
xor edi, 0x73
or edi, esi
jne 0x44bdcf
mov esi, dword [esp + 0x24]
mov edi, dword [esi + 0x140]
lea esi, [edi + 8]
mov dword [esp + 0x18], edi
cmp byte [edi + 0x12a], 0
je 0x44c3d6
cmp edx, eax
jbe 0x44bdb0
cmp byte [ecx + eax], 0xbf
jg 0x44bdb4
push 0x521974
push eax
push 0
call fcn.004cbd80
cmp edx, eax
jne 0x44bda3
cmp eax, 5
jne 0x44bdcf
mov eax, 0x70747468
xor eax, dword [ecx]
movzx ecx, byte [ecx + 4]
xor ecx, 0x73
or ecx, eax
je 0x44c3d6
call fcn.00486ef3
mov edi, eax
mov ecx, eax
call fcn.004694a5
mov ecx, 0x12
mov dword [esp + 4], edi
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x150], 0
mov esi, dword [esp + 0x108]
je 0x44be07
lea ecx, [esp + 0x154]
call fcn.0045e776
lea ecx, [esp + 0x110]
call fcn.00424699
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
cmp byte [esp + 0x88], 0xa
jb 0x44be4c
cmp dword [esp + 0x84], 0
je 0x44be4c
push dword [esp + 0x80]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x18], esi
mov edx, dword [0x5300bc]
mov eax, dword [0x5300b8]
mov ebx, eax
add ebx, 1
mov ecx, edx
adc ecx, 0
lock cmpxchg8b qword [0x5300b8]
jne 0x44be5b
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], edx
lea eax, [esp + 0x36c]
mov ecx, dword [esp + 0xc]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 8]
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 4]
mov dword [eax - 4], ecx
lea esi, [esp + 0x824]
mov ecx, 0x1f
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x88], ecx
movsd xmm0, qword [esp + 0x180]
movsd qword [eax + 0x8c], xmm0
mov ecx, dword [esp + 0x188]
mov dword [eax + 0x94], ecx
xor ecx, ecx
mov dword [eax + 0x98], ecx
mov dword [eax + 0x9c], 4
mov dword [eax + 0xa0], ecx
mov dl, byte [esp + 0x4c]
mov byte [eax + 0xa4], dl
movzx edx, word [esp + 0x34]
mov word [eax + 0xa5], dx
mov dl, byte [esp + 0x36]
mov byte [eax + 0xa7], dl
mov edx, dword [esp + 0x270]
mov dword [eax + 0xa8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xac], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 0xb0], edx
mov dl, byte [esp + 0x60]
mov byte [eax + 0xb4], dl
movzx edx, word [esp + 0x30]
mov word [eax + 0xb5], dx
mov dl, byte [esp + 0x32]
mov byte [eax + 0xb7], dl
mov edx, dword [esp + 0x18]
mov dword [eax + 0xb8], edx
mov dword [eax + 0xbc], ecx
mov edi, dword [esp + 0xd0]
mov dword [eax + 0xc0], edi
lea esi, [esp + 0x430]
lea eax, [esp + 0x920]
push 0xd8
push eax
push esi
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xdc], eax
mov byte [esi + 0xe4], 0
movzx eax, word [esp + 0x6d]
mov word [esi + 0xe5], ax
mov al, byte [esp + 0x6f]
mov byte [esi + 0xe7], al
lea eax, [esp + 0x1b0]
mov dword [esi + 0xe8], eax
xor ecx, ecx
call fcn.0049fbdf
test eax, eax
je 0x44d3ee
mov dword [esp + 0xd0], edi
mov ecx, dword [eax + 0x18]
cmp ecx, 0x7fffffff
jae 0x44d3e4
inc ecx
mov dword [eax + 0x18], ecx
mov dword [esp + 0x14], eax
mov ebx, dword [eax + 0x1c]
lea eax, [esp + 0x52c]
mov ecx, dword [esp + 0xc]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 8]
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 4]
mov dword [eax - 4], ecx
lea esi, [esp + 0x824]
mov ecx, 0x1f
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x88], ecx
movsd xmm0, qword [esp + 0x180]
movsd qword [eax + 0x8c], xmm0
mov ecx, dword [esp + 0x188]
mov dword [eax + 0x94], ecx
xor ecx, ecx
mov dword [eax + 0x98], ecx
mov dword [eax + 0x9c], 4
mov dword [eax + 0xa0], ecx
mov dl, byte [esp + 0x4c]
mov byte [eax + 0xa4], dl
movzx edx, word [esp + 0x34]
mov word [eax + 0xa5], dx
mov dl, byte [esp + 0x36]
mov byte [eax + 0xa7], dl
mov edx, dword [esp + 0x270]
mov dword [eax + 0xa8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xac], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 0xb0], edx
mov dl, byte [esp + 0x60]
mov byte [eax + 0xb4], dl
movzx edx, word [esp + 0x30]
mov word [eax + 0xb5], dx
mov dl, byte [esp + 0x32]
mov byte [eax + 0xb7], dl
mov edx, dword [esp + 0x18]
mov dword [eax + 0xb8], edx
mov dword [eax + 0xbc], ecx
mov ecx, dword [esp + 0xd0]
mov dword [eax + 0xc0], ecx
lea esi, [esp + 0x5f0]
push 0xd8
lea eax, [esp + 0x924]
push eax
push esi
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x17c]
mov dword [esi + 0xe0], eax
mov eax, dword [esp + 0x178]
mov dword [esi + 0xdc], eax
mov byte [esi + 0xe4], 0
movzx eax, word [esp + 0x6d]
mov word [esi + 0xe5], ax
mov al, byte [esp + 0x6f]
mov byte [esi + 0xe7], al
lea eax, [esp + 0x1b0]
mov dword [esi + 0xe8], eax
test ebx, ebx
je 0x44d3fe
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x1b4]
lock inc dword [ebx]
jle 0x44d3d3
mov esi, ebx
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0x240
call fcn.0049cbc0
test eax, eax
je 0x44d3d5
mov ebx, eax
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], 0xcc
xor eax, eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], 0x4f62c8
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x64], edi
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x60], eax
lea edx, [ebx + 0x40]
add esi, 8
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x6c], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x68], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x70], eax
lea edi, [ebx + 0x74]
lea esi, [esp + 0x824]
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov eax, dword [esp + 0x50]
mov dword [ebx + 0xf0], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xf4], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0xf8], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0xfc], eax
movq xmm0, qword [esp + 0x180]
movq qword [ebx + 0x100], xmm0
mov eax, dword [esp + 0x188]
mov dword [ebx + 0x108], eax
mov eax, 0
mov dword [ebx + 0x10c], eax
mov dword [ebx + 0x110], 4
mov dword [ebx + 0x114], eax
mov ecx, 0
mov al, byte [esp + 0x4c]
mov byte [ebx + 0x118], al
movzx eax, word [esp + 0x34]
mov word [ebx + 0x119], ax
mov al, byte [esp + 0x36]
mov byte [ebx + 0x11b], al
mov eax, dword [esp + 0x270]
mov dword [ebx + 0x11c], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x120], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x124], eax
mov al, byte [esp + 0x60]
mov byte [ebx + 0x128], al
movzx eax, word [esp + 0x30]
mov word [ebx + 0x129], ax
mov al, byte [esp + 0x32]
mov byte [ebx + 0x12b], al
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x12c], eax
mov dword [ebx + 0x130], ecx
mov eax, dword [esp + 0xd0]
mov dword [ebx + 0x134], eax
lea eax, [ebx + 0x138]
push 0xd8
lea ecx, [esp + 0x924]
push ecx
push eax
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x210], eax
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov dword [ebx + 0x214], eax
mov dword [ebx + 0x218], ecx
mov byte [ebx + 0x21c], 0
mov al, byte [esp + 0x6f]
mov byte [ebx + 0x21f], al
movzx eax, word [esp + 0x6d]
mov word [ebx + 0x21d], ax
xor eax, eax
mov dword [ebx + 0x220], eax
mov dword [ebx + 0x224], eax
mov dword [ebx + 0x228], eax
mov ecx, dword [esp + 0x10]
mov edx, edi
push edi
call fcn.004543a8
add esp, 4
test eax, eax
mov esi, dword [esp + 0x14]
je 0x44c3ac
mov ecx, esi
add ecx, 0x1c
mov edx, eax
call fcn.004a211b
dec dword [esi + 0x18]
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg dword [edi], ecx
mov esi, dword [esp + 0x24]
je 0x44b861
mov eax, dword [edi + 8]
push edi
call dword [eax + 0x10]
add esp, 4
jmp 0x44b861
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x30], 0
sete al
add eax, eax
lea ecx, [esp + 0x360]
mov dword [ecx], eax
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], 0
call fcn.0041d670
mov dword [esp + 0x10], eax
test eax, eax
je 0x44c62a
lea esi, [esp + 0x110]
mov dword [esp + 0x10c], edx
mov ecx, esi
call fcn.00417837
test al, al
jne 0x44d3b5
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.004174bd
mov esi, eax
movzx ecx, word [esp + 0x148]
mov dword [esp + 0xc], esi
mov dword [esp + 4], ecx
and esi, ecx
mov ecx, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x2c], eax
xor edi, edi
mov eax, dword [esp + 0x134]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
mov eax, esi
mov esi, eax
xor eax, eax
cmp esi, ebx
jae 0x44c471
movzx eax, word [ecx + esi*4]
cmp eax, 0xffff
je 0x44c537
mov dword [esp + 8], eax
movzx eax, word [ecx + esi*4 + 2]
mov edx, dword [esp + 4]
and edx, eax
mov ecx, edi
mov edi, esi
sub edi, edx
and edi, dword [esp + 4]
cmp edi, ecx
mov edi, ecx
jb 0x44c537
cmp ax, word [esp + 0xc]
jne 0x44c52c
mov eax, dword [esp + 8]
cmp dword [esp + 0x2c], eax
jbe 0x44cf2f
imul eax, eax, 0x34
mov edx, dword [esp + 0x20]
mov edx, dword [edx + eax + 0x20]
mov dword [esp + 8], edx
test edx, edx
setne dl
mov edi, dword [esp + 0x10]
cmp dword [edi], 0
mov edi, ecx
sete dh
cmp dl, dh
je 0x44c52c
mov ecx, dword [esp + 0x20]
add eax, ecx
add eax, 0x20
cmp dword [esp + 8], 0
je 0x44c51c
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x10]
cmp ecx, dword [edx + 8]
jne 0x44c52c
push ecx
mov ecx, dword [esp + 0x14]
push dword [ecx + 4]
push dword [eax + 4]
call fcn.004b6b8a
add esp, 0xc
test eax, eax
jne 0x44c52c
jmp 0x44c60b
mov al, byte [eax + 4]
mov ecx, dword [esp + 0x10]
cmp al, byte [ecx + 4]
je 0x44c60b
inc edi
inc esi
mov ecx, dword [esp + 0x14]
jmp 0x44c46f
cmp edi, 0x200
setae al
mov ecx, dword [esp + 0x110]
xor ecx, 2
or ecx, dword [esp + 0x114]
setne bl
and bl, al
lea edi, [esp + 0x520]
mov ecx, edi
mov edx, dword [esp + 0x10]
call fcn.0042098c
mov eax, dword [esp + 0x520]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x524]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x52c]
mov eax, dword [esp + 0x528]
lea ecx, [esp + 0x110]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], esi
mov eax, dword [esp + 0xc]
mov word [esp + 0x1a8], ax
mov byte [esp + 0x1aa], bl
mov esi, dword [esp + 0x10c]
mov eax, esi
add eax, 0xc
mov ecx, dword [esi]
push dword [esi + 8]
push dword [esi + 4]
push eax
push edi
call dword [ecx]
add esp, 0x10
mov al, byte [esi + 0x10]
mov byte [esp + 0x530], al
lea ecx, [esp + 0x190]
mov edx, edi
call fcn.00426ab2
lea ecx, [esp + 0x360]
call fcn.0041d670
mov dword [esp + 0x10], eax
test eax, eax
lea esi, [esp + 0x110]
jne 0x44c410
lea esi, [esp + 0x520]
lea edx, [esp + 0x7dc]
mov ecx, esi
call fcn.0048684f
cmp byte [esi], 3
jne 0x44c698
mov ecx, str.Parsed_Url_is_not_a_valid_Urioperation_timed_outURL_scheme_is_not_allowedBuilderRequestRedirectStatus
mov edx, 0x1d
call fcn.00486fc2
mov edi, eax
mov ecx, eax
call fcn.004694a5
lea esi, [esp + 0x7dc]
mov ecx, 0x12
mov dword [esp + 4], edi
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x520]
call fcn.00486e9c
jmp 0x44bdea
mov byte [ebx], 3
mov al, 1
mov bl, 3
mov esi, dword [esp + 0x24]
mov byte [esi + 0x154], bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movups xmm0, xmmword [esp + 0x53c]
movups xmmword [esp + 0x25c], xmm0
movdqu xmm0, xmmword [esp + 0x520]
movdqu xmm1, xmmword [esp + 0x530]
movdqa xmmword [esp + 0x250], xmm1
movdqa xmmword [esp + 0x240], xmm0
xor edx, edx
mov ecx, 0x4f8384
mov dword [esp + 8], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
cmp dword [esp + 0x150], 0
mov eax, 0
mov dword [esp + 0x58], 0
je 0x44c779
movdqu xmm0, xmmword [esp + 0x154]
movdqa xmmword [esp + 0xa0], xmm0
mov eax, dword [esp + 0xa0]
xor ecx, ecx
mov dword [esp + 0x54], 0
test eax, eax
je 0x44c759
lea edi, [esp + 0xac]
push dword [edi - 4]
push dword [edi - 8]
push edi
push esi
call dword [eax]
add esp, 0x10
mov eax, dword [esp + 0x520]
mov dword [esp + 0x54], eax
movq xmm0, qword [esp + 0x524]
movq qword [esp + 0x70], xmm0
mov eax, dword [esp + 0x52c]
mov dword [esp + 0x78], eax
mov ecx, dword [edi - 0xc]
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov edx, dword [esp + 0xa8]
xor eax, eax
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x129], 0
je 0x44c7d8
cmp byte [esp + 0x240], 0
je 0x44c7d8
lea ecx, [esp + 0x240]
mov edx, 0x4f8064
call fcn.00420bd1
test al, al
je 0x44c7d8
movdqu xmm0, xmmword [0x4f806c]
lea edx, [esp + 0x520]
movdqa xmmword [edx], xmm0
lea ecx, [esp + 0x110]
call fcn.00417c2c
test al, al
je 0x44cf3f
movaps xmm0, xmmword [0x4d0330]
movups xmmword [esp + 0x58c], xmm0
mov dword [esp + 0x59c], 0x1010101
xor eax, eax
mov dword [esp + 0x564], eax
mov dword [esp + 0x560], eax
mov dword [esp + 0x568], 0x4e1b3c
mov dword [esp + 0x56c], 0x521ab8
mov dword [esp + 0x570], eax
mov dword [esp + 0x574], eax
mov dword [esp + 0x578], 0x4e25b0
mov dword [esp + 0x57c], 0x52187c
mov dword [esp + 0x580], 1
mov dword [esp + 0x584], eax
mov word [esp + 0x588], 0xffff
mov byte [esp + 0x5a4], 2
mov dword [esp + 0x524], eax
mov dword [esp + 0x520], eax
movaps xmm0, xmmword [0x4d03f0]
movups xmmword [esp + 0x538], xmm0
movaps xmm0, xmmword [0x4d0400]
movups xmmword [esp + 0x548], xmm0
mov word [esp + 0x558], 0
mov dword [esp + 0x5a0], eax
mov cl, byte [esp + 0x88]
cmp cl, 9
jae 0x44cef8
mov byte [esp + 0x2e0], cl
lea esi, [esp + 0x360]
movzx ecx, word [esi]
mov word [esp + 0x2e1], cx
mov cl, byte [esi + 2]
mov byte [esp + 0x2e3], cl
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e8], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x2ec], eax
mov al, byte [esp + 0xc4]
mov byte [esp + 0x2f0], al
lea edi, [esp + 0x520]
mov ecx, esi
mov edx, edi
lea eax, [esp + 0x2e0]
push eax
call fcn.004100de
add esp, 4
movups xmm0, xmmword [esp + 0x25c]
movups xmmword [edi + 0x1c], xmm0
movaps xmm0, xmmword [esp + 0x240]
movaps xmm1, xmmword [esp + 0x250]
movaps xmmword [edi + 0x10], xmm1
movaps xmmword [edi], xmm0
lea ebx, [esp + 0x1b0]
mov ecx, ebx
mov edx, esi
push edi
call fcn.0047e96a
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov al, byte [ebx + 8]
mov byte [esp + 0xc], al
mov al, byte [ebx + 9]
mov byte [esp + 4], al
mov dword [esp + 0x14], ecx
mov eax, ecx
xor eax, 3
mov dword [esp + 0xd0], edx
or eax, edx
je 0x44d43a
lea eax, [esp + 0x1ba]
mov ebx, dword [eax + 0x7a]
mov ecx, 0x7a
push ecx
push eax
push edi
call fcn.004b64b0
add esp, 0xc
mov esi, ebx
shr esi, 8
mov eax, 0x7a
push eax
push edi
lea eax, [esp + 0x2e8]
push eax
call fcn.004b64b0
add esp, 0xc
lea eax, [esp + 0x520]
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0xc], ecx
lea edi, [esp + 0x36a]
mov eax, 0x7a
push eax
lea eax, [esp + 0x2e4]
push eax
push edi
call fcn.004b64b0
add esp, 0xc
mov al, byte [esp + 0x104]
mov byte [edi + 0x7a], al
shr ebx, 0x18
mov byte [edi + 0x7d], bl
mov word [edi + 0x7b], si
mov eax, dword [esp + 0x10]
mov dword [edi + 0x7e], eax
mov eax, dword [esp + 8]
mov dword [edi + 0x82], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x86], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x8a], eax
mov eax, dword [esp + 0xd0]
mov dword [edi - 6], eax
mov eax, dword [esp + 0x14]
mov dword [edi - 0xa], eax
mov al, byte [esp + 0xc]
mov byte [edi - 2], al
mov al, byte [esp + 4]
mov byte [edi - 1], al
movzx eax, word [esp + 0x148]
mov word [esp + 8], ax
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
mov ecx, ebx
call fcn.0041d418
mov dword [esp + 4], eax
mov esi, edx
lea eax, [ebx*4]
push eax
push edi
push edx
call fcn.004b64b0
add esp, 0xc
lea ecx, [esp + 0x520]
mov eax, dword [esp + 4]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebx
mov esi, ecx
call fcn.0041d3c1
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0x1b0]
push dword [esp + 0x138]
call fcn.004672c7
add esp, 4
mov edx, dword [esp + 0x140]
lea ecx, [esp + 0x520]
push dword [esp + 0x144]
call fcn.004671ff
add esp, 4
mov eax, dword [esp + 0x110]
test eax, eax
mov dword [esp + 0xc], esi
je 0x44cb58
cmp eax, 2
jne 0x44cb64
mov dword [esp + 4], 0
mov eax, dword [esp + 0x118]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov esi, 2
mov eax, dword [esp + 0x124]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x20], eax
jmp 0x44cb6f
mov esi, dword [esp + 0x24]
lea ecx, [esi + 0x144]
call fcn.00449940
mov eax, dword [esi + 0x140]
lock dec dword [eax]
mov bl, 1
jne 0x449bd6
mov ecx, dword [esi + 0x140]
call fcn.0047e8de
jmp 0x449bd6
mov dword [esp + 4], 0
xor esi, esi
jmp 0x44cb6f
mov dword [esp + 4], 0
xor esi, esi
inc esi
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x98], eax
movsd xmm0, qword [esp + 0x1b0]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esp + 0x520]
movsd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0x528]
mov dword [esp + 0x40], eax
lea ebx, [esp + 0x360]
mov ecx, ebx
call fcn.00424699
mov eax, dword [esp + 4]
mov dword [esp + 0x364], eax
mov dword [esp + 0x360], esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x370], eax
mov dword [esp + 0x378], edi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x37c], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x380], xmm0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x394], eax
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x38c], xmm0
movzx eax, word [esp + 8]
mov word [esp + 0x398], ax
mov eax, dword [esp + 0x520]
mov dword [esp + 0x39a], eax
movzx eax, word [esp + 0x524]
mov word [esp + 0x39e], ax
mov eax, dword [esp + 0x18]
lea esi, [eax + 0x48]
push 0x98
push ebx
lea edi, [esp + 0x528]
push edi
call fcn.004b64b0
add esp, 0xc
mov ecx, esi
mov edx, edi
call fcn.0048504f
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], edx
mov ecx, 0x3b9aca00
mov esi, dword [esp + 0x100]
mov eax, esi
cmp esi, ecx
jne 0x44ccb6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x110]
cmp eax, ecx
jne 0x44ccca
mov dword [esp + 0xd0], 0
jmp 0x44cdaa
mov dword [esp + 0xd0], 0
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
cmp esi, ecx
jne 0x44ccf7
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x108]
mov edi, dword [ecx + 0x10c]
lea esi, [esp + 0x520]
mov ecx, esi
push 0x4f71dc
push eax
push edi
call fcn.004a475e
add esp, 0xc
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 8]
movups xmm0, xmmword [esi + 0xc]
movaps xmmword [esp + 0x360], xmm0
movups xmm0, xmmword [esi + 0x1c]
movaps xmmword [esp + 0x370], xmm0
movups xmm0, xmmword [esi + 0x2c]
movaps xmmword [esp + 0x380], xmm0
movups xmm0, xmmword [esi + 0x38]
movups xmmword [esp + 0x38c], xmm0
mov eax, 0x3b9aca00
cmp edi, eax
je 0x44cdaa
mov esi, ecx
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0x48
call fcn.0049cbc0
test eax, eax
je 0x44d49d
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
movaps xmm0, xmmword [esp + 0x360]
movaps xmm1, xmmword [esp + 0x370]
movups xmmword [eax + 0xc], xmm0
movups xmmword [eax + 0x1c], xmm1
movaps xmm0, xmmword [esp + 0x380]
movups xmmword [eax + 0x2c], xmm0
movups xmm0, xmmword [esp + 0x38c]
mov dword [esp + 0xd0], eax
movups xmmword [eax + 0x38], xmm0
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
movups xmm0, xmmword [esp + 0x11c]
movaps xmmword [esp + 0x360], xmm0
movups xmm0, xmmword [esp + 0x12c]
movaps xmmword [esp + 0x370], xmm0
movups xmm0, xmmword [esp + 0x13c]
movaps xmmword [esp + 0x380], xmm0
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x18]
lock inc dword [eax]
jle 0x44d3d3
mov al, byte [esp + 0x6c]
mov byte [esp + 0x36], al
movzx eax, word [esp + 0x6a]
mov word [esp + 0x34], ax
movzx eax, word [esp + 0xb8]
mov word [esp + 0x30], ax
mov al, byte [esp + 0xba]
mov byte [esp + 0x32], al
lea eax, [esp + 0x554]
lea esi, [esp + 0x7dc]
mov ecx, 0x12
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x390]
mov dword [eax - 4], ecx
movaps xmm0, xmmword [esp + 0x380]
movaps xmmword [eax - 0x14], xmm0
movaps xmm0, xmmword [esp + 0x360]
movdqa xmm1, xmmword [esp + 0x370]
movdqa xmmword [eax - 0x24], xmm1
movaps xmmword [eax - 0x34], xmm0
lea edi, [esp + 0x824]
lea esi, [esp + 0x520]
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x188], eax
movq xmm0, qword [esp + 0x70]
movq qword [esp + 0x180], xmm0
mov al, byte [esp + 0x88]
mov byte [esp + 0x4c], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x8c], eax
mov al, byte [esp + 0xc4]
mov byte [esp + 0x60], al
jmp 0x44be50
movzx eax, cl
cmp eax, 9
jne 0x44d152
mov al, byte [esp + 0x6c]
mov byte [esp + 0x362], al
movzx eax, word [esp + 0x6a]
mov word [esp + 0x360], ax
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
jmp 0x44c8ad
mov ecx, eax
mov edx, dword [esp + 0x2c]
push 0x4f4990
call fcn.004cb900
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x124]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, eax
shl ecx, 6
lea eax, [ecx + eax*4]
mov dword [esp + 0x28], edx
add eax, edx
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x28]
cmp esi, dword [esp + 0x50]
je 0x44c7d8
lea edi, [esi + 0x44]
mov eax, dword [esi]
mov eax, dword [eax*4 + 0x44d4f4]
add eax, dword [esp + 0x48]
mov dword [esp + 0x28], edi
jmp eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
call fcn.00413c08
mov cl, byte [esp + 0x88]
jmp 0x44c8ad
lea eax, [esp + 0x1c]
mov ecx, 0x4f4966
mov edx, 0x17
push 0x4f49a0
push 0x4f4894
push eax
call fcn.004cbc80
ud2
mov ecx, 0x40
mov edx, 0x200
call fcn.004cb610
mov ecx, 0x4fc9f0
call fcn.004cbc30
lea ecx, [esp + 0x360]
call fcn.00462513
mov al, 1
jmp 0x44d413
lea ecx, [esp + 0x520]
call fcn.00462513
mov eax, dword [esp + 0x14]
dec dword [eax + 0x18]
xor eax, eax
lea ecx, [esp + 0x520]
mov byte [ecx], al
mov edx, 0x4f53fc
call fcn.004cd600
mov ecx, str.assertion_failed:_self.inner.semaphore.is_idle__main.rs_src_syncmpscchan.rs
mov edx, 0x30
push 0x4f6114
call fcn.004cb970
push 0x7a
push edi
lea eax, [esp + 0x2e8]
push eax
call fcn.004b64b0
add esp, 0xc
lea esi, [esp + 0x520]
mov eax, dword [esp + 0x10]
mov dword [esi], eax
mov eax, dword [esp + 8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
mov ecx, esi
call fcn.0045e776
mov al, byte [esp + 0xc]
mov byte [esi], al
mov al, byte [esp + 4]
mov byte [esi + 1], al
mov ecx, 0x4f803e
mov edx, 0x13
push 0x4f8054
push 0x4f721c
push esi
call fcn.004cbc80
mov ecx, 8
mov edx, 0x48
call fcn.004cb610
mov ecx, 7
int 0x29
ud2