Function at 0x10052910
Capabilities:
Create thread
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
lea ebp, [esp - 0xb4]
sub esp, 0xb4
push 0xffffffffffffffff
push 0x100ec17c
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x10157040]
xor eax, ebp
mov dword [ebp + 0xb0], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebx]
mov edi, dword [ebp + 0xc8]
mov dword [ebp - 0x14], edi
call dword [eax + 0x28]
test al, al
jne 0x10052981
mov si, word [ebp + 0xbc]
test si, si
jne 0x100529a8
push 0xf0
push str.C:Usersmegaw_source_reposTEProjectd3d9FullRakNetRakPeer.cpp
push str.maxConnections___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xb0]
xor ecx, ebp
call fcn.100e1471
add ebp, 0xb4
leave
ret 0x10
cmp dword [ebx + 0x876], 0xffffffff
jne 0x100529ff
push edi
mov edi, dword [ebp + 0xc0]
push ecx
push edi
mov dword [ebp - 0x10], edi
call fcn.10064888
mov dword [ebx + 0x876], eax
cmp eax, 0xffffffff
je 0x10052981
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10
push ecx
lea ecx, [ebp]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x10052a08
push dword [ebp + 2]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
test ax, ax
je 0x10052a08
mov ecx, eax
mov dword [ebp - 0x10], ecx
jmp 0x10052a08
mov eax, dword [ebp + 0xc0]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp word [ebx + 7], ax
jne 0x10052adc
cmp word [ebx + 9], si
jbe 0x10052a21
mov word [ebx + 9], si
xor ecx, ecx
movzx edi, si
mov eax, edi
mov word [ebx + 7], si
mov edx, 0x7f2
mov dword [ebp - 0x20], edi
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.100e1c9e
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov dword [ebp - 4], ecx
lea esi, [eax + 4]
mov dword [esp], 0x10052c9c
push 0x10052c52
push edi
push 0x7f2
push esi
mov dword [eax], edi
call fcn.100e1e08
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
xor eax, eax
mov dword [ebx + 0x334], esi
mov edi, ecx
cmp ax, word [ebx + 7]
jae 0x10052acf
mov esi, ecx
mov eax, dword [ebx + 0x334]
mov byte [esi + eax], cl
movzx eax, word [ebx + 0x894]
mov ecx, dword [ebx + 0x334]
movsd xmm1, qword [ebx + 0x88a]
add ecx, 0xd
push eax
movzx eax, word [ebx + 0x892]
add ecx, esi
push eax
call fcn.1005e508
movzx eax, word [ebx + 7]
inc edi
add esi, 0x7f2
push 0
pop ecx
cmp edi, eax
jb 0x10052a8c
lea ecx, [ebx + 0x338]
call fcn.10058c03
xor eax, eax
cmp byte [ebx + 4], 0
je 0x10052bc2
push 0x400
push eax
lea eax, [ebx + 0x431]
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
add esp, 0xc
mov dword [ebx + 0x845], eax
mov ecx, ebx
mov dword [ebx + 0x841], eax
mov dword [ebx + 0x83d], eax
mov dword [ebx + 0x839], eax
mov byte [ebx + 0x3bc], al
mov byte [ebx + 4], al
mov eax, dword [ebp + 0xc4]
mov dword [ebx + 0x872], eax
call fcn.10056464
lea eax, [ebp + 0x10]
push eax
call fcn.10064b85
mov eax, dword [ebp - 0x10]
mov word [ebx + 0x231], ax
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10052b50
cmp byte [eax], 0
jne 0x10052b53
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov edx, 0x22d
mov ecx, ebx
mov dword [ecx + edx], eax
cmp byte [ebx + 5], 0
jne 0x10052bc2
xor eax, eax
lea ecx, [ebp - 0x14]
push ecx
push eax
push ebx
push 0x10058739
push 0x200000
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
mov dword [ebx + 0x3c9], eax
test eax, eax
jne 0x10052ba3
mov eax, dword [ebx]
xor ecx, ecx
push ecx
push ecx
mov ecx, ebx
call dword [eax + 0x24]
jmp 0x10052981
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
mov dword [ebx + 0x3c9], ecx
jmp 0x10052bbc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [ebx + 5], 0
je 0x10052bb4
xor ecx, ecx
cmp dword [ebx + 0x411], ecx
jbe 0x10052bea
mov eax, dword [ebx + 0x40d]
push ebx
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebx + 0x411]
jb 0x10052bcc
mov al, 1
jmp 0x10052983