Function at 0x1008d980
Capabilities:
Create thread
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [ecx + 0x18]
push ebx
push esi
lea esi, [ecx + 0x18]
mov dword [ebp - 0x24], ecx
mov dword [esi + 4], eax
lea eax, [ebp - 4]
push edi
mov edi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
push eax
push 0
mov dword [ebp - 4], 0
call edi
cmp eax, 0x6f
jne 0x1008dc41
push dword [ebp - 4]
call fcn.1009c863
mov ebx, eax
add esp, 4
mov dword [ebp - 0x20], ebx
test ebx, ebx
jne 0x1008d9d1
lea eax, [ebx + 0xe]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 4]
push eax
push ebx
call edi
mov edi, eax
test edi, edi
je 0x1008d9f0
push ebx
call fcn.1009c348
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
mov dword [ebp - 0x18], ebx
lea ebx, [eax + 0x1ac]
mov dword [ebp - 0x14], ebx
test ebx, ebx
je 0x1008db1c
lea eax, [ebx + 4]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
lea ecx, [ebx + 0x14]
mov edi, eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, dword [esi + 4]
mov ebx, eax
not ebx
lea eax, [ebp - 8]
or ebx, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
cmp eax, ecx
jae 0x1008daa9
mov ebx, dword [esi]
cmp ebx, eax
ja 0x1008daa6
mov edx, dword [esi + 8]
mov edi, eax
sub edi, ebx
sar edi, 2
cmp ecx, edx
jne 0x1008da96
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x1008da96
sub ecx, ebx
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x1008dc48
inc ecx
sub edx, ebx
sar edx, 2
mov eax, 0x3fffffff
mov dword [ebp - 0x1c], ecx
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x1008da83
xor edx, edx
jmp 0x1008da85
add edx, ecx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
jae 0x1008da8e
mov edx, eax
push edx
mov ecx, esi
call fcn.10013980
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1008db05
mov eax, dword [esi]
mov eax, dword [eax + edi*4]
mov dword [ecx], eax
jmp 0x1008db05
mov ebx, dword [ebp - 0x1c]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1008dafc
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x1008dafc
sub ecx, dword [esi]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x1008dc48
sub edx, dword [esi]
lea edi, [ecx + 1]
sar edx, 2
mov eax, 0x3fffffff
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x1008daec
xor edx, edx
jmp 0x1008daee
add edx, ecx
cmp edx, edi
jae 0x1008daf4
mov edx, edi
push edx
mov ecx, esi
call fcn.10013980
mov eax, dword [esi + 4]
test eax, eax
je 0x1008db05
mov dword [eax], ebx
mov ebx, dword [ebp - 0x14]
add dword [esi + 4], 4
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x1008da06
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x1008d9f5
push dword [ebp - 0x20]
call fcn.1009c348
mov ebx, dword [ebp - 0x24]
add esp, 4
cmp dword [ebx + 0x14], 0xffffffff
jne 0x1008dc13
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0x14], eax
cmp eax, 0xffffffff
jne 0x1008db62
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea ecx, [ebp - 0x10]
push 4
push ecx
push 4
push 0xffff
push eax
mov dword [ebp - 0x10], 1
call esi
push 4
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x20000
push eax
push 0x1002
push 0xffff
push dword [ebx + 0x14]
call esi
push 4
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x800
push eax
push 0x1001
push 0xffff
push dword [ebx + 0x14]
call esi
push 4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 1
push eax
push 0x20
push 0xffff
push dword [ebx + 0x14]
call esi
cmp eax, 0xffffffff
jne 0x1008dbf6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
push dword [ebx + 0x14]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx + 0x14], 0xffffffff
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 2
push eax
push dword [ebx + 0x14]
mov dword [ebp - 0x30], 0
call dword [sym.imp.WS2_32.dll_bind]
lea eax, [ebx + 0xc]
mov byte [ebx + 0x10], 0
push eax
push 0
push ebx
push 0x1008dc60
push 0
push 0
call fcn.1009c4da
add esp, 0x18
mov dword [ebx + 8], eax
test eax, eax
jne 0x1008dc3f
call fcn.1009c385
mov esi, dword [eax]
jmp 0x1008dbdd
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.100ace85
int3