Function at 0x524e0b
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
cmp word [edx], 0
mov esi, edx
mov ebx, ecx
je 0x524e28
lea edi, [ebp - 0x54]
mov edx, 0x17
jmp 0x524e30
lea edi, [ebp - 0x54]
mov edx, 2
mov ecx, edi
push 2
call fcn.00473118
add esp, 4
cmp byte [edi], 4
jne 0x524ec6
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], eax
cmp byte [ecx + 0x230], 0
je 0x524e91
lea ecx, [ebp - 0x54]
mov edx, 4
mov dword [ebp - 0x18], 0
mov dword [ecx], 1
push edx
push ecx
push edx
push 0xffff
push eax
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x525087
mov eax, dword [ebp - 0x18]
cmp eax, 0x7fffffff
jae 0x5250a4
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x524edd
mov ecx, edi
mov edx, esi
call fcn.0046f036
cmp word [edi], 2
jne 0x524ef6
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
jmp 0x524f2f
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
mov dword [ebx], 2
jmp 0x52507f
lea ecx, [ebp - 0x20]
mov edx, 0x27
push 0x27
push str.builder_has_already_finished_its_socket
call fcn.004c625d
add esp, 8
jmp 0x524f2f
movsd xmm1, qword [ebp - 0x44]
lea eax, [ebp - 0x78]
movsd xmm0, qword [ebp - 0x3c]
movsd xmm2, qword [ebp - 0x54]
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x20]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [ebp - 0x4c]
movsd qword [eax + 0x18], xmm0
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
push eax
call fcn.004732f4
add esp, 4
mov eax, dword [ebp - 0x18]
dec eax
cmp byte [ebp - 0x20], 4
mov dword [ebp - 0x18], eax
jne 0x524f68
test eax, eax
jne 0x5250ce
mov dword [ebp - 0x18], 0xffffffff
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0
je 0x5250f0
mov dword [ebp - 0x18], 0
jmp 0x524f7a
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
cmp al, 4
je 0x524f7a
cmp al, 4
jne 0x525090
mov dword [ebp - 0x24], ebx
mov ecx, 0x108
mov edx, 8
mov al, byte [0x5c91e8]
call fcn.0041aa20
test eax, eax
je 0x5250bd
mov edi, eax
xor ebx, ebx
mov edx, eax
mov ecx, 0x20
mov dword [eax], ebx
mov byte [eax + 4], 0
mov dword [eax + 8], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x18], ebx
add edi, 0x28
xor eax, eax
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [edx + 0xa8], pe_nt_image_headers32
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xcc], ebx
mov dword [edx + 0xc8], ebx
mov dword [edx + 0xd4], ebx
mov dword [edx + 0xd0], ebx
mov dword [edx + 0xd8], ebx
mov dword [edx + 0xdc], 0x4712a5
mov dword [edx + 0xe4], ebx
mov dword [edx + 0xe0], ebx
mov dword [edx + 0xec], ebx
mov dword [edx + 0xe8], ebx
mov dword [edx + 0xf0], ebx
mov dword [edx + 0xf4], 0x471359
mov dword [edx + 0xf8], esi
lea esi, [ebp - 0x48]
mov ecx, 9
inc eax
mov dword [edx + 0x100], eax
mov dword [esi - 4], ebx
mov dword [esi - 8], ebx
mov dword [esi], ebx
mov dword [esi + 8], edx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], ebx
mov dword [esi - 0xc], eax
lea eax, [ebp - 0x78]
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov ecx, 9
xor eax, eax
mov edx, dword [ebp - 0x24]
inc eax
lea edi, [edx + 0xc]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 8], ebx
mov dword [edx + 4], ebx
mov dword [edx], eax
cmp dword [ebp - 0x14], ebx
je 0x52507f
push dword [ebp - 0x10]
call sub.ws2_32.dll_closesocket
add esp, 0x6c
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.kernel32.dll_GetLastError
mov esi, eax
xor eax, eax
cmp dword [ebp - 0x14], 0
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov dword [ebx], 2
jne 0x525077
jmp 0x52507f
lea eax, [ebp - 0x54]
mov ecx, 0x5946eb
mov edx, 0x18
push 0x59646c
push 0x5947ec
jmp 0x5250e5
mov ecx, 8
mov edx, 0x108
call fcn.0041b1c0
ud2
lea eax, [ebp - 0x54]
mov ecx, 0x5946db
mov edx, 0x10
push 0x5964a4
push 0x5947dc
push eax
call fcn.00447310
add esp, 0xc
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_home_vi_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_1.7.2_src_lib.rsURL_has_no_host
mov edx, 0x2b
push 0x5964b4
call fcn.00445340
add esp, 4
ud2