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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x53f40dc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
push ebx
push esi
push edi
mov edi, dword [eax]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x20c], ecx
mov esi, dword [edi + 0x94c]
mov eax, dword [edi + 0x5ec]
movzx ebx, word [edi + 0x5e8]
mov dword [ebp - 0x21c], eax
test esi, esi
jne 0x5559d2c
test bx, bx
je 0x555a192
push 0x80
push ecx
lea eax, [ebp - 0x204]
push eax
call fcn.0557d7e0
add esp, 0xc
push 2
pop ecx
test esi, esi
je 0x555a034
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5559d51
sub ecx, edx
cmp ecx, 0xff
jae 0x555a031
push 0x100
lea eax, [ebp - 0x104]
push 0
push eax
call fcn.0557d7e0
mov edx, dword [0x53f4090]
add esp, 0xc
mov ecx, edx
mov byte [ebp - 0x205], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x210], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5559d94
sub ecx, dword [ebp - 0x210]
push ecx
push esi
push edx
call fcn.0558c420
add esp, 0xc
test eax, eax
jne 0x5559e4b
mov ecx, dword [0x53f4090]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5559dbd
sub ecx, edx
mov byte [ebp - 0x205], 1
add esi, ecx
push 0x100
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x218]
push esi
push dword [eax + 0x8c]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0554a26f
add esp, 0x18
sub eax, 0
je 0x5559eb8
sub eax, 1
je 0x5559eb0
sub eax, 1
je 0x5559e92
cmp byte [ebp - 0x205], 0
jne 0x555a01f
mov eax, dword [ebp - 0x218]
push 2
mov ecx, dword [eax + 0x2b0]
mov dword [ebp - 0x210], ecx
pop ecx
cmp dword [ebp + 0x10], ecx
jne 0x5559edc
mov dword [eax + 0x2b0], 1
jmp 0x5559ee8
mov edx, dword [0x53f4094]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x210], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5559e5c
sub ecx, dword [ebp - 0x210]
push ecx
push esi
push edx
call fcn.0558c420
add esp, 0xc
test eax, eax
jne 0x5559dcf
mov ecx, dword [0x53f4094]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5559e85
sub ecx, edx
add esi, ecx
jmp 0x5559e1e
push dword [ebp + 0x10]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x552fc48
push edi
call fcn.05558a4c
add esp, 0x14
jmp 0x5559f78
xor eax, eax
inc eax
jmp 0x555a194
cmp byte [ebp - 0x205], 0
je 0x5559e1e
push esi
push 0x552fc28
push edi
call fcn.05558978
add esp, 0xc
push 0x2d
pop eax
jmp 0x555a194
cmp dword [ebp + 0x10], 0x17
jne 0x5559ee8
mov dword [eax + 0x2b0], ecx
lea ecx, [ebp - 0x214]
push ecx
push 0
push esi
push eax
call fcn.0555bfc1
add esp, 0x10
cmp eax, 1
jne 0x5559f15
lea eax, [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
push eax
call fcn.055513df
pop ecx
pop ecx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x210]
mov dword [eax + 0x2b0], ecx
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x555a01f
push 0x100
lea ecx, [ebp - 0x104]
push ecx
push dword [eax]
call fcn.0555bf7f
mov eax, dword [ebp - 0x214]
mov eax, dword [eax]
push dword [eax + 4]
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 0x10]
push esi
push 0x552fc80
push edi
call fcn.05558a4c
push dword [ebp - 0x214]
push edi
call fcn.0555c1bb
add esp, 0x2c
cmp dword [ebp + 0x10], 0x17
jne 0x5559fe3
lea eax, [ebp - 0x104]
push 0x25
push eax
call fcn.0557fc80
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x5559f98
mov byte [esi], 0
inc esi
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x104]
push eax
push 0x17
call fcn.055662f3
add esp, 0xc
test eax, eax
jle 0x555a051
push 0x17
pop eax
push ebx
mov word [ebp - 0x204], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x202], ax
test esi, esi
je 0x555a051
push esi
call fcn.0558bbc3
pop ecx
mov dword [ebp - 0x1ec], eax
jmp 0x555a051
push 2
pop esi
cmp dword [ebp + 0x10], esi
jne 0x555a06a
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x104]
push eax
push esi
call fcn.055662f3
add esp, 0xc
test eax, eax
jle 0x555a06a
mov word [ebp - 0x204], si
push ebx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x202], ax
push 0x10
jmp 0x555a053
and dword [edi + 0xf74], 0xfffffff7
push esi
push 0x552fcb0
jmp 0x5559ecb
push 2
pop ecx
push 0x17
pop eax
cmp dword [ebp + 0x10], eax
jne 0x555a05c
push ebx
mov word [ebp - 0x204], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x202], ax
push 0x1c
pop eax
mov dword [ebp - 0x20c], eax
jmp 0x555a070
cmp dword [ebp + 0x10], ecx
jne 0x555a06a
mov word [ebp - 0x204], cx
jmp 0x555a00d
mov eax, dword [ebp - 0x20c]
push eax
lea eax, [ebp - 0x204]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x555a0da
mov esi, dword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [ebp - 0x21c]
dec eax
mov dword [ebp - 0x21c], eax
test eax, eax
jle 0x555a147
movzx eax, bx
push eax
push 0x552fd04
push edi
call fcn.05558a4c
add esp, 0xc
inc ebx
push 2
pop eax
push ebx
call esi
push dword [ebp - 0x20c]
mov word [ebp - 0x202], ax
lea eax, [ebp - 0x204]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x555a08b
mov eax, 0x80
push eax
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x184]
push 0
push eax
call fcn.0557d7e0
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x184]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jns 0x555a170
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x84]
push 0x80
push eax
push esi
mov dword [edi + 0xcac], esi
call fcn.0556de4c
push eax
push esi
push 0x552fcc8
push edi
call fcn.05558978
add esp, 0x1c
jmp 0x5559ed4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [ebp - 0x184]
push 0x80
push eax
push esi
mov dword [edi + 0xcac], esi
call fcn.0556de4c
push eax
push esi
push 0x552fd30
jmp 0x555a139
movzx eax, bx
push eax
push 0x552fcf0
push edi
call fcn.05558a4c
mov eax, dword [ebp - 0x218]
add esp, 0xc
or dword [eax + 0x284], 0x1000000
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0557c24c
leave
ret