Function at 0x4118c0
Capabilities:
Get local ipv4 addresses
Get socket information
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x4360
call fcn.0043ae00
mov eax, dword [0x501d10]
push ebx
push ebp
mov ebp, dword [esp + 0x436c]
push esi
xor esi, esi
mov ebx, ecx
cmp eax, esi
push edi
mov dword [esp + 0x14], ebx
je 0x4119df
cmp ebp, 0xffffffff
je 0x4119df
push ebp
call fcn.0041e500
add esp, 4
test eax, eax
je 0x4119df
mov al, byte [0x473aa0]
mov ecx, 0x400
mov byte [esp + 0x35c], al
xor eax, eax
lea edi, [esp + 0x35d]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0x10
push ecx
push edx
push ebp
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x360]
push str._s_is_external_user__blocked
push ecx
call fcn.0043afc4
mov eax, dword [esp + 0x4388]
add esp, 0xc
cmp eax, 2
jne 0x4119c0
mov dl, byte [0x473aa0]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x1361]
mov byte [esp + 0x1360], dl
push esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x1364]
push eax
push ecx
push ebp
mov ecx, ebx
mov dword [esp + 0x28], 0x1000
call fcn.004112c0
lea edx, [esp + 0x35c]
mov ecx, ebx
push edx
push ebp
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
lea eax, [esp + 0x35c]
push eax
push ebp
mov ecx, ebx
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
mov edi, dword [esp + 0x4380]
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x411cb9
cmp eax, esi
jl 0x41217d
cmp eax, dword [0x4f439c]
jge 0x41217d
mov ecx, dword [0x4f679c]
cmp ecx, esi
je 0x41217d
cmp ecx, 1
jne 0x41217d
mov edx, dword [0x4f4398]
mov ecx, eax
shl ecx, 5
mov esi, dword [esp + 0x437c]
add ecx, eax
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 0x68]
test esi, ecx
je 0x411c9d
cmp dword [eax + 0x78], 0xffffffff
je 0x41217d
lea eax, [esp + 0x10]
push eax
call fcn.0043ba28
lea ecx, [esp + 0x14]
push ecx
call fcn.0043b8c8
mov ebp, eax
mov eax, dword [edi]
mov edx, eax
add esp, 8
shl edx, 5
add edx, eax
mov eax, dword [0x4f4398]
mov ecx, dword [ebp + 0x18]
lea edx, [eax + edx*4 + 0x78]
mov eax, dword [edx]
lea edi, [eax*8]
sub edi, eax
shl edi, 6
add edi, eax
lea edi, [eax + edi*4]
add eax, ecx
lea edi, [eax + edi*4]
mov eax, dword [0x4f43a4]
test dword [eax + edi*4 + 0x7038], esi
je 0x41217d
mov esi, ecx
push 0x46f778
shl esi, 0xc
add esi, eax
mov eax, dword [edx]
add esi, ecx
lea edx, [eax*8]
sub edx, eax
shl edx, 6
add edx, eax
lea edx, [eax + edx*4]
lea eax, [eax + edx*4]
lea ecx, [esi + eax*4 + 0x31]
push ecx
lea ecx, [esp + 0x236c]
call fcn.0042c2f0
lea ecx, [esp + 0x2364]
call fcn.0042c3b0
test eax, eax
je 0x411c7a
lea ecx, [esp + 0x2364]
call fcn.0042c350
mov bl, byte [0x473aa0]
mov edx, eax
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x45]
mov byte [esp + 0x44], bl
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x14d]
mov byte [esp + 0x14c], bl
lea ebx, [esp + 0x44]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x44]
mov edx, ecx
mov esi, edi
mov edi, ebx
push 0x46e14c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0042f510
lea ecx, [esp + 0x4c]
push 0x46e148
push ecx
call fcn.0043ad80
add esp, 0x10
test eax, eax
je 0x411ba9
mov byte [eax], 0
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x14c]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x46e14c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x150]
push ecx
call fcn.0042f510
add esp, 8
mov dl, byte [0x473aa0]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x255]
mov byte [esp + 0x254], dl
lea edx, [esp + 0x254]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
push eax
push ecx
push str._02d:_02d
push edx
call fcn.0043afc4
add esp, 0x10
lea esi, [esp + 0x254]
lea eax, [esp + 0x44]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x411c16
test cl, cl
je 0x411c12
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x411c16
add eax, 2
add esi, 2
test cl, cl
jne 0x411bee
xor eax, eax
jmp 0x411c1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x411c62
lea esi, [esp + 0x14c]
lea eax, [esp + 0x254]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x411c55
test cl, cl
je 0x411c51
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x411c55
add eax, 2
add esi, 2
test cl, cl
jne 0x411c2d
xor eax, eax
jmp 0x411c5a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x41217d
lea ecx, [esp + 0x2364]
call fcn.0042c3b0
test eax, eax
jne 0x411aea
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x4374]
push str.Time_Invalid.
push eax
mov ecx, ebx
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
push str.Service_Invalid.
push ebp
mov ecx, ebx
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
mov dword [edi], 0xffffffff
mov eax, dword [0x4f679c]
cmp eax, esi
je 0x41217d
cmp eax, 1
jne 0x41218f
mov eax, dword [0x4f439c]
mov cl, byte [0x473aa0]
xor edx, edx
cmp eax, esi
mov dword [esp + 0x21], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x25], edx
mov dword [esp + 0x18], esi
mov byte [esp + 0x20], cl
mov dword [esp + 0x29], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], esi
jle 0x4120a4
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
mov eax, dword [0x4f4398]
mov dword [esp + 0x38], esi
jmp 0x411d25
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esi + eax + 0x64]
test ecx, ecx
je 0x411d83
mov eax, dword [esi + eax + 0x60]
push eax
call edi
mov ecx, dword [esp + 0x4378]
mov edx, eax
push ecx
mov dword [esp + 0x20], edx
call edi
mov edx, dword [esp + 0x1c]
cmp eax, edx
ja 0x41206f
mov eax, dword [0x4f4398]
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [esi + eax + 0x5c]
push ecx
call edi
mov edx, eax
mov eax, dword [esp + 0x4378]
push eax
mov dword [esp + 0x20], edx
call edi
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jb 0x41206f
mov eax, dword [0x4f4398]
mov ecx, dword [esi + eax + 0x58]
test ecx, ecx
je 0x411ddf
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x411dc0
mov eax, dword [esp + 0x4378]
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, ebx
call fcn.0041d940
mov al, byte [esp + 0x20]
mov dword [esp + 0x3c], 1
test al, al
je 0x41206f
mov eax, dword [0x4f4398]
lea ecx, [esi + eax + 0x48]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.0043fa60
add esp, 8
test eax, eax
jne 0x41206f
mov eax, dword [0x4f4398]
mov ecx, dword [esi + eax + 0x64]
test ecx, ecx
jne 0x411e08
mov ecx, dword [esi + eax + 0x58]
test ecx, ecx
jne 0x411e08
mov ecx, dword [esi + eax + 0x44]
test ecx, ecx
je 0x412074
mov dword [esp + 0x40], 1
jmp 0x412074
mov edi, dword [esp + 0x437c]
mov ecx, dword [esi + eax + 0x68]
test edi, ecx
je 0x412065
cmp dword [esi + eax + 0x78], 0xffffffff
je 0x4120a2
lea eax, [esp + 0x30]
push eax
call fcn.0043ba28
lea ecx, [esp + 0x34]
push ecx
call fcn.0043b8c8
mov edx, dword [0x4f4398]
mov ebp, eax
add esp, 8
mov eax, dword [esi + edx + 0x78]
mov ecx, dword [ebp + 0x18]
lea ebx, [eax*8]
sub ebx, eax
shl ebx, 6
add ebx, eax
lea ebx, [eax + ebx*4]
add eax, ecx
lea ebx, [eax + ebx*4]
mov eax, dword [0x4f43a4]
test dword [eax + ebx*4 + 0x7038], edi
je 0x412097
mov edi, ecx
push 0x46f778
shl edi, 0xc
add edi, eax
mov eax, dword [esi + edx + 0x78]
add edi, ecx
lea edx, [eax*8]
sub edx, eax
shl edx, 6
add edx, eax
lea edx, [eax + edx*4]
lea eax, [eax + edx*4]
lea ecx, [edi + eax*4 + 0x31]
push ecx
lea ecx, [esp + 0x236c]
call fcn.0042c2f0
lea ecx, [esp + 0x2364]
call fcn.0042c3b0
test eax, eax
je 0x412047
lea ecx, [esp + 0x2364]
call fcn.0042c350
mov bl, byte [0x473aa0]
mov edx, eax
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x45]
mov byte [esp + 0x44], bl
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x255]
mov byte [esp + 0x254], bl
lea ebx, [esp + 0x44]
rep stosd dword es:[edi], eax
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x44]
mov edx, ecx
mov esi, edi
mov edi, ebx
push 0x46e14c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0042f510
lea ecx, [esp + 0x4c]
push 0x46e148
push ecx
call fcn.0043ad80
add esp, 0x10
test eax, eax
je 0x411f7e
mov byte [eax], 0
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x254]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x46e14c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x258]
push ecx
call fcn.0042f510
add esp, 8
mov dl, byte [0x473aa0]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x14d]
mov byte [esp + 0x14c], dl
lea edx, [esp + 0x14c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
push eax
push ecx
push str._02d:_02d
push edx
call fcn.0043afc4
add esp, 0x10
lea esi, [esp + 0x14c]
lea eax, [esp + 0x44]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x411feb
test cl, cl
je 0x411fe7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x411feb
add eax, 2
add esi, 2
test cl, cl
jne 0x411fc3
xor eax, eax
jmp 0x411ff0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x412033
lea esi, [esp + 0x254]
lea eax, [esp + 0x14c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x41202a
test cl, cl
je 0x412026
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x41202a
add eax, 2
add esi, 2
test cl, cl
jne 0x412002
xor eax, eax
jmp 0x41202f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x412097
lea ecx, [esp + 0x2364]
call fcn.0042c3b0
test eax, eax
jne 0x411ebf
mov eax, dword [0x4f4398]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4374]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], 1
jmp 0x412074
mov dword [esp + 0x10], 1
jmp 0x412074
mov eax, dword [0x4f4398]
mov ecx, dword [esp + 0x34]
mov edx, dword [0x4f439c]
inc ecx
add esi, 0x84
cmp ecx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
jl 0x411d1f
jmp 0x4120a2
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x4374]
xor esi, esi
mov eax, dword [esp + 0x34]
mov ecx, dword [0x4f439c]
cmp eax, ecx
jne 0x412174
mov eax, dword [esp + 0x437c]
cmp eax, 2
je 0x4120c7
cmp eax, 0x40
jne 0x412133
cmp dword [esp + 0x40], esi
jne 0x41217d
cmp dword [0x4f67a4], esi
jne 0x41217d
cmp eax, 2
jne 0x412133
mov al, byte [0x473aa0]
mov ecx, 0x400
mov byte [esp + 0x1360], al
xor eax, eax
lea edi, [esp + 0x1361]
push esi
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x34]
lea edx, [esp + 0x1364]
push ecx
push edx
push ebp
mov ecx, ebx
mov dword [esp + 0x40], 0x1000
call fcn.004112c0
mov eax, dword [0x4f9c54]
cmp eax, esi
jne 0x4119c7
push 0x4f9854
jmp 0x4119c8
cmp dword [esp + 0x18], esi
je 0x412140
push str.Time_Invalid
jmp 0x412152
cmp dword [esp + 0x10], esi
je 0x41214d
push str.Service_Invalid
jmp 0x412152
push str.User_Invalid
push ebp
mov ecx, ebx
call fcn.00411160
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
mov ecx, dword [esp + 0x4380]
mov dword [ecx], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4360
ret 0x10
cmp eax, 2
jne 0x41217d
mov eax, dword [0x4f67a0]
cmp eax, esi
jne 0x41223e
mov eax, dword [0x4f439c]
xor ebx, ebx
test eax, eax
jle 0x41217d
mov esi, dword [sym.imp.WS2_32.dll_ntohl]
xor edi, edi
mov edx, dword [0x4f4398]
mov eax, dword [edi + edx + 0x60]
push eax
call esi
mov ecx, dword [esp + 0x4378]
mov ebp, eax
push ecx
call esi
cmp eax, ebp
ja 0x4121ee
mov edx, dword [0x4f4398]
mov eax, dword [edi + edx + 0x5c]
push eax
call esi
mov ecx, dword [esp + 0x4378]
mov ebp, eax
push ecx
call esi
cmp eax, ebp
jae 0x412210
mov eax, dword [0x4f439c]
inc ebx
add edi, 0x84
cmp ebx, eax
jl 0x4121b4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4360
ret 0x10
mov edx, dword [esp + 0x4380]
mov eax, dword [esp + 0x4374]
mov ecx, dword [esp + 0x14]
push str.Invalid_User.
push eax
mov dword [edx], ebx
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10
cmp eax, 1
jne 0x41217d
mov cl, byte [0x473aa0]
xor edx, edx
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0x4378]
lea eax, [esp + 0x20]
mov dword [esp + 0x21], edx
push eax
mov dword [esp + 0x29], edx
push ecx
mov ecx, ebx
mov dword [esp + 0x31], edx
call fcn.0041d940
mov al, byte [esp + 0x20]
test al, al
je 0x41217d
mov edx, dword [0x4f439c]
xor edi, edi
cmp edx, esi
jle 0x41217d
mov eax, dword [0x4f4398]
lea ebp, [eax + 0x48]
mov esi, ebp
lea eax, [esp + 0x20]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4122c1
test cl, cl
je 0x4122bd
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4122c1
add eax, 2
add esi, 2
test cl, cl
jne 0x41229d
xor eax, eax
jmp 0x4122c6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4122e7
inc edi
add ebp, 0x84
cmp edi, edx
jl 0x412297
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4360
ret 0x10
mov ecx, dword [esp + 0x4380]
mov edx, dword [esp + 0x4374]
push str.Invalid_User.
push edx
mov dword [ecx], edi
mov ecx, dword [esp + 0x1c]
call fcn.00411160
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4360
ret 0x10