Function at 0x414ac0
Capabilities:
Get local ipv4 addresses
Get socket information
Initialize winsock library

Disassembly:
sub esp, 0x1cc
mov eax, dword [0x437070]
xor eax, esp
mov dword [esp + 0x1c8], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1e0]
push 0xb0
xor ebx, ebx
push ebx
push 0x438910
call fcn.00423780
add esp, 0xc
cmp dword [edi], ebx
jne 0x414afe
mov dword [edi], 0x438910
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
or ebp, 0xffffffff
mov dword [eax + 0x50], ebp
push 0x202
mov dword [0x4389c0], 0x3e8
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov ax, word [esp + 0x48]
cmp al, 2
jne 0x414b37
cmp ah, al
je 0x414b41
mov esi, 0xfffefff8
jmp 0x414dad
call fcn.00411cc0
mov edx, dword [edi]
mov dword [edi + 8], eax
mov dword [edx + 0x70], ebp
mov eax, dword [edi]
mov dword [eax + 0x74], ebx
mov ecx, dword [edi]
mov dword [ecx + 0x8c], ebx
mov edx, dword [edi]
movzx eax, word [0x42df3c]
add edx, 0x70
push edx
push eax
lea ecx, [esp + 0x40]
mov word [esp + 0x40], 2
mov dword [esp + 0x44], ebx
call fcn.00411200
mov eax, dword [edi]
add esp, 8
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x3c]
mov dword [esp + 0x18], 0x10
mov ecx, dword [eax + 0x70]
push edx
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov dx, word [esp + 0x3a]
push ebx
push ebx
push ebx
push ebx
mov word [edi + 0x14], dx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [edi]
mov dword [ecx + 0x74], eax
mov edx, dword [edi]
cmp dword [edx + 0x74], ebx
jne 0x414be3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x414cb7
call esi
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov eax, dword [edi]
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x70]
push 1
push ecx
push edx
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov eax, dword [edi]
mov ebp, dword [sym.imp.WS2_32.dll_WSAIoctl]
push ebx
push ebx
lea ecx, [esp + 0x18]
push ecx
push 4
lea edx, [eax + 0x8c]
mov eax, dword [eax + 0x70]
push edx
push 0x10
push 0x437024
push 0xc8000006
push eax
call ebp
test eax, eax
je 0x414c35
mov ecx, dword [edi]
mov dword [ecx + 0x8c], ebx
mov edx, dword [edi]
mov dword [edx + 0x90], 0xffffffff
mov eax, dword [edi]
mov dword [eax + 0x94], ebx
mov ecx, dword [edi]
mov dword [ecx + 0xac], ebx
mov eax, dword [0x433cc0]
mov ecx, dword [0x433cc4]
mov edx, dword [0x433cbc]
mov dword [esp + 0x28], eax
mov eax, dword [edi]
mov dword [esp + 0x2c], ecx
movzx ecx, word [0x42df3c]
add eax, 0x90
push eax
mov dword [esp + 0x28], edx
mov edx, dword [0x433cc8]
push ecx
lea ecx, [esp + 0x24]
mov word [esp + 0x24], 0x17
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
call fcn.00411200
add esp, 8
cmp eax, ebx
je 0x414cc1
cmp eax, 0x273f
je 0x414cc1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
jmp 0x414da9
mov esi, 0xffffe5d4
jmp 0x414dad
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [edi]
mov dword [edx + 0x94], eax
mov eax, dword [edi]
cmp dword [eax + 0x94], ebx
jne 0x414cf5
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x414cb7
call esi
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov eax, dword [edi]
cmp dword [eax + 0x90], 0xffffffff
je 0x414d87
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x1c], 0x1c
mov eax, dword [eax + 0x90]
push edx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov cx, word [esp + 0x1e]
mov eax, dword [edi]
mov word [edi + 0x16], cx
mov edx, dword [eax + 0x94]
mov eax, dword [eax + 0x90]
push 1
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
mov esi, eax
cmp esi, ebx
jne 0x414dad
mov eax, dword [edi]
push ebx
push ebx
lea ecx, [esp + 0x18]
push ecx
push 4
lea edx, [eax + 0xac]
mov eax, dword [eax + 0x90]
push edx
push 0x10
push 0x437024
push 0xc8000006
push eax
call ebp
test eax, eax
je 0x414d87
mov ecx, dword [edi]
mov dword [ecx + 0xac], ebx
mov eax, edi
call fcn.004130f0
mov esi, eax
cmp esi, ebx
jne 0x414dad
call fcn.00414a00
mov esi, eax
cmp esi, ebx
jne 0x414dad
push esi
push edi
call fcn.0040f2c0
add esp, 8
cmp esi, ebx
je 0x414db6
push edi
call fcn.00413d10
add esp, 4
mov ecx, dword [esp + 0x1d8]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00423888
add esp, 0x1cc
ret