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

Disassembly:
sub esp, 0x29c
mov eax, dword [0x4f3480]
xor eax, esp
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x2a4]
push ebx
push esi
push edi
mov edi, dword [esp + 0x2ac]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movzx eax, word [edi + 0x18a]
mov ebx, dword [edi + 0x504]
movzx esi, word [edi + 0x188]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x46d2f4
test si, si
jne 0x46d2f4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.0049d2bd
add esp, 0x29c
ret
push ebp
push 0x80
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.0049ecc0
add esp, 0xc
test ebx, ebx
je 0x46d611
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d316
sub ecx, edx
cmp ecx, 0xff
jae 0x46d611
push 0xff
mov byte [esp + 0xac], al
lea eax, [esp + 0xad]
push 0
push eax
call fcn.0049ecc0
mov edx, dword [0x4f3268]
add esp, 0xc
mov ecx, edx
mov byte [esp + 0x13], 0
lea ebp, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d360
sub ecx, ebp
push ecx
push ebx
push edx
call fcn.004ae8a0
mov ebp, dword [esp + 0x2c8]
add esp, 0xc
test eax, eax
jne 0x46d40d
mov ecx, dword [0x4f3268]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d390
sub ecx, edx
mov byte [esp + 0x13], 1
add ebx, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa8]
push 0x100
push eax
push ebx
push dword [ecx + 0x464]
push dword [esp + 0x2d0]
push ebp
call fcn.00413a00
add esp, 0x18
sub eax, 0
je 0x46d4e5
sub eax, 1
je 0x46d5a3
sub eax, 1
je 0x46d454
cmp byte [esp + 0x13], 0
jne 0x46d5f1
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x470]
mov byte [esp + 0x13], al
cmp ebp, 2
jne 0x46d509
mov byte [ecx + 0x470], 1
jmp 0x46d515
mov edx, dword [0x4f326c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d420
sub ecx, dword [esp + 0x20]
push ecx
push ebx
push edx
call fcn.004ae8a0
add esp, 0xc
test eax, eax
jne 0x46d3a0
mov ecx, dword [0x4f326c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46d447
sub ecx, edx
add ebx, ecx
jmp 0x46d3ea
push ebp
lea eax, [esp + 0xac]
push eax
push ebx
push 0x4d7974
push edi
call fcn.0043f710
add esp, 0x14
cmp ebp, 0x17
jne 0x46d5ad
lea eax, [esp + 0xa8]
push 0x25
push eax
call fcn.0049ee20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46d491
mov byte [ebx], 0
inc ebx
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xac]
push eax
push 0x17
call fcn.00456310
add esp, 0xc
test eax, eax
jle 0x46d4d7
mov eax, 0x17
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
test ebx, ebx
je 0x46d4d7
push 0xa
push 0
push ebx
call fcn.004a799d
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, 0x1c
mov dword [esp + 0x18], eax
jmp 0x46d640
cmp byte [esp + 0x13], 0
je 0x46d3ea
push ebx
push 0x4d7954
push edi
call fcn.0043f640
add esp, 0xc
mov eax, 0x2d
jmp 0x46d770
cmp ebp, 0x17
jne 0x46d515
mov byte [ecx + 0x470], 2
lea eax, [esp + 0x14]
push eax
push 0
push 0x50
push ebx
push edi
call fcn.004488d0
add esp, 0x14
cmp eax, 1
jne 0x46d53b
lea eax, [esp + 0x14]
push eax
push edi
call fcn.00434850
add esp, 8
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
mov byte [ecx + 0x470], al
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46d5f1
push 0x100
lea ecx, [esp + 0xac]
push ecx
push dword [eax]
call fcn.00448880
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push dword [eax + 4]
lea eax, [esp + 0xb8]
push eax
push ebp
push ebx
push 0x4d79a8
push edi
call fcn.0043f710
push dword [esp + 0x38]
push edi
call fcn.00448e90
mov eax, dword [esp + 0x40]
add esp, 0x2c
mov eax, dword [eax]
cmp ebp, dword [eax + 4]
je 0x46d46c
mov eax, 1
jmp 0x46d770
cmp ebp, 2
jne 0x46d63e
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
push ebp
call fcn.00456310
add esp, 0xc
test eax, eax
jle 0x46d63e
mov eax, 2
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov eax, 0x10
mov dword [esp + 0x18], eax
jmp 0x46d640
push ebx
push 0x4d79d8
push edi
mov byte [edi + 0xd57], 0
call fcn.0043f640
add esp, 0xc
mov eax, 0x2d
jmp 0x46d770
mov eax, dword [esp + 0x2bc]
cmp eax, 0x17
jne 0x46d639
push esi
mov word [esp + 0x2c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x2a], ax
mov eax, 0x1c
mov dword [esp + 0x18], eax
jmp 0x46d640
cmp eax, 2
je 0x46d5d0
xor eax, eax
mov ebp, dword [esp + 0x2b8]
push eax
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x46d6aa
mov ebx, dword [sym.imp.WS2_32.dll_ntohs]
nop
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jle 0x46d719
inc esi
test si, si
je 0x46d719
movzx eax, si
dec eax
push eax
push 0x4d7a28
push edi
call fcn.0043f710
add esp, 0xc
push esi
call ebx
push dword [esp + 0x18]
mov word [esp + 0x2e], ax
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x46d660
push 0x80
lea eax, [esp + 0xac]
mov dword [esp + 0x24], 0x80
push 0
push eax
call fcn.0049ecc0
add esp, 0xc
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xac]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jns 0x46d751
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0x1a8]
push 0x100
push eax
push esi
mov dword [edi + 0x934], esi
call fcn.0042e270
push eax
push esi
push 0x4d79f0
push edi
call fcn.0043f640
add esp, 0x1c
mov eax, 0x2d
jmp 0x46d770
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0xa8]
push 0x100
push eax
push esi
mov dword [edi + 0x934], esi
call fcn.0042e270
push eax
push esi
push 0x4d7a54
push edi
call fcn.0043f640
add esp, 0x1c
mov eax, 0x2d
jmp 0x46d770
movzx eax, si
push eax
push 0x4d7a18
push edi
call fcn.0043f710
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [eax + 0x1f6], 1
xor eax, eax
mov ecx, dword [esp + 0x2a8]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0049d2bd
add esp, 0x29c
ret