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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
mov esi, dword [ebp + 8]
movzx eax, byte [esi + 0x60]
test eax, eax
je 0x4a7fb1
cmp eax, 3
je 0x4a8026
push 0x23
pop edx
mov ecx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainpolling_StreamFuture_twicemain.rs_src_stream_streaminto_future.rs
push 0x540fd4
jmp 0x4a899d
mov eax, dword [esi + 8]
mov dword [esp + 0x148], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x140], xmm0
movups xmm0, xmmword [esi + 0xc]
movups xmm1, xmmword [esi + 0x1c]
movups xmmword [esp + 0x14c], xmm0
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x16c], eax
movups xmmword [esp + 0x15c], xmm1
movups xmm0, xmmword [esp + 0x160]
movaps xmmword [esp + 0x280], xmm0
movups xmm1, xmmword [esp + 0x150]
movaps xmmword [esp + 0x270], xmm1
movups xmm2, xmmword [esp + 0x140]
movaps xmmword [esp + 0x260], xmm2
movups xmmword [esi + 0x50], xmm0
movups xmmword [esi + 0x40], xmm1
movups xmmword [esi + 0x30], xmm2
cmp byte [esi + 0x5c], 2
je 0x4a895a
lea eax, [esi + 0x30]
mov dword [esp + 0x18], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
mov edx, dword [esi + 0x50]
add edx, 8
lea edi, [esp + 0x140]
mov ecx, edi
call fcn.0042d2f6
mov ecx, edi
mov edx, 0x526c74
call fcn.004337fa
mov edi, eax
mov ebx, edx
mov eax, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
lea ecx, [esp + 0x1e8]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
lea eax, [edi + 0x128]
mov dword [ecx], eax
call fcn.00436850
lea edx, [eax + 0xac]
mov eax, edi
add eax, 0x6c
lea esi, [esp + 0x140]
mov ecx, esi
push eax
call fcn.00433413
pop eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, eax
xor edx, 6
or edx, ecx
movzx edx, bl
mov dword [esp + 4], edx
jne 0x4a812c
lea ecx, [esp + 0x1e8]
call fcn.00436868
lea edx, [eax + 0x20]
lea esi, [esp + 0x50]
mov ecx, esi
call fcn.00430fec
mov bl, byte [esi]
cmp bl, 3
jne 0x4a8227
cmp byte [esp + 0x51], 0
je 0x4a82d4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx]
add esp, 4
mov ebx, eax
mov dword [esp], edx
lea ecx, [esp + 0x1e8]
call fcn.00436850
mov esi, eax
mov eax, dword [eax + 0x50]
test eax, eax
je 0x4a8113
push dword [esi + 0x54]
call dword [eax + 0xc]
add esp, 4
mov dword [esi + 0x50], ebx
mov eax, dword [esp]
mov dword [esi + 0x54], eax
mov ecx, edi
mov edx, dword [esp + 4]
call fcn.004e3618
jmp 0x4a81fc
mov dword [esp + 0x14], edi
mov esi, eax
add esi, 0xfffffffc
mov edx, ecx
adc edx, 0xffffffff
xor ebx, ebx
xor edi, edi
inc edi
cmp edi, esi
sbb ebx, edx
setb dl
cmp esi, 0xffffffff
sete dh
xor eax, 3
or eax, ecx
jne 0x4a897c
or dl, dh
je 0x4a897c
mov esi, dword [esp + 0x148]
mov edi, dword [esp + 0x14c]
mov bl, byte [esp + 0x150]
mov al, byte [esp + 0x151]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x18c]
mov dword [esp + 0xa0], eax
movzx eax, word [esp + 0x152]
mov word [esp + 8], ax
movups xmm0, xmmword [esp + 0x15c]
movaps xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x16c]
movaps xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esp + 0x17c]
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
call fcn.004e3618
mov eax, esi
xor eax, 3
or eax, edi
je 0x4a825e
mov eax, esi
xor eax, 4
or eax, edi
jne 0x4a8267
mov edi, dword [esp + 0x18]
cmp dword [edi], 2
je 0x4a8990
mov ecx, edi
mov edx, dword [ebp + 0xc]
call fcn.0047b232
test al, al
mov esi, dword [ebp + 8]
je 0x4a8944
mov cl, 3
mov al, 1
jmp 0x4a894f
mov al, byte [esp + 0x51]
mov byte [esp + 0xc], al
movzx eax, word [esp + 0x52]
mov word [esp + 8], ax
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x70], xmm0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x78], eax
jmp 0x4a82f4
mov esi, dword [esp + 0x1c]
jmp 0x4a82ff
mov dword [esp + 4], edi
movsd xmm0, qword [esp + 0x9c]
lea ecx, [esp + 0x130]
movsd qword [ecx - 8], xmm0
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [ecx - 0x18], xmm0
movups xmm0, xmmword [esp + 0x7c]
movups xmmword [ecx - 0x28], xmm0
mov byte [ecx - 0x40], bl
mov al, byte [esp + 0xc]
mov byte [ecx - 0x3f], al
movzx eax, word [esp + 8]
mov word [ecx - 0x3e], ax
mov eax, dword [esp + 0x1c]
mov dword [ecx - 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [ecx - 0x38], eax
mov eax, dword [esp + 0x78]
mov dword [ecx - 0x2c], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [ecx - 0x34], xmm0
mov ebx, dword [esp]
mov edx, ebx
call fcn.00433841
jmp 0x4a834e
lea ecx, [esp + 0x1e8]
call fcn.00436868
mov esi, dword [eax + 0xcc]
mov byte [esp + 0xc], 1
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
xor ebx, ebx
mov ecx, edi
mov edx, dword [esp + 4]
call fcn.004e3618
lea edx, [esp + 0x140]
mov byte [edx], bl
mov al, byte [esp + 0xc]
mov byte [edx + 1], al
movzx eax, word [esp + 8]
mov word [edx + 2], ax
mov dword [edx + 4], esi
mov eax, dword [esp + 0x10]
mov dword [edx + 8], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [edx + 0xc], xmm0
mov eax, dword [esp + 0x78]
mov dword [edx + 0x14], eax
lea ecx, [esp + 0xf0]
call fcn.0043307d
mov dword [esp + 4], 0
push 3
pop esi
mov ebx, dword [esp]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0xf0]
movaps xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [esp + 0x108]
movaps xmmword [esp + 0x220], xmm0
movups xmm0, xmmword [esp + 0x118]
movaps xmmword [esp + 0x230], xmm0
movups xmm0, xmmword [esp + 0x128]
movaps xmmword [esp + 0x240], xmm0
movsd xmm0, qword [esp + 0x138]
movsd qword [esp + 0x250], xmm0
mov edi, dword [ebp + 8]
cmp byte [edi + 0x5c], 2
je 0x4a8969
lea eax, [edi + 0x3c]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x40], ecx
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x30], xmm0
mov ecx, ebx
call fcn.004716aa
mov byte [edi + 0x5c], 2
mov ebx, esi
xor ebx, 3
mov eax, ebx
mov edi, dword [esp + 4]
or eax, edi
jne 0x4a8431
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x150], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x140], xmm0
mov ecx, dword [esp + 0x40]
call fcn.0044444f
test eax, eax
je 0x4a869e
mov esi, eax
lea ecx, [esp + 0x140]
call fcn.00444413
jmp 0x4a857d
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
movaps xmm0, xmmword [esp + 0xd0]
movups xmmword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 0x88], xmm0
movaps xmm0, xmmword [esp + 0x220]
movaps xmm1, xmmword [esp + 0x230]
movups xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0xa0], xmm1
movaps xmm0, xmmword [esp + 0x240]
movups xmmword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0x250]
movsd qword [esp + 0xc0], xmm0
mov edi, dword [esp + 0x40]
test edi, edi
je 0x4a84d7
lea edx, [edi + 8]
lea esi, [esp + 0x140]
mov ecx, esi
call fcn.004406c8
mov ecx, esi
mov edx, 0x529fa4
call fcn.004442d8
mov esi, eax
mov byte [esp], dl
lea ecx, [eax + 8]
call fcn.00444310
movzx edx, byte [esp]
mov ecx, esi
call fcn.0044432c
mov dword [esp + 0xc], edi
lea esi, [esp + 0x290]
lea edi, [esp + 0x70]
mov ecx, esi
mov edx, edi
call fcn.0043f65f
mov eax, dword [esi]
mov dword [esp], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x200], xmm0
movzx esi, word [edi + 0x44]
mov word [esp + 0x210], si
mov edx, dword [esp + 0x200]
cmp si, 0xc8
jne 0x4a8593
test edx, edx
je 0x4a8593
cmp dword [esp], 0
je 0x4a8749
or ecx, eax
je 0x4a8749
lea edi, [esp + 0x30]
push 2
pop edx
mov ecx, edi
call fcn.00479943
lea ecx, [esp + 0x140]
mov byte [ecx], 2
mov dword [ecx + 4], 2
call fcn.00440e94
mov esi, eax
mov ecx, edi
call fcn.0047a653
lea ecx, [esp + 0x70]
call fcn.004715c3
lea ecx, [esp + 0xb8]
call fcn.00471663
mov edi, dword [esp + 4]
lea ecx, [esp + 0x40]
call fcn.00471659
or ebx, edi
je 0x4a86b7
jmp 0x4a86c0
mov word [esp + 8], si
mov dword [esp + 0x14], edx
mov dword [esp + 4], ecx
mov ebx, eax
push 0x16
pop ecx
lea edi, [esp + 0x140]
lea esi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x188]
mov eax, dword [ecx + 8]
mov dword [esp + 0xf0], eax
movsd xmm0, qword [ecx]
movsd qword [esp + 0xe8], xmm0
mov esi, dword [esp + 0xc]
mov dword [esp + 0x4c], esi
call fcn.00438752
xor edi, edi
test al, al
cmove edi, esi
test esi, esi
je 0x4a85fe
test al, al
mov edx, ebx
je 0x4a8600
xor edi, edi
lock dec dword [esi]
jne 0x4a8600
lea ecx, [esp + 0x4c]
call fcn.0044029e
mov edx, ebx
mov dword [esp + 0xc], edi
cmp dword [esp], 0
je 0x4a8616
cmp dword [esp + 4], 0xfffffffe
mov eax, edx
sbb eax, 0xffffffff
jb 0x4a8636
lea ecx, [esp + 0xe8]
call fcn.00438752
xor edx, edx
dec edx
xor ecx, ecx
test al, al
cmovne edx, ecx
push 0xfffffffffffffffe
pop eax
cmovne eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0xe8]
movsd qword [esp + 0x20], xmm0
push 0x12
pop ecx
lea edi, [esp + 0x2c0]
lea esi, [esp + 0x140]
rep movsd dword es:[edi], dword [esi]
push 2
pop eax
cmp word [esp + 8], 0xc8
mov dword [esp], edx
mov dword [esp + 0x10], eax
je 0x4a88a1
cmp dword [esp + 0x14], 0
je 0x4a88a1
mov dword [esp + 8], 0
lea ecx, [esp + 0x200]
call fcn.0047a653
jmp 0x4a88a9
lea edi, [esp + 0x40]
lea ecx, [esp + 0xd0]
call fcn.00440e94
mov esi, eax
mov ecx, edi
call fcn.00471659
lea ecx, [esp + 0x30]
call fcn.0047a666
lea eax, [esp + 0x150]
mov dword [eax - 0x10], esi
and dword [eax - 0xc], 0
and dword [eax - 4], 0
mov dword [eax - 8], 3
push 0x12
pop ecx
lea esi, [esp + 0x2c0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x20]
movsd qword [eax + 0x50], xmm0
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x58], ecx
movups xmm0, xmmword [esp + 0x2a0]
movups xmm1, xmmword [esp + 0x2b0]
movups xmmword [eax + 0x70], xmm0
movups xmmword [eax + 0x80], xmm1
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 8]
lea edx, [esp + 0xe8]
mov dword [edx + 8], eax
movsd xmm0, qword [edi]
movsd qword [edx], xmm0
mov dword [edi], 2
lea esi, [esp + 0x70]
mov ecx, esi
push 0x54100c
call fcn.004a89e0
pop eax
jmp 0x4a8933
push 0x16
pop ecx
lea edx, [esp + 0x140]
lea eax, [esp + 0x70]
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 0x50]
mov dword [esp + 0x138], ecx
movsd xmm0, qword [edx + 0x48]
movsd qword [esp + 0x130], xmm0
push 0x12
pop ecx
lea edx, [esp + 0x140]
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x68], eax
and dword [edx + 0x48], 0
movsd xmm0, qword [esp + 0x130]
and dword [edx + 0x4c], 0
movsd qword [esp + 0x60], xmm0
and dword [edx + 0x68], 0
call fcn.00440d1e
mov edi, eax
mov esi, edx
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x50], xmm0
push 0x30
pop ecx
push 4
pop edx
call fcn.0049a4ee
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [eax + 0xc], xmm0
mov ecx, 0x53eaa0
mov dword [eax + 0x1c], ecx
mov ebx, str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
mov dword [eax + 0x20], ebx
and dword [eax + 0x24], 0
and dword [eax + 0x28], 0
mov edx, dword [esp + 0xc]
mov dword [eax + 0x2c], edx
lea edx, [esp + 0x1e8]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebx
and dword [edx + 0x10], 0
and dword [edx + 0x14], 0
mov dword [edx], eax
mov dword [edx + 4], 0x541160
mov ecx, edi
call fcn.0043f310
lea ecx, [esp + 0x180]
xor edx, edx
inc edx
push esi
call fcn.0047a49e
pop ecx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
cmp eax, 2
je 0x4a8850
lea eax, [esp + 0xe8]
push eax
call fcn.0047a55d
pop eax
push 0x12
pop ecx
lea edi, [esp + 0x2c0]
lea eax, [esp + 0x140]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xc], ecx
movsd xmm0, qword [eax + 0x50]
movsd qword [esp + 0x20], xmm0
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x5c]
mov ecx, dword [eax + 0x64]
mov dword [esp], ecx
mov ecx, dword [eax + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [eax + 0x68]
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x6c]
jmp 0x4a88a9
mov dword [esp + 8], 0
lea ebx, [esp + 0x150]
push 0x12
pop ecx
lea esi, [esp + 0x2c0]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x48], ecx
mov ecx, dword [esp + 0xc]
mov dword [ebx + 0x4c], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x58], ecx
movsd xmm0, qword [esp + 0x20]
movsd qword [ebx + 0x50], xmm0
mov dword [ebx + 0x5c], edx
mov ecx, dword [esp]
mov dword [ebx + 0x64], ecx
mov ecx, dword [esp + 4]
mov dword [ebx + 0x60], ecx
mov ecx, dword [esp + 8]
mov dword [ebx + 0x68], ecx
mov dword [ebx + 0x6c], eax
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 8]
lea edx, [esp + 0xe8]
mov dword [edx + 8], eax
movsd xmm0, qword [edi]
movsd qword [edx], xmm0
mov dword [edi], 2
lea esi, [esp + 0x70]
mov ecx, esi
push 0x540ffc
call fcn.004a89e0
pop eax
and dword [ebx - 4], 0
mov dword [ebx - 8], 4
lea edx, [esp + 0x140]
mov ecx, esi
call fcn.004717d6
mov esi, dword [ebp + 8]
mov ecx, edi
call fcn.004a89a5
mov cl, 1
xor eax, eax
mov byte [esi + 0x60], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x36
pop edx
mov ecx, 0x53f108
push 0x53f140
jmp 0x4a8989
mov byte [edi + 0x5c], 2
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeP
push 0x53f0f8
jmp 0x4a899d
push 0x2c
pop edx
mov ecx, str.poll_response_called_after_response_returnedl
push 0x52714c
call fcn.005072d8
jmp 0x4a89a2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueNoneSome
push 0x54101c
call fcn.00506cd0
pop eax
ud2