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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3b0
mov eax, dword [edx + 0xc0]
lock inc dword [eax]
jle 0x495b2a
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0xec]
mov eax, dword [edx + 0xc0]
mov esi, dword [edx + 0xc4]
test ecx, ecx
mov dword [esp + 0x14], eax
je 0x495a85
lock inc dword [ecx]
jle 0x495b2a
mov edi, dword [edx + 0xc8]
movzx eax, byte [edx + 0xea]
mov ebx, dword [edx + 0xb4]
movsd xmm0, qword [edx + 0xe0]
mov ah, byte [edx + 0xe9]
mov dword [esp + 0x38], edi
mov edi, dword [edx + 0xcc]
mov byte [esp + 0xb], al
mov dword [esp + 4], ebx
mov al, byte [edx + 0xe8]
mov dword [esp + 0x34], edi
mov edi, dword [edx + 0xd0]
mov dword [esp + 0x30], edi
mov edi, dword [edx + 0xd4]
mov dword [esp + 0x2c], edi
mov edi, dword [edx + 0xd8]
mov dword [esp + 0x28], edi
mov edi, dword [edx + 0xdc]
mov dword [esp + 0x24], edi
mov edi, dword [edx + 0xb0]
mov dword [esp + 0x10], edi
lock inc dword [edi]
jle 0x495b2a
mov edi, dword [edx + 0xb8]
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], ecx
movaps xmmword [esp + 0x270], xmm0
mov byte [esp + 0xa], al
mov byte [esp + 9], ah
test edi, edi
je 0x495b2c
mov eax, dword [edx + 0xbc]
mov dword [esp + 0x20], eax
lock inc dword [edi]
jg 0x495b2c
ud2
movzx eax, word [edx + 0xac]
mov ebx, dword [edx + 0x6c]
mov esi, dword [edx + 0x60]
mov ecx, dword [edx + 0x68]
mov word [esp + 0x1a], ax
mov eax, dword [edx + 0x50]
mov dword [esp + 0x48], ebx
mov ebx, dword [edx + 0x70]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0x54]
mov dword [esp + 0x44], ebx
mov ebx, dword [edx + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x90]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 0x8c]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x88]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x78]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0x80]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0x5c]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x64]
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], edi
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x124], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x128], edi
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x138], ecx
mov esi, dword [ebp + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x68]
movups xmm0, xmmword [edx + 0x98]
movups xmmword [esp + 0x168], xmm0
mov dword [esp + 0x178], eax
movzx eax, word [esp + 0x1a]
mov word [esp + 0x17c], ax
movzx eax, byte [edx + 0xf2]
mov byte [esp + 4], al
lea ecx, [esp + 0x358]
call sym.__LT_reqwest..connect..Connector_u20_as_u20_core..clone..Clone_GT_::clone::ha73842caad5fcd38
lea ecx, [esp + 0x108]
mov edx, esi
call sym.core::clone::Clone::clone::h5bc7bcf26a5b6de2
mov ebx, dword [esp + 0x108]
movsd xmm0, qword [esp + 0x118]
movsd xmm1, qword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ecx, ebx
movsd qword [esp + 0x288], xmm0
movsd qword [esp + 0x280], xmm1
shr ecx, 0x10
cmp bl, 4
je 0x49617a
lea esi, [esp + 0x110]
mov edx, ebx
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
shrd edx, eax, 0x18
shr eax, 0x18
mov esi, ebx
mov dword [esp + 0x197], edx
mov byte [esp + 0x19b], al
movsd qword [esp + 0x19c], xmm0
movsd qword [esp + 0x1a4], xmm1
mov dword [esp + 0x1ac], 0
mov byte [esp + 0x194], bl
mov byte [esp + 0x195], bh
mov byte [esp + 0x196], cl
mov ebx, ecx
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 1
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x4961a7
mov ecx, eax
mov edx, 0x585aa8
mov edi, 0x585abc
mov byte [eax], 0x2f
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 1
or ecx, 1
test al, 1
cmovne ecx, eax
cmove edi, edx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xd8], edi
lea ecx, [esp + 0x280]
lea edx, [esp + 0xd8]
call sym.http::uri::path::PathAndQuery::from_shared::h250cd46eccbaa266
mov ecx, dword [esp + 0x280]
mov dh, byte [esp + 0x284]
test ecx, ecx
je 0x4961bb
movsd xmm0, qword [esp + 0x28c]
mov dl, byte [esp + 0x285]
mov dword [esp + 0x1ac], ecx
mov byte [esp + 0x1b0], dh
lea eax, [esp + 0x197]
movsd qword [esp + 0xde], xmm0
movsd xmm0, qword [esp + 0x286]
mov byte [esp + 0x1b1], dl
movsd qword [esp + 0xd8], xmm0
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xde]
movsd qword [esp + 0x1b2], xmm0
movsd qword [esp + 0x1b8], xmm1
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [eax + 0x18]
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [eax + 0x20]
movzx eax, byte [eax + 0x28]
movsd xmm2, qword [esp + 0xc0]
movsd qword [esp + 0x293], xmm1
movsd xmm1, qword [esp + 0xb0]
mov byte [esp + 0xd0], al
movsd qword [esp + 0xc8], xmm0
movzx eax, byte [esp + 0xd0]
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 0x29b], xmm2
movsd xmm2, qword [esp + 0xa8]
movsd qword [esp + 0x28b], xmm1
mov byte [esp + 0x2ab], al
mov eax, esi
movsd qword [esp + 0x2a3], xmm0
movsd qword [esp + 0x283], xmm2
mov byte [esp + 0x280], al
mov byte [esp + 0x281], ah
mov byte [esp + 0x282], bl
mov esi, dword [ebp + 8]
lea edi, [esp + 0x280]
lea ecx, [esp + 0x194]
mov edx, edi
call sym.http::uri::Uri::from_parts::h3c1a77ef9ebef124
mov ebx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x194]
movzx ecx, byte [esp + 0x195]
cmp al, 3
mov dword [esp + 0x10], ecx
je 0x4961cd
movsd xmm0, qword [esp + 0x1a7]
movsd xmm1, qword [esp + 0x1af]
movzx ecx, byte [esp + 0x1bf]
movsd xmm2, qword [esp + 0x1b7]
movsd xmm3, qword [esp + 0x19f]
movsd xmm4, qword [esp + 0x197]
movzx edx, byte [esp + 0x196]
movsd qword [esp + 0xe8], xmm0
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esi + 8]
mov byte [esp + 0xa0], cl
movsd qword [esp + 0x78], xmm4
movsd qword [esp + 0x80], xmm3
movsd qword [esp + 0x98], xmm2
mov ecx, 0x14
movsd qword [esp + 0x350], xmm0
movsd xmm0, qword [esi]
movsd qword [esp + 0x348], xmm1
lea esi, [esp + 0x358]
movsd qword [esp + 0x340], xmm0
rep movsd dword es:[edi], dword [esi]
mov byte [ebx + 0x10c], al
lea edi, [esp + 0x2d0]
lea esi, [esp + 0x120]
mov ecx, 0x1c
mov eax, dword [esp + 0x10]
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x90]
mov byte [ebx + 0x10d], al
mov byte [ebx + 0x10e], dl
movsd qword [ebx + 0x117], xmm1
movsd xmm1, qword [esp + 0x88]
movzx eax, byte [esp + 0xa0]
movsd qword [ebx + 0x10f], xmm0
movsd qword [ebx + 0x127], xmm2
movsd qword [ebx + 0x11f], xmm1
movsd xmm1, qword [esp + 0x98]
mov byte [ebx + 0x137], al
lea eax, [esp + 0x198]
movsd qword [ebx + 0x12f], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xd8
lea ecx, [esp + 0x284]
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov dword [ebx], 6
lea eax, [ebx + 4]
push 0xdc
lea ecx, [esp + 0x198]
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
movaps xmm0, xmmword [esp + 0x270]
movzx edx, byte [esp + 0xa]
movzx ecx, byte [esp + 9]
mov ch, byte [esp + 0xb]
mov dword [ebx + 0xe0], eax
mov dword [ebx + 0xe4], esi
mov esi, dword [esp + 0x34]
mov dword [ebx + 0xe8], edi
mov edi, dword [esp + 0x30]
mov dword [ebx + 0xec], esi
mov esi, dword [esp + 0x2c]
mov dword [ebx + 0xf0], edi
mov edi, dword [esp + 0x28]
mov dword [ebx + 0xf4], esi
mov esi, dword [esp + 0x24]
mov dword [ebx + 0xf8], edi
mov dword [ebx + 0xfc], esi
movlps qword [ebx + 0x100], xmm0
mov byte [ebx + 0x108], dl
mov byte [ebx + 0x109], cl
mov edx, dword [esp + 0xc]
mov cl, byte [esp + 4]
mov byte [ebx + 0x10a], ch
mov dword [ebx + 0x138], edx
mov byte [ebx + 0x13c], cl
mov byte [ebx + 0x13d], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x280]
mov dword [esp + 4], ebx
mov ebx, ecx
lea ecx, [esp + 0x28c]
mov eax, dword [eax + 0x10]
push dword [esp + 0x288]
push dword [esp + 0x288]
push ecx
call eax
add esp, 0xc
jmp 0x4961d7
mov ecx, 1
mov edx, 1
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x495b2a
mov bl, dh
lea ecx, [esp + 0x194]
call sym.core::ptr::drop_in_place_LT_http..uri..Parts_GT_::h49588c838579fdfe
mov ah, 2
jmp 0x4961d3
mov ebx, dword [esp + 0x10]
mov ah, 3
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov byte [esp + 0x194], ah
mov byte [esp + 0x195], bl
lea eax, [esp + 0x194]
mov edx, 0x13
mov ecx, str.domain_is_valid_Uri
push 0x588178
push 0x5a80ec
push eax
call sym.core::result::unwrap_failed::h534a40e08cfe968a
add esp, 0xc
jmp 0x495b2a