Function at 0x411090
Capabilities:
Get socket status

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0xfe8
test eax, eax
je 0x4110a1
mov byte [eax], 0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x100c]
test edi, edi
jne 0x4110be
call fcn.00410b20
mov edi, eax
mov dword [esp + 0x100c], edi
mov eax, dword [esp + 0x1010]
xor esi, esi
test eax, eax
je 0x4110ce
mov esi, dword [eax + 2]
mov ebx, dword [esp + 0x1000]
push ebx
push esi
push edi
call fcn.0042b7c0
push ebx
inc edi
mov ebp, eax
push esi
push edi
mov dword [esp + 0x5c], ebp
call fcn.0042b7c0
add esp, 0x18
cmp ebp, 0xffffffff
mov dword [esp + 0x18], eax
je 0x411922
cmp eax, 0xffffffff
je 0x411922
mov eax, dword [esp + 0xffc]
mov esi, dword [esp + 0x18]
mov byte [esp + 0x14], 0
mov byte [esp + 0x38], 0
mov ecx, dword [eax]
mov byte [esp + 0x34], 1
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x28], 0
mov dx, word [eax + 4]
xor eax, eax
mov dword [esp + 0x1c], eax
mov word [esp + 0x40], dx
mov byte [esp + 0x30], 0
mov byte [esp + 0x13], 0
mov word [esp + 0x20], ax
mov word [esp + 0x360], ax
mov word [esp + 0x25c], ax
mov dword [esp + 0x2c], eax
xor edi, edi
jmp 0x41116a
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x18]
xor edi, edi
lea eax, [ebp + 1]
xor edx, edx
cmp eax, edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], 1
jbe 0x411181
mov edx, eax
xor eax, eax
lea ecx, [esp + 0x5c]
cmp dword [ecx], esi
je 0x411194
inc eax
add ecx, 4
cmp eax, 1
jb 0x411187
cmp eax, 1
jne 0x4111a5
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], 2
lea eax, [esi + 1]
cmp eax, edx
jbe 0x4111ae
mov edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
cmp eax, edi
mov dword [esp + 0x4c], 0x249f0
jne 0x4111c6
mov dword [esp + 0x4c], edi
lea ecx, [esp + 0x48]
lea eax, [esp + 0x58]
push ecx
push 0
push 0
push eax
push edx
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, 0xffffffff
mov edi, eax
je 0x41156a
test esi, esi
jne 0x41131d
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0x14]
inc ecx
test al, al
mov dword [esp + 0x2c], ecx
jne 0x41122d
mov esi, dword [esp + 0xffc]
push ebx
lea ecx, [esp + 0x160]
push 1
lea edx, [esp + 0x268]
push ecx
push edx
push esi
push ebp
call fcn.00410ec0
add esp, 0x18
jmp 0x411234
mov esi, dword [esp + 0xffc]
mov al, byte [esp + 0x38]
test al, al
jne 0x411275
mov al, byte [esp + 0x14]
test al, al
je 0x411275
mov eax, dword [esp + 0x3e]
test eax, eax
je 0x411275
cmp word [esp + 0x3c], 0
je 0x411275
push ebx
lea eax, [esp + 0x160]
push 0xa
lea ecx, [esp + 0x268]
push eax
lea edx, [esp + 0x48]
push ecx
push edx
push ebp
call fcn.00410ec0
add esp, 0x18
mov al, byte [esp + 0x28]
test al, al
jne 0x41129e
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x160]
push 2
lea ecx, [esp + 0x268]
push eax
push ecx
push esi
push edx
call fcn.00410ec0
add esp, 0x18
mov al, byte [esp + 0x30]
test al, al
jne 0x4112c7
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x160]
push 3
lea ecx, [esp + 0x268]
push eax
push ecx
push esi
push edx
call fcn.00410ec0
add esp, 0x18
mov al, byte [esp + 0x14]
test al, al
je 0x411537
mov al, byte [esp + 0x13]
test al, al
jne 0x411537
mov eax, dword [esp + 0x1e]
test eax, eax
je 0x411537
cmp word [esp + 0x1c], 0
je 0x411537
push ebx
lea eax, [esp + 0x160]
push 0xb
lea ecx, [esp + 0x268]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
push ebp
call fcn.00410ec0
add esp, 0x18
jmp 0x411537
xor ebp, ebp
mov esi, dword [esp + 0x44]
test ebp, ebp
je 0x41132b
mov esi, dword [esp + 0x18]
cmp esi, 0xffffffff
je case.0x41145c.6
lea eax, [esp + 0x58]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je case.0x41145c.6
lea ecx, [esp + 0x50]
push ebx
lea edx, [esp + 0x56]
push ecx
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x804]
push eax
push ecx
push esi
mov dword [esp + 0x3c], 0x800
call fcn.0042bbb0
mov ecx, 0x124
xor eax, eax
lea edi, [esp + 0x37c]
lea edx, [esp + 0x37c]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov eax, dword [esp + 0x3c]
push ebx
push edx
lea ecx, [esp + 0x818]
push eax
push ecx
call fcn.0040e8f0
add esp, 0x28
test bl, bl
je 0x41143b
mov edx, dword [esp + 0x368]
mov eax, dword [esp + 0x364]
and edx, 0xff
push edx
push str.__id
push eax
push str.Received_message_of_type
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411d40
push eax
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411f80
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x41141a
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x41141a
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x41143b
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x411433
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x368]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0xa
ja case.0x41145c.6
xor edx, edx
mov dl, byte [eax + 0x4119b0]
jmp dword [edx*4 + 0x411998]
mov al, byte [esp + 0x14]
test al, al
jne 0x4114ce
mov edx, dword [esp + 0x1004]
mov ecx, dword [esp + 0x37d]
mov eax, dword [esp + 0x37b]
mov dword [esp + 0x1e], ecx
test edx, edx
mov word [esp + 0x1c], ax
je 0x4114aa
mov esi, dword [esp + 0x100c]
mov edx, eax
and edx, 0xffff
cmp edx, esi
mov esi, dword [esp + 0x1004]
sete dl
mov byte [esi], dl
mov edx, dword [esp + 0x39d]
mov dword [esp + 0x3e], edx
mov edx, dword [esp + 0x1010]
test edx, edx
je 0x4114c6
mov word [edx], ax
mov dword [edx + 2], ecx
mov dword [esp + 0x2c], 0
mov byte [esp + 0x14], 1
jmp case.0x41145c.6
mov byte [esp + 0x28], 1
jmp case.0x41145c.6
mov byte [esp + 0x30], 1
jmp case.0x41145c.6
mov al, byte [esp + 0x38]
test al, al
jne 0x411513
mov eax, dword [esp + 0x37d]
mov ecx, dword [esp + 0x1e]
cmp eax, ecx
mov byte [esp + 0x34], 0
jne 0x411513
mov cx, word [esp + 0x37b]
cmp cx, word [esp + 0x1c]
jne 0x411513
mov byte [esp + 0x34], 1
mov byte [esp + 0x38], 1
jmp case.0x41145c.6
mov eax, dword [esp + 0x1008]
test eax, eax
je 0x411528
mov byte [eax], 1
mov byte [esp + 0x13], 1
inc ebp
cmp ebp, 2
jl 0x41131f
cmp dword [esp + 0x2c], 7
jl 0x411160
mov ecx, dword [esp + 0x1e]
push 0
push ecx
push 0
call fcn.0042b7c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x411605
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
xor bl, bl
jmp 0x411607
push str._in_select
push edi
call fcn.0043b6d0
add esp, 4
push eax
push 0x455ce8
push edi
push 0x456158
push 0x45fb78
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.00411f80
push eax
call fcn.004126b0
add esp, 8
push eax
call fcn.004126b0
add esp, 8
push eax
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x4115e1
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x4115e1
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x411987
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x41197f
jmp 0x41197d
mov bl, 1
mov al, byte [esp + 0x1000]
mov byte [esp + 0x24], bl
test al, al
je 0x4118ac
mov edx, dword [esp + 0x14]
push edx
push str.test_I_
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov eax, dword [esi]
xor edi, edi
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi + 4]
test cl, 6
jne 0x41166a
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x41166a
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x41168b
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x411683
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x28]
push ecx
push str.test_II_
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x4116d7
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x4116d7
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x4116f8
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x4116f0
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x30]
push ecx
push str.test_III_
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x411744
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x411744
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x411765
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x41175d
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x38]
push ecx
push str.test_I_2__
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x4117b1
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x4117b1
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x4117d2
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x4117ca
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x24]
push ecx
push str.is_nat__
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x41181e
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x41181e
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x41183f
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x411837
or al, 4
push 0
push eax
call fcn.00448183
mov ecx, dword [esp + 0x34]
push ecx
push str.mapped_IP_same_
push 0x45f9c0
call fcn.004126b0
add esp, 8
mov ecx, eax
call fcn.004119c0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00412400
mov edx, dword [esi]
xor edi, edi
mov eax, dword [edx + 4]
add eax, esi
test byte [eax + 4], 6
jne 0x41188b
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x41188b
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x4118ac
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x4118a4
or al, 4
push 0
push eax
call fcn.00448183
mov al, byte [esp + 0x14]
test al, al
je 0x411912
mov al, byte [esp + 0x28]
test bl, bl
je 0x4118fe
test al, al
je 0x4118d0
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0xfe8
ret
mov al, byte [esp + 0x34]
test al, al
je 0x4118ee
mov al, byte [esp + 0x30]
pop edi
neg al
sbb eax, eax
pop esi
pop ebp
add eax, 4
pop ebx
add esp, 0xfe8
ret
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0xfe8
ret
neg al
sbb eax, eax
pop edi
and al, 0xfb
pop esi
pop ebp
add eax, 6
pop ebx
add esp, 0xfe8
ret
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0xfe8
ret
push str.Some_problem_opening_port_interface_to_send_on
push 0x45fb78
call fcn.004126b0
add esp, 8
mov esi, eax
mov ecx, esi
push 0xa
call fcn.00412400
mov ecx, dword [esi]
xor edi, edi
mov edx, dword [ecx + 4]
mov cl, byte [edx + esi + 4]
test cl, 6
lea eax, [edx + esi]
jne 0x411966
mov eax, dword [eax + 0x28]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0xffffffff
jne 0x411966
mov edi, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
test edi, edi
je 0x411987
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x28]
or eax, edi
test edx, edx
jne 0x41197f
or al, 4
push 0
push eax
call fcn.00448183
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0xfe8
ret