Function at 0x490614
Capabilities:
Set socket configuration

Disassembly:
push edi
push esi
push ebx
sub esp, 0x20
mov ebx, dword [esp + 0x30]
mov dword [esp], 0
call sub.msvcrt.dll_time
mov esi, eax
mov eax, dword [ebx + 0xcc38]
test eax, eax
jne 0x490688
mov dword [ebx + 0xcc38], 2
lea edi, [ebx + 0x108]
mov dword [esp], edi
call fcn.004a0100
test eax, eax
je 0x490b28
mov dword [esp], eax
call fcn.004984e0
cmp eax, 0xffffffdb
jne 0x490646
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x490b3a
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004902b8
test eax, eax
je 0x49062c
add esp, 0x20
pop ebx
pop esi
pop edi
ret
cmp eax, 2
je 0x490b44
cmp eax, 3
je 0x490ae8
test byte [ebx + 0x34], 2
je 0x49079f
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x4906be
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4906be
lea edx, [ebx + 0x5c]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x4906de
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4906de
lea edx, [ebx + 0xd8]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0xe8]
test eax, eax
je 0x490706
mov eax, dword [eax + 0x18]
test eax, eax
je 0x490706
lea edx, [ebx + 0xec]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x490726
mov eax, dword [eax + 0x14]
test eax, eax
je 0x490726
lea edx, [ebx + 0xe4]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x490746
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x490746
lea edx, [ebx + 0xa0]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0xb0]
test eax, eax
je 0x49076e
mov eax, dword [eax + 0x18]
test eax, eax
je 0x49076e
lea edx, [ebx + 0xb4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x49078e
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49078e
lea edx, [ebx + 0xac]
mov dword [esp + 4], edx
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x49079f
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x4907b3
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x4907c7
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x4907d8
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x4907e9
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x4907fd
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xf0]
test eax, eax
je 0x490811
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x490825
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xf8]
test eax, eax
je 0x490839
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xfc]
test eax, eax
je 0x49084d
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x490861
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x490875
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x490889
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x49089d
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x4908b1
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcb30]
test eax, eax
je 0x4908c5
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcb3c]
test eax, eax
je 0x4908d9
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd60]
test eax, eax
je 0x4908ed
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd70]
test eax, eax
je 0x490901
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd7c]
test eax, eax
je 0x490915
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd94]
test eax, eax
je 0x490929
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd9c]
test eax, eax
je 0x49093d
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcd8c]
test eax, eax
je 0x490951
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcdb0]
test eax, eax
je 0x490965
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcdb8]
test eax, eax
je 0x490979
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcdc0]
test eax, eax
je 0x49098d
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcdd8]
test eax, eax
je 0x4909a1
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcde0]
test eax, eax
je 0x4909b5
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcdf4]
test eax, eax
je 0x4909c9
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xce18]
test eax, eax
je 0x4909dd
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xce20]
test eax, eax
je 0x4909f1
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xce30]
test eax, eax
je 0x490a05
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xce44]
test eax, eax
je 0x490a19
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xce60]
test eax, eax
je 0x490a2d
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xcf54]
test eax, eax
je 0x490a41
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov eax, dword [ebx + 0xd078]
test eax, eax
je 0x490a55
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
lea edi, [ebx + 0x100]
jmp 0x490a7f
mov dword [esp], esi
call fcn.004a0118
mov dword [esp + 4], ebx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call dword [ebx + 0xc]
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [ebx + 0xc]
mov dword [esp], edi
call fcn.004a0100
mov esi, eax
test eax, eax
jne 0x490a60
mov esi, dword [ebx + 0x128]
test esi, esi
jne 0x490abc
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x490aa8
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebx + 0xc]
mov dword [esp + 4], ebx
mov dword [esp], ebx
call dword [ebx + 0xc]
xor eax, eax
add esp, 0x20
pop ebx
pop esi
pop edi
ret
mov eax, dword [ebx + 0x11c]
mov dword [esp + 0x1c], 0
lea edx, [esp + 0x1c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x8004667e
mov dword [esp], eax
call sub.WS2_32.dll_ioctlsocket
sub esp, 0xc
jmp 0x490a97
lea edi, [ebx + 0x114]
mov dword [esp], edi
call fcn.004a0100
test eax, eax
je 0x490b19
nop
mov dword [esp], eax
call fcn.00498660
cmp eax, 0xffffffdb
je 0x490663
mov dword [esp], edi
call fcn.004a0100
test eax, eax
jne 0x490afc
mov dword [ebx + 0xcc38], 4
jmp 0x49069a
mov dword [ebx + 0xcc38], 3
lea edi, [ebx + 0x114]
jmp 0x490aee
mov eax, 0xffffffdb
jmp 0x49067e
lea edi, [ebx + 0x108]
jmp 0x490646