Function at 0x4941fc
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4947ba
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1034], 0xffffffff
jne 0x49479f
push 0x3e8
push 2
push 6
call sub.wsock32.dll_socket
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x1034], ebx
inc ebx
jne 0x49427c
call sub.wsock32.dll_WSAGetLastError
push eax
call sub.wsock32.dll_WSAGetLastError
mov edx, eax
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00495238
mov ecx, dword [ebp - 0x3c]
mov dl, 1
mov eax, dword [0x493b00]
call fcn.00493f80
call fcn.00404080
mov word [ebp - 0x2a], 6
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x28]
mov byte [eax], 0
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 4
jne 0x49428a
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x24]
mov byte [eax], 0
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 6
jne 0x49429f
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x11de]
xchg al, ah
mov word [ebp - 0x1e], ax
push 0xe
lea eax, [ebp - 0x2a]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_bind
inc eax
jne 0x494338
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4942fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004947c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494312
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00495238
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x493b00]
call fcn.00493f80
call fcn.00404080
mov dword [ebp - 8], 0xe
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_getsockname
inc eax
jne 0x4943bd
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x494381
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004947c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494397
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00495238
mov ecx, dword [ebp - 0x44]
mov dl, 1
mov eax, dword [0x493b00]
call fcn.00493f80
call fcn.00404080
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x36]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov bl, byte [eax]
mov byte [edx + ecx + 0x11d4], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 4
jne 0x4943c5
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x32]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov bl, byte [eax]
mov byte [edx + ecx + 0x11d8], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 6
jne 0x4943e6
xor eax, eax
push ebp
push 0x494428
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x11f4]
mov eax, dword [ebp - 4]
call fcn.0049519c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494495
xor eax, eax
push ebp
push 0x4944be
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11ec]
mov eax, dword [ebp - 4]
call fcn.00495008
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49452b
xor eax, eax
push ebp
push 0x494554
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11c8]
mov eax, dword [ebp - 4]
call fcn.00494a80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4945c1
xor eax, eax
push ebp
push 0x4945ea
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11ca]
mov eax, dword [ebp - 4]
call fcn.00494b2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494657
xor eax, eax
push ebp
push 0x494680
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11d0]
mov eax, dword [ebp - 4]
call fcn.00494bdc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4946ed
mov dword [ebp - 8], 4
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
add eax, 0x11cc
push eax
push 0x4006
push 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_getsockopt
push 3
push 0x400
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1030]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_WSAAsyncSelect
inc eax
jne 0x49479f
xor eax, eax
push ebp
push 0x49475d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004947c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494773
call sub.wsock32.dll_WSAGetLastError
push eax
call sub.wsock32.dll_WSAGetLastError
mov edx, eax
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00495238
mov ecx, dword [ebp - 0x48]
mov dl, 1
mov eax, dword [0x493b00]
call fcn.00493f80
call fcn.00404080
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4947c1
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.004046ec
ret