Function at 0x4a0dc5
Capabilities:
Connect socket
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov ebx, edx
movzx eax, byte [edx + 0x4c]
test eax, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], ecx
je 0x4a0e16
cmp eax, 3
jne 0x4a1500
lea esi, [ebx + 0x48]
lea edx, [ebx + 0x28]
movzx eax, byte [ebx + 0x48]
test eax, eax
mov dword [esp + 0x28], edx
je 0x4a0e8b
cmp eax, 3
jne 0x4a150f
mov eax, dword [ebx + 0x44]
jmp 0x4a13ee
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x24], eax
movdqu xmm0, xmmword [ebx + 4]
cmp word [ebx], 0
je 0x4a0e9a
mov edx, dword [ebx + 0x14]
movzx ecx, word [ebx + 0x1c]
rol cx, 8
mov esi, dword [ebx + 0x18]
movdqu xmmword [esp + 0x60], xmm0
mov dword [esp + 0x5c], edx
mov dword [esp + 0x70], esi
pxor xmm0, xmm0
movdqu xmmword [esp + 0x74], xmm0
movdqu xmmword [esp + 0x84], xmm0
movdqu xmmword [esp + 0x94], xmm0
movdqu xmmword [esp + 0xa4], xmm0
and dword [esp + 0xd4], 0
movdqu xmmword [esp + 0xb4], xmm0
movdqu xmmword [esp + 0xc4], xmm0
push 0x1c
pop edx
mov si, 0x17
jmp 0x4a0ef5
mov dword [esp + 4], esi
mov esi, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x2c]
jmp 0x4a0f59
push 0x10
pop edx
movzx esi, word [ebx + 2]
xorps xmm1, xmm1
movups xmmword [esp + 0xc8], xmm1
movups xmmword [esp + 0xb8], xmm1
movups xmmword [esp + 0xa8], xmm1
movups xmmword [esp + 0x98], xmm1
movups xmmword [esp + 0x88], xmm1
movups xmmword [esp + 0x78], xmm1
movups xmmword [esp + 0x68], xmm1
pextrw ecx, xmm0, 1
mov word [esp + 0x5c], si
pextrw word [esp + 0x5e], xmm0, 0
rol cx, 8
movlps qword [esp + 0x60], xmm1
mov si, 2
lea edi, [esp + 0x58]
mov word [edi], si
mov word [edi + 2], cx
mov dword [edi + 0x80], edx
push edx
push edi
push eax
call dword [sym.imp.ws2_32.dll_connect]
test eax, eax
je 0x4a0f3b
call sub.kernel32.dll_GetLastError
lea edi, [esp + 0x38]
mov dword [esp], eax
mov dword [edi + 4], eax
and dword [edi], 0
mov ecx, edi
call fcn.004325d8
cmp al, 0xd
jne 0x4a11c6
push edi
call fcn.0049a51c
pop eax
mov esi, dword [ebx + 0x24]
mov dword [ebx + 0x28], esi
and dword [ebx + 0x2c], 0
lea eax, [ebx + 0x28]
mov dword [esp + 0x28], eax
lea eax, [ebx + 0x48]
mov dword [esp + 4], eax
mov byte [ebx + 0x48], 0
xor ebx, ebx
mov ecx, 0x54aa48
call fcn.004e1267
lea ecx, [edx + 0x10]
lea edi, [edx + 0x70]
test eax, eax
cmove ecx, edi
mov dword [esp + 8], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xe8], edx
add ecx, 8
mov edx, 0x54aa48
call fcn.004e6f84
mov edi, eax
lea ecx, [eax + 0x10]
mov dword [esp + 0xc], ecx
call fcn.00495924
cmp byte [edi + 0x28], 0
mov dword [esp + 0x20], ebx
je 0x4a0fe2
lea esi, [esp + 0x38]
push 0x27
pop edx
mov ecx, esi
push 0x38
push str.A_Tokio_1.x_context_was_found__but_it_is_being_shutdown.
call fcn.004c53c3
pop eax
pop ecx
cmp byte [esi], 4
jne 0x4a1056
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 4]
jmp 0x4a1071
push 0x40
pop edx
mov ecx, 0x80
call fcn.0043e582
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
and dword [ebx + 0x44], 0
and dword [ebx + 0x40], 0
and dword [ebx + 0x49], 0
and dword [ebx + 0x45], 0
and dword [ebx + 0x50], 0
and dword [ebx + 0x54], 0
and dword [ebx + 0x58], 0
and dword [ebx + 0x60], 0
lock inc dword [ebx]
mov esi, dword [esp + 4]
jle 0x4a14fc
lea eax, [ebx + 0x40]
mov dword [esp + 0xec], eax
mov ecx, dword [edi + 0x20]
cmp ecx, eax
je 0x4a1523
mov dword [ebx + 0x44], ecx
and dword [ebx + 0x40], 0
test ecx, ecx
je 0x4a1048
mov dword [ecx], eax
mov dword [edi + 0x20], eax
cmp dword [edi + 0x24], 0
jne 0x4a1071
mov dword [edi + 0x24], eax
jmp 0x4a1071
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
cmp bl, 4
jne 0x4a11de
mov esi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0xc]
call fcn.00495915
cmp dword [esp + 0x20], 0
je 0x4a10d0
xor edi, edi
xor ecx, ecx
inc ecx
mov eax, 0xc00
movzx ebx, cl
or ebx, eax
lea ecx, [esp + 0x50]
call fcn.004e11ab
mov dword [esp], edi
cmp bl, 4
mov edx, dword [esp + 0x24]
jne 0x4a10b2
mov ebx, dword [esp + 0x14]
jmp 0x4a13c5
lea ecx, [esp + 0xe4]
call fcn.00443e11
lea ecx, [esp + 0x30]
call fcn.004e11d5
mov dword [esp + 0x10], ebx
jmp 0x4a1433
mov dword [esp], ebx
mov dword [esp + 4], esi
mov eax, dword [edi]
lea esi, [eax + 0xc]
mov dword [esp + 0x54], esi
mov dword [esp + 0xc], eax
lea edx, [eax + 0x10]
lea edi, [esp + 0x58]
mov ecx, edi
call fcn.0046a31a
mov ecx, edi
mov edx, 0x53d670
call fcn.0046b088
mov ebx, eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], dl
lea edi, [eax + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4a111f
mov ecx, dword [edi]
mov eax, dword [ecx + eax*4 - 4]
mov eax, dword [eax]
cmp eax, 0x20
jbe 0x4a113f
mov edx, dword [esi]
lea esi, [esp + 0x58]
mov ecx, esi
push edi
call fcn.0046b1b0
pop eax
cmp byte [esi], 4
je 0x4a113f
mov eax, dword [esp + 0x58]
cmp al, 4
jne 0x4a1355
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4a153f
mov ecx, dword [edi]
mov edi, dword [ecx + eax*4 - 4]
lock inc dword [edi]
jle 0x4a14fc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
call fcn.0046a4ef
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
lea esi, [esp + 0xec]
mov ecx, esi
mov edx, dword [esp + 8]
push 0x48000022
call fcn.0046b678
pop eax
cmp dword [esi], 0
je 0x4a11f0
push 0xfffffffffffffff4
pop esi
lea edi, [esp + 0x38]
test esi, esi
je 0x4a1336
mov ecx, edi
mov edx, dword [esp + 8]
push dword [esi + 0x53d858]
call fcn.0046b678
mov eax, dword [esp + 0xc]
add esp, 4
add esi, 4
cmp dword [esp + 0x38], 0
jne 0x4a1192
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
je 0x4a1192
jmp 0x4a11f7
mov dword [esp + 0x10], 0
mov ecx, dword [ebx + 0x24]
call fcn.0049c6f5
push 2
pop esi
jmp 0x4a1442
mov ecx, dword [esp + 0xc]
call fcn.00495915
mov esi, dword [esp + 4]
jmp 0x4a10a0
mov ebx, dword [esp + 0xf0]
mov eax, dword [esp]
add eax, 0x40
mov dword [esp + 8], eax
lea eax, [esp + 0x58]
mov esi, dword [eax]
push 0x60
pop ecx
push 8
pop edx
call fcn.004490a3
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
and dword [edi + 8], 0
mov byte [edi + 0xc], 0
and dword [edi + 0x10], 0
mov dword [edi + 0x14], esi
mov esi, dword [esp + 8]
and dword [edi + 0x18], 0
pxor xmm0, xmm0
movdqu xmmword [edi + 0x1c], xmm0
movdqu xmmword [edi + 0x2c], xmm0
movdqu xmmword [edi + 0x38], xmm0
mov eax, dword [esp + 0x20]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ebx
and dword [edi + 0x54], 0
and dword [edi + 0x50], 0
lea edx, [edi + 8]
and word [edi + 0x58], 0
lea ebx, [esp + 0x58]
mov ecx, ebx
call fcn.0046a36a
mov ecx, ebx
mov edx, 0x53d81c
call fcn.0046a6ff
mov dword [eax + 0x48], 0x19d
mov dword [eax + 0x38], esi
and dword [eax + 0x3c], 0
movzx edx, dl
mov ecx, eax
call fcn.0046a4ef
mov eax, dword [esp + 0xc]
lock inc dword [eax]
jle 0x4a14fc
lock inc dword [edi]
jle 0x4a14fc
mov eax, dword [esp + 0xc]
lea ebx, [eax + 8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], esi
mov byte [esp + 0x64], 3
mov dword [esp + 0x5c], edi
mov ecx, ebx
mov edx, edi
call fcn.0046b6c3
lea esi, [esp + 0x38]
mov ecx, esi
mov edx, ebx
call fcn.0046b702
cmp byte [esi], 4
je 0x4a12e4
mov eax, dword [esp + 0x38]
cmp al, 4
jne 0x4a1379
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
push 4
pop ecx
push 0x10
pop edx
call fcn.00404a80
test eax, eax
je 0x4a15d9
mov edi, eax
mov eax, dword [esp + 0xc]
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
mov eax, dword [esp + 8]
mov dword [edi + 0xc], eax
lea esi, [esp + 0x34]
mov ecx, esi
call fcn.0046a291
mov dword [esi], edi
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 4]
jmp 0x4a13c1
mov edi, dword [esp + 0xf0]
lea eax, [esp + 0x18]
push eax
call fcn.0046a51e
pop eax
xor eax, eax
xor ecx, ecx
mov esi, dword [esp + 4]
jmp 0x4a108f
mov esi, eax
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
call fcn.0046a4ef
mov ecx, esi
cmp cl, 4
mov ebx, dword [esp + 0x14]
je 0x4a1166
jmp 0x4a13af
mov dword [esp + 8], eax
lea ebx, [esp + 0x5c]
mov esi, dword [esp + 0x3c]
mov ecx, edi
call fcn.00469e99
mov eax, dword [esp + 0xc]
lock dec dword [eax]
jne 0x4a139e
lea ecx, [esp + 0x58]
call fcn.0046bb61
mov ecx, ebx
call fcn.0046a2eb
mov ebx, dword [esp + 0x14]
mov edi, esi
mov ecx, dword [esp + 8]
cmp cl, 4
mov esi, dword [esp + 4]
je 0x4a13c1
cmp cl, 4
jne 0x4a14f0
mov edx, dword [esp + 0x24]
cmp edx, 2
je 0x4a1433
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x30], edx
mov edx, dword [esp + 0x10]
mov dword [ebx + 0x34], edx
mov edx, dword [esp]
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x3c], eax
lea eax, [ebx + 0x30]
mov dword [ebx + 0x44], eax
mov edx, dword [eax + 8]
lea edi, [esp + 0x58]
mov ecx, edi
push dword [ebp + 8]
call fcn.004e145a
pop eax
mov eax, dword [edi]
cmp eax, 2
jne 0x4a1418
mov byte [esi], 3
mov eax, dword [esp + 0x2c]
mov dword [eax], 3
mov al, 3
jmp 0x4a145d
test eax, eax
je 0x4a146c
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 0x10], eax
lea ecx, [ebx + 0x30]
call fcn.0049b30b
mov byte [esi], 1
push 2
pop esi
mov ecx, dword [esp + 0x28]
call fcn.004a0dab
mov eax, dword [esp + 0x2c]
mov dword [eax], esi
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [esp]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov al, 1
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0x4c], al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [ebx + 0x30]
call fcn.004e11b8
mov eax, dword [eax]
lea ecx, [esp + 0x38]
and dword [ecx], 0
mov dword [esp + 0x58], 4
push edi
push ecx
push 0x1007
push 0xffff
push eax
call dword [sym.imp.ws2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x4a14e0
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp], ecx
test ecx, ecx
sete al
shl eax, 2
test eax, eax
je 0x4a1427
mov esi, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
mov eax, ebx
mov ebx, dword [ebx + 0x40]
mov edi, dword [eax + 0x3c]
mov byte [eax + 0x48], 1
cmp esi, 3
je 0x4a140a
jmp 0x4a1439
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
mov dword [esp], eax
xor eax, eax
jmp 0x4a1427
mov eax, ecx
and eax, 0xffffff00
jmp 0x4a108f
ud2
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 0x5411fc
jmp 0x4a151c
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 0x54120c
call fcn.00506cd0
jmp 0x4a153c
add edi, 0x20
lea eax, [esp + 0x58]
and dword [eax], 0
lea edx, [esp + 0xec]
mov ecx, edi
push eax
call fcn.0050ad71
pop eax
ud2
lea ecx, [esp + 0x54]
lea eax, [esp + 0xec]
mov dword [eax], ecx
mov dword [eax + 4], 0x46a3c0
push 2
pop edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], edx
push 0x20
pop ecx
mov dword [esp + 0x68], ecx
and dword [esp + 0x6c], 0
lea esi, [esp + 0x18]
mov dword [eax + 8], esi
push 4
pop esi
mov dword [esp + 0x70], esi
mov bl, 3
mov byte [esp + 0x74], bl
mov dword [esp + 0x78], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], esi
lea ecx, [esp + 0x38]
mov dword [ecx], 0x53d6cc
mov dword [ecx + 4], edx
lea esi, [esp + 0x58]
mov dword [ecx + 0x10], esi
mov dword [eax + 0xc], 0x46a7d8
mov dword [ecx + 0x14], edx
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov byte [esp + 0x94], bl
mov edx, 0x53d6dc
call fcn.00506b50
ud2
push 4
pop ecx
push 0x10
pop edx
call fcn.00506930
ud2