Function at 0x409f20
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [esp], str.loading:__s
mov dword [esp + 4], eax
call fcn.00409720
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
lea eax, [ebp - 0x84]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00418cb0
test eax, eax
mov dword [ebp - 0xa0], eax
je 0x40a255
mov eax, dword [ebp - 0x84]
lea ebx, [ebp - 0x7c]
mov dword [esp + 0xc], 0x10000
mov dword [esp + 4], str.sideload_host:_d:_d
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004096f0
mov dword [esp], ebx
call fcn.0040de20
test eax, eax
mov dword [ebp - 0x94], eax
js 0x40a146
lea eax, [ebp - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x80], 0x10000
mov dword [esp + 0x10], 4
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x9c], 0xffffffff
mov dword [ebp - 0x98], 0
sub esp, 0x14
mov dword [ebp - 0x80], eax
jmp 0x40a0ee
mov esi, str.DONEDONE
mov ecx, 8
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40a1a0
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], ebx
mov byte [ebp - 0x74], 0
call sub.msvcrt.dll_strtol
mov edx, dword [ebp - 0x84]
shl eax, 0x10
cmp eax, edx
jae 0x40a1f5
mov edi, dword [ebp - 0xa0]
mov esi, edx
sub esi, eax
lea ecx, [edi + eax]
lea edi, [eax + 0x10000]
mov eax, 0x10000
cmp edx, edi
cmovae esi, eax
mov eax, dword [ebp - 0x94]
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004076c0
test eax, eax
jne 0x40a210
mov ecx, dword [ebp - 0x84]
mov eax, 0x2f
xor edi, edi
add dword [ebp - 0x98], esi
mov esi, 1
mul dword [ebp - 0x98]
test ecx, ecx
je 0x40a0a3
mov esi, ecx
xor edi, edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004b12e0
cmp eax, dword [ebp - 0x9c]
mov esi, eax
je 0x40a0e8
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], str._rserving:__s____d___
mov dword [esp + 4], eax
call fcn.00409720
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [ebp - 0x9c], esi
mov eax, dword [ebp - 0x94]
mov dword [esp + 8], 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00407390
test eax, eax
je 0x40a001
call fcn.0040d500
mov dword [esp + 4], str._failed_to_read_command:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov ebx, 0xffffffff
add eax, 0x40
mov dword [esp], eax
call fcn.00408e50
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call fcn.00419a30
jmp 0x40a183
mov dword [esp], 0x4c42b8
call fcn.00409720
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x10], 1
mov dword [esp], str.sideload
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
call fcn.00409bd0
mov ebx, eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [ebp - 0x84]
movd xmm0, dword [ebp - 0x98]
movq qword [ebp - 0x90], xmm0
add eax, 0xa
test edx, edx
fild qword [ebp - 0x90]
jne 0x40a234
fld1
fdivp st(1)
xor ebx, ebx
mov dword [esp + 0x10], 0x4c4398
mov dword [esp + 0xc], eax
mov dword [esp], str._rTotal_xfer:__.2fx_s_n
fstp qword [esp + 4]
call fcn.00409720
jmp 0x40a136
call fcn.0040d500
mov dword [esp + 4], str._attempt_to_read_past_end:__s_n
mov dword [esp + 8], eax
jmp 0x40a121
mov eax, dword [ebp - 0x94]
mov dword [esp], eax
call fcn.0040d510
call fcn.0040d500
mov dword [esp + 4], str._failed_to_write_data__s__n
mov dword [esp + 8], eax
jmp 0x40a121
mov dword [ebp - 0x98], edx
movd xmm1, dword [ebp - 0x98]
movq qword [ebp - 0x90], xmm1
fild qword [ebp - 0x90]
jmp 0x40a1d0
mov dword [esp], 0x4c42b8
call fcn.00409720
mov eax, dword [ebp + 8]
mov dword [esp + 4], str._cannot_read__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.00408e50
mov eax, 0xffffffff
jmp 0x40a193