Function at 0x40ddea
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
push 0x10
call fcn.0043e388
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
add ebx, 0xc
push ebx
push 0x10
call fcn.0043e388
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x46e883
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0xc], esp
push 1
push 0
push 0
push 6
push 1
push 2
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSASocketW]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40de91
push 0x2c
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40e877
cmp dword [0x46f941], 0
jne 0x40e079
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebx], 0xb5367df0
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0xcbac
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x11cf
mov ebx, dword [ebp - 8]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov eax, 0x46e853
push eax
push eax
mov ebx, eax
call fcn.00402754
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0043e388
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push 0
push 0
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 4
push 0x46f941
push 0x10
mov eax, dword [ebp - 8]
push eax
push 0x10
call fcn.0043e388
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0xc8000006
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40dfc0
push 0x1f7
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0043ec80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40e017
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40e015
imul eax, dword [edi]
jmp 0x40e00a
mov ecx, eax
cmp ecx, 8
jle 0x40e021
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40e079
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e06f
push 0x258
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40e881
cmp dword [0x46f945], 0
jne 0x40e254
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebx], 0xb5367df1
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0xcbac
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x11cf
mov ebx, dword [ebp - 8]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov eax, 0x46e853
push eax
push eax
mov ebx, eax
call fcn.00402754
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0043e388
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push 0
push 0
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 4
push 0x46f945
push 0x10
mov eax, dword [ebp - 8]
push eax
push 0x10
call fcn.0043e388
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0xc8000006
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e19b
push 0x3ea
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0043ec80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40e1f2
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40e1f0
imul eax, dword [edi]
jmp 0x40e1e5
mov ecx, eax
cmp ecx, 8
jle 0x40e1fc
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40e254
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e24a
push 0x44b
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40e881
cmp dword [0x46f949], 0
jne 0x40e42f
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebx], 0xb5367df2
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0xcbac
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x11cf
mov ebx, dword [ebp - 8]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov eax, 0x46e853
push eax
push eax
mov ebx, eax
call fcn.00402754
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0043e388
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push 0
push 0
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 4
push 0x46f949
push 0x10
mov eax, dword [ebp - 8]
push eax
push 0x10
call fcn.0043e388
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0xc8000006
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e376
push 0x5dd
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0043ec80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40e3cd
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40e3cb
imul eax, dword [edi]
jmp 0x40e3c0
mov ecx, eax
cmp ecx, 8
jle 0x40e3d7
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40e42f
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e425
push 0x63e
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40e881
cmp dword [0x46f94d], 0
jne 0x40e638
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebx], 0x7fda2e11
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x8630
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x436f
mov ebx, dword [ebp - 8]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov eax, 0x46e863
push eax
push eax
mov ebx, eax
call fcn.00402754
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0043e388
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push 0
push 0
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 4
push 0x46f94d
push 0x10
mov eax, dword [ebp - 8]
push eax
push 0x10
call fcn.0043e388
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0xc8000006
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e551
push 0x7e3
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0043ec80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40e5a8
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40e5a6
imul eax, dword [edi]
jmp 0x40e59b
mov ecx, eax
cmp ecx, 8
jle 0x40e5b2
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40e638
mov dword [ebp - 0xc], esp
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e5fd
push 0x85d
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e62e
push 0x871
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40e881
cmp dword [0x46f951], 0
jne 0x40e841
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov dword [ebx], 0x25a207b9
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0xddf3
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov word [ebx], 0x4660
mov ebx, dword [ebp - 8]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov eax, 0x46e873
push eax
push eax
mov ebx, eax
call fcn.00402754
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0043e388
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push 0
push 0
mov eax, 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 4
push 0x46f951
push 0x10
mov eax, dword [ebp - 8]
push eax
push 0x10
call fcn.0043e388
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0xc8000006
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e75a
push 0xa03
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0043ec80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40e7b1
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40e7af
imul eax, dword [edi]
jmp 0x40e7a4
mov ecx, eax
cmp ecx, 8
jle 0x40e7bb
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40e841
mov dword [ebp - 0xc], esp
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e806
push 0xa7d
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e837
push 0xa91
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40e881
mov dword [ebp - 0xc], esp
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x40e86d
push 0xad8
push 0x402ecb8
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 1
jmp 0x40e881
mov eax, 0
jmp 0x40e881
push eax
mov ebx, dword [ebp - 8]
push ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043e38e
add esp, 4
pop ebx
call fcn.0043e38e
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8