Function at 0x100cb510
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x380
movzx eax, byte [edx + 0x139]
mov ebx, edx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x100cb54c
cmp eax, 3
jne 0x100cbafc
mov eax, dword [ebx + 0x130]
mov edx, dword [ebx + 0x134]
mov edi, ecx
jmp 0x100cb731
lea eax, [ebx + 0x50]
mov ecx, 0x14
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0xc8]
mov dword [ebx + 0xf4], ecx
movsd xmm0, qword [ebx + 0xc0]
movsd qword [ebx + 0xec], xmm0
movsd xmm0, qword [ebx + 0xb8]
movsd qword [ebx + 0xe4], xmm0
movsd xmm0, qword [ebx + 0xb0]
movsd qword [ebx + 0xdc], xmm0
movsd xmm0, qword [ebx + 0xa8]
movsd qword [ebx + 0xd4], xmm0
movsd xmm0, qword [ebx + 0xa0]
movsd qword [ebx + 0xcc], xmm0
mov cl, byte [ebx + 0x138]
mov byte [ebx + 0x13a], cl
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0xf8], ecx
movsd xmm0, qword [ebx + 0x6c]
movsd qword [ebx + 0xfc], xmm0
movsd xmm0, qword [ebx + 0x74]
movsd qword [ebx + 0x104], xmm0
mov edx, dword [ebx + 0x7c]
mov dword [ebx + 0x10c], edx
lock inc dword [ecx]
jle 0x100cbb15
lea edi, [ebx + 0x110]
lea esi, [ebx + 0xcc]
mov dword [edi], ecx
cmp byte [eax + 0x49], 0
lea eax, [ebx + 0xfc]
jne 0x100cb63a
cmp byte [esi], 0
je 0x100cb63a
mov ecx, esi
mov edx, 0x1039e090
mov dword [esp], eax
call fcn.100354f0
test al, al
mov eax, dword [esp]
je 0x100cb63a
mov ecx, edi
call fcn.1004f9a0
mov byte [eax + 0x72], 1
mov eax, dword [esp]
cmp dword [eax], 1
jne 0x100cb657
push dword [ebx + 0x100]
call sub.CRYPT32.dll_CertDuplicateCertificateContext
mov dword [esp + 4], eax
mov dword [esp], 1
jmp 0x100cb65e
mov dword [esp], 0
push dword [ebx + 0x104]
call sub.CRYPT32.dll_CertDuplicateStore
movzx edi, word [esp + 0x18]
mov dh, byte [esp + 0x1a]
mov ecx, dword [ebx + 0x108]
mov dl, byte [ebx + 0x10c]
mov word [esp + 0xc], di
mov byte [esp + 0xe], dh
mov edi, dword [ebx + 0x110]
mov byte [ebx + 0x12c], 0
mov dword [ebx + 0x114], edi
mov edi, dword [esp]
mov dword [ebx + 0x118], edi
mov edi, dword [esp + 4]
mov dword [ebx + 0x11c], edi
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], ecx
mov byte [ebx + 0x128], dl
lea ecx, [ebx + 0x114]
lea edx, [esp + 0x18]
movzx eax, word [esp + 0xc]
mov word [ebx + 0x129], ax
mov al, byte [esp + 0xe]
mov byte [ebx + 0x12b], al
mov eax, dword [esi + 0x28]
mov dword [esp + 0x40], eax
movsd xmm0, qword [esi + 0x20]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm0
call fcn.100ca380
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], edx
lea ecx, [esp + 0x18]
push dword [ebp + 8]
push eax
push ecx
call dword [edx + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x18]
cmp esi, 2
jne 0x100cb75b
mov byte [ebx + 0x139], 3
mov dword [edi], 2
jmp 0x100cba8f
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x1d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
lea eax, [esp + 0x24]
push 0xd4
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x134]
push dword [ebx + 0x130]
call dword [eax]
add esp, 4
mov eax, dword [ebx + 0x134]
cmp dword [eax + 4], 0
je 0x100cb7c5
mov edi, dword [ebx + 0x130]
cmp dword [eax + 8], 9
jae 0x100cb7b5
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x100cb7bd
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
lea edi, [esp + 0x2a8]
push 0xd4
lea eax, [esp + 0x1d4]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 1
jne 0x100cb89e
mov eax, dword [ebx + 0x114]
lock dec dword [eax]
jne 0x100cb801
mov ecx, dword [ebx + 0x114]
call fcn.1004fdb0
cmp dword [ebx + 0x118], 0
je 0x100cb815
push dword [ebx + 0x11c]
call sub.CRYPT32.dll_CertFreeCertificateContext
push 0
push dword [ebx + 0x120]
call sub.CRYPT32.dll_CertCloseStore
cmp dword [ebx + 0xfc], 0
je 0x100cb836
push dword [ebx + 0x100]
call sub.CRYPT32.dll_CertFreeCertificateContext
push 0
push dword [ebx + 0x104]
call sub.CRYPT32.dll_CertCloseStore
mov eax, dword [ebx + 0xf8]
lock dec dword [eax]
jne 0x100cb859
mov ecx, dword [ebx + 0xf8]
call fcn.1004fdb0
mov eax, dword [ebx + 0x80]
lea edi, [ebx + 0x50]
lock dec dword [eax]
jne 0x100cb872
lea ecx, [ebx + 0x80]
call fcn.1004fc60
cmp byte [edi + 0x44], 2
mov esi, 1
je 0x100cb899
mov eax, dword [ebx + 0x90]
add edi, 0x3c
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push edi
call dword [eax + 4]
add esp, 0xc
jmp 0x100cba4c
mov esi, dword [esp]
lea eax, [esp + 0xfc]
mov dword [esp + 0xf8], esi
push 0xd4
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 1
lea esi, [esp + 0x18]
jne 0x100cb906
cmp byte [ebx + 0x99], 0
jne 0x100cb906
cmp dword [esp + 0x174], 0
je 0x100cbb2a
mov eax, dword [esp + 0x170]
mov eax, dword [eax + 0x88]
mov byte [esp + 0x18], 0
push 1
push esi
push 1
push 6
push eax
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x100cba97
lea eax, [esp + 0xf8]
push 0xd8
push eax
lea eax, [esp + 0x1d8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebx + 0x98], 0
je 0x100cb93b
mov eax, dword [0x10551ebc]
cmp eax, 4
jbe 0x100cb93b
mov eax, dword [0x10551ec0]
push 0xd8
lea eax, [esp + 0x1d4]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xd8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100cbb19
push 0xd8
push esi
mov dword [esp + 0xc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [ebx + 0x13a]
mov byte [esp + 0xb], al
mov al, byte [esp + 0x1a]
mov byte [esp + 0x12], al
movzx eax, word [esp + 0x18]
mov word [esp + 0x10], ax
mov eax, dword [ebx + 0x114]
lock dec dword [eax]
jne 0x100cb9b0
mov ecx, dword [ebx + 0x114]
call fcn.1004fdb0
cmp dword [ebx + 0x118], 0
je 0x100cb9c4
push dword [ebx + 0x11c]
call sub.CRYPT32.dll_CertFreeCertificateContext
push 0
push dword [ebx + 0x120]
call sub.CRYPT32.dll_CertCloseStore
cmp dword [ebx + 0xfc], 0
je 0x100cb9e5
push dword [ebx + 0x100]
call sub.CRYPT32.dll_CertFreeCertificateContext
push 0
push dword [ebx + 0x104]
call sub.CRYPT32.dll_CertCloseStore
mov eax, dword [ebx + 0xf8]
lock dec dword [eax]
jne 0x100cba08
mov ecx, dword [ebx + 0xf8]
call fcn.1004fdb0
mov eax, dword [ebx + 0x80]
lea edi, [ebx + 0x50]
lock dec dword [eax]
jne 0x100cba21
lea ecx, [ebx + 0x80]
call fcn.1004fc60
xor esi, esi
cmp byte [edi + 0x44], 2
mov dword [esp], 0x1039e2e0
je 0x100cba4c
mov eax, dword [ebx + 0x90]
add edi, 0x3c
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push edi
call dword [eax + 4]
add esp, 0xc
movzx eax, word [esp + 0x10]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp]
mov word [esp + 0x18], ax
mov al, byte [esp + 0x12]
mov byte [esp + 0x1a], al
mov byte [ebx + 0x139], 1
mov dword [ecx], esi
mov dword [ecx + 4], edx
mov dh, byte [esp + 0xb]
mov dword [ecx + 8], edi
movzx esi, word [esp + 0x18]
mov dl, byte [esp + 0x1a]
mov byte [ecx + 0xc], dh
mov word [ecx + 0xd], si
mov byte [ecx + 0xf], dl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.WS2_32.dll_WSAGetLastError
mov edi, eax
call sub.KERNEL32.dll_GetProcessHeap
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100cbb3b
mov dword [eax + 4], edi
mov dword [eax], 0
mov dword [esp + 4], eax
cmp dword [esp + 0xf8], 0
je 0x100cbae4
lea ecx, [esp + 0x100]
call fcn.100c9550
mov dword [esp], 0x10397dd8
jmp 0x100cb7eb
lea ecx, [esp + 0xfc]
call fcn.100c8eb0
mov dword [esp], 0x10397dd8
jmp 0x100cb7eb
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1039e30c
call fcn.10008540
add esp, 4
ud2
ud2
mov ecx, 0xd8
mov edx, 8
call fcn.100067d0
ud2
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersAdministrator.cargo_registry_srcgithub.com_1ecc6299db9ec823url_2.2.0_srclib.rs__file
mov edx, 0x2b
push 0x103a3c60
jmp 0x100cbb0b
mov ecx, 8
mov edx, 4
call fcn.100067d0
ud2