Function at 0x5508b0
Capabilities:
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
sub esp, 0x14c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x160]
mov eax, dword [edi + 4]
xor ebp, ebp
xor esi, esi
cmp eax, ebp
mov ebx, 1
mov dword [esp + 0x10], ebp
je 0x550947
cmp byte [eax], 0x2d
jne 0x550947
push 0x64
push eax
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x5508eb
mov esi, ebx
cmp esi, ebp
mov ebx, 2
je 0x550947
mov eax, dword [edi + 8]
cmp eax, ebp
jne 0x550914
mov eax, dword [edi]
push ebp
push ebp
push eax
push ebp
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x55093a
mov ecx, dword [edi]
push 3
push ebp
push ecx
push ebp
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x10], 2
mov ebx, 3
mov edx, dword [edi + ebx*4]
cmp edx, ebp
jne 0x550967
mov edx, dword [edi]
push ebp
push ebp
push edx
push ebp
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x550970
sub eax, esi
cmp eax, 0x100
jb 0x5509bd
push ebp
push 0x1452
call fcn.00424130
push eax
mov eax, dword [edi + ebx*4]
push eax
push str.__socklisten:__s__s
push 0x643160
call fcn.005d9929
push 6
push ebp
push 0x643160
push ebp
call fcn.0048bd90
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14c
ret
push edx
call fcn.0054fb80
add esp, 4
test eax, eax
je 0x5509dc
push ebp
push 0x1453
call fcn.00424130
mov ecx, dword [edi + ebx*4]
push eax
push ecx
jmp 0x550990
mov eax, dword [edi + ebx*4 + 4]
cmp eax, ebp
mov dword [esp + 0x14], ebp
je 0x550a14
push eax
call fcn.005d99cd
add esp, 4
cmp ax, bp
mov dword [esp + 0x14], eax
ja 0x550a14
mov edx, dword [edi]
push 3
push ebp
push edx
push ebp
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
call fcn.0054f910
mov esi, eax
cmp esi, ebp
jne 0x550a39
mov eax, dword [edi]
push 2
push ebp
push eax
push ebp
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [edi + ebx*4]
push ecx
push 0x132
push esi
call fcn.00425550
mov ebx, dword [esp + 0x170]
add ebx, 0x4656
push ebx
lea edx, [esi + 0x132]
push 0x132
push edx
call fcn.00425550
push ebx
lea ebp, [esi + 0x264]
push 0x132
push ebp
call fcn.00425550
mov ax, word [esp + 0x38]
push 0
mov word [esi + 0x396], ax
mov dword [esi + 0x4e8], 1
call fcn.005daa26
mov ebx, dword [esp + 0x38]
add esp, 0x28
test ebx, ebx
mov dword [esi + 0x524], eax
mov dword [esi + 0x528], eax
je 0x550ad4
mov ecx, dword [edi + ebx*4]
push ecx
push 0x132
push ebp
call fcn.00425550
mov edx, dword [edi + ebx*4]
push edx
lea eax, [esi + 0x398]
push 0x132
push eax
call fcn.00425550
add esp, 0x18
cmp word [esp + 0x14], 0
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x548], ecx
jne 0x550ba0
push 0x687448
lea edx, [esp + 0x2c]
push 0x132
push edx
call fcn.00425550
mov al, byte [esi + 0x398]
mov ebx, dword [0x687440]
lea edi, [esi + 0x398]
add esp, 0xc
test al, al
je 0x550b37
push edi
push 0x132
push 0x687448
call fcn.00425550
add esp, 0xc
mov dword [0x687440], 2
push 0
push 0
push 0
lea eax, [esi + 0x396]
push eax
xor eax, eax
mov ax, word [0x61a70c]
xor ecx, ecx
mov cx, word [0x61a708]
push eax
push ecx
call fcn.0052f8a0
lea edx, [esp + 0x40]
push edx
push 0x132
push 0x687448
mov dword [esi + 0x544], eax
call fcn.00425550
mov dword [0x687440], ebx
mov eax, dword [esi + 0x544]
add esp, 0x24
cmp eax, 0xffffffff
jne 0x550caf
push esi
call fcn.0054fa70
push 0
push 0x1454
jmp 0x550c7a
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
cmp eax, 0xffffffff
mov dword [esi + 0x544], eax
jne 0x550bc9
push esi
call fcn.0054fa70
push 0
push 0x1455
jmp 0x550c7a
push 0x687448
lea eax, [esp + 0x2c]
push 0x132
push eax
call fcn.00425550
mov al, byte [esi + 0x398]
mov ebp, dword [0x687440]
lea edi, [esi + 0x398]
add esp, 0xc
test al, al
je 0x550c13
push edi
push 0x132
push 0x687448
call fcn.00425550
add esp, 0xc
mov dword [0x687440], 2
mov edx, dword [esi + 0x544]
xor ecx, ecx
mov cx, word [esi + 0x396]
push ecx
push edx
call fcn.0052f7d0
mov ebx, eax
lea eax, [esp + 0x30]
push eax
push 0x132
push 0x687448
call fcn.00425550
add esp, 0x14
test ebx, ebx
mov dword [0x687440], ebp
jne 0x550c5a
push esi
call fcn.0054fa70
push ebx
push 0x1456
jmp 0x550c7a
mov ecx, dword [esi + 0x544]
push 5
push ecx
call dword [sym.imp.WSOCK32.dll_listen]
test eax, eax
je 0x550caf
push esi
call fcn.0054fa70
push 0
push 0x145a
call fcn.00424130
push eax
push str.__socklisten:__s
push 0x643160
call fcn.005d9929
push 6
push 0
push 0x643160
push 0
call fcn.0048bd90
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14c
ret
mov edx, dword [0x6a0f40]
mov eax, dword [esi + 0x544]
push 8
push 0x8037
push edx
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
mov eax, dword [esi + 0x544]
cmp eax, 0xffffffff
je 0x550d1e
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x1c], 0x10
call dword [sym.imp.WSOCK32.dll_getsockname]
test eax, eax
jne 0x550d1e
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
push eax
push 0x132
push edi
call fcn.00425550
mov ecx, dword [esp + 0x26]
add esp, 0xc
push ecx
call dword [sym.imp.WSOCK32.dll_ntohs]
mov word [esi + 0x4ca], ax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14c
ret