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

Disassembly:
push 0xffffffffffffffff
push 0x4b800e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
mov eax, dword [0x509334]
xor eax, dword [esp + 0xcc]
push esi
push edi
mov edi, dword [esp + 0xd8]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x7c]
push ecx
mov esi, 0x10
push edi
mov dword [esp + 0x1c], esi
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x40e9a6
cmp dword [esp + 0x10], esi
jne 0x40e9a6
mov ecx, dword [esp + 0xe8]
test ecx, ecx
mov eax, dword [esp + 0x7c]
push ebp
mov ebp, eax
je 0x40e718
mov dword [ecx], eax
push 1
push 0x14
lea ecx, [esp + 0x20]
call fcn.0040dee0
mov edx, dword [esp + 0xe0]
push edx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xd8], 1
call fcn.00404790
push 4
lea ecx, [esp + 0x1c]
call fcn.00404910
push ebp
lea ecx, [esp + 0x1c]
call fcn.00404910
mov eax, dword [esp + 0xe4]
push eax
lea ecx, [esp + 0x1c]
call fcn.00404910
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x40e790
push esi
lea ecx, [esp + 0x1c]
push ecx
push edi
call fcn.0046df10
add esp, 0xc
test al, al
jne 0x40e79e
push edi
call fcn.0040a7e0
add esp, 4
jmp 0x40e79e
lea edx, [esp + 0x18]
push edx
push edi
call fcn.0046dc40
add esp, 8
push 1
lea ecx, [esp + 0x1c]
call fcn.00404e40
test al, al
je 0x40e7dd
test esi, esi
je 0x40e7cf
push esi
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.0046f5e0
add esp, 0xc
test al, al
jne 0x40e7dd
push edi
call fcn.0040a7e0
add esp, 4
jmp 0x40e7dd
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.0046f320
add esp, 8
lea edx, [esp + 0xf]
push edx
lea ecx, [esp + 0x1c]
call fcn.00409960
lea ecx, [esp + 0x18]
call fcn.00409fb0
mov al, byte [esp + 0xf]
test al, al
je 0x40e8b0
cmp al, 1
jne 0x40e81c
lea ecx, [esp + 0x50]
call fcn.0040abe0
push 0x4ef240
lea eax, [esp + 0x54]
push eax
call fcn.0049e394
cmp al, 2
jne 0x40e880
mov ecx, 0x50a638
call fcn.00456440
push fcn.004564c0
lea ecx, [esp + 0x90]
push 0x50a638
push ecx
call fcn.004042d0
add esp, 0xc
mov ecx, 0x50a638
mov byte [esp + 0xd4], 2
call fcn.004565c0
mov ecx, 0x50a638
call fcn.004564c0
lea ecx, [esp + 0x50]
mov byte [esp + 0x90], 1
call fcn.0040ac70
push 0x4ef280
lea edx, [esp + 0x54]
push edx
call fcn.0049e394
movzx eax, al
push eax
push str.Bad_error_code_from_AuthenticationServer:__u
lea ecx, [esp + 0xa4]
push 0x100
push ecx
call fcn.004209c0
add esp, 0x10
push 0x4eee04
lea edx, [esp + 0xa0]
push edx
call fcn.0049e394
push 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], 0xffffffff
call fcn.00404e40
test al, al
je 0x40e8f7
test esi, esi
je 0x40e8e9
push esi
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.0046f5e0
add esp, 0xc
test al, al
jne 0x40e8f7
push edi
call fcn.0040a7e0
add esp, 4
jmp 0x40e8f7
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.0046f320
add esp, 8
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x1c]
call fcn.00409be0
lea ecx, [esp + 0x18]
call fcn.00409fb0
mov esi, dword [esp + 0x10]
push ebp
push esi
call fcn.00456660
add esp, 8
cmp esi, 0xffffffff
jne 0x40e941
push 0x379
push str.p4clients_rel_betaProjectsGazelleProtoClientEngineSrcAuthenticationServerCommands.cpp
push str.u32ClientExternalIPAddrReceivedFromAS___0xffffffff
push str.Valid_u32ClientExternalIPAddrReceivedFromAS
call fcn.00421210
mov ecx, eax
call fcn.00421080
cmp ebp, 0xffffffff
jne 0x40e966
push 0x37a
push str.p4clients_rel_betaProjectsGazelleProtoClientEngineSrcAuthenticationServerCommands.cpp
push str.u32ClientLocalIPAddr___0xffffffff
push str.Valid_u32ClientLocalIPAddr
call fcn.00421210
mov ecx, eax
call fcn.00421080
lea ecx, [esp + 0x18]
mov dword [esp + 0xd4], 0xffffffff
call fcn.00407940
mov ecx, dword [esp + 0xcc]
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xc4]
xor ecx, dword [esp + 0xd4]
pop edi
mov eax, esi
pop esi
add esp, 0xcc
jmp fcn.0049e993
lea ecx, [esp + 0x4c]
call fcn.0049e7ab
mov eax, 0x4c505b
mov dword [esp + 0xd0], 0
mov dword [esp + 0x4c], vtable.common::ICloneableException.0
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e9e0
sub eax, edx
push eax
push 0x4c505b
lea ecx, [esp + 0x60]
call fcn.00406650
push 0x4eee04
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x7c], str.Failed_to_get_local_IP_address_of_SocketToServer
mov dword [esp + 0xd8], 0xffffffff
mov dword [esp + 0x54], vtable.common::CRuntimeError.0
call fcn.0049e394
int3