joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1007b230
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push 0
push 0
mov esi, ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi]
push 1
push ecx
push eax
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 1
je 0x1007b25b
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
push ebx
push edi
mov edi, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
mov ecx, dword [edi + 8]
lea edx, [ebp + 0x14]
push edx
mov ebx, eax
mov eax, dword [esi]
push 0x4004667f
push eax
mov dword [ebp - 4], ecx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1007b2a4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
pop edi
mov dword [eax], esi
pop ebx
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
test eax, eax
jle 0x1007b358
push 0x10115520
push eax
call fcn.1009ad0c
mov ecx, dword [ebp + 8]
add esp, 8
mov dword [ecx + 4], eax
test eax, eax
jne 0x1007b2df
call dword [sym.imp.MSVCR100.dll__errno]
pop edi
pop ebx
mov dword [eax], 0xc
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x14]
mov esi, dword [esi]
push edx
push eax
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
push esi
lea eax, [ebp - 4]
call fcn.10001e10
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x1007b31f
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov dword [edi + 4], 0
pop edi
pop ebx
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 0x10
cmp esi, 0xffffffff
seta al
test al, al
je 0x1007b342
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
or eax, 0xffffffff
mov dword [ecx], eax
mov dword [edi + 8], edx
pop edi
pop ebx
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, esi
mov dword [ecx], eax
mov dword [edi + 8], edx
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10

Function at 0x1007b7d0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
push 0
push 1
mov edi, ecx
mov ecx, dword [ebp + 0x18]
mov eax, dword [edi]
push 0
push ecx
push eax
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 1
jne 0x1007b835
push esi
mov esi, dword [ebp + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov esi, dword [esi + 8]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov edi, dword [edi]
push esi
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
push edi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x1007b82f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or eax, 0xffffffff
pop esi
pop edi
pop ebp
ret 0x14
or eax, 0xffffffff
pop edi
pop ebp
ret 0x14
Function at 0x1007b840
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push esi
push edi
push 0
mov esi, ecx
push 0
lea ecx, [esp + 0x1c]
call sym.ACE.dll_public:_void___thiscall_ACE_INET_Addr::constructor_unsigned_short_int__unsigned_int_
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
mov ecx, esi
call sym.ACE.dll_protected:_int___thiscall_ACE_SOCK_Dgram::make_multicast_ifaddr_struct_ip_mreq___class_ACE_INET_Addr_const___char_const__
cmp eax, 0xffffffff
je 0x1007b8bb
mov esi, dword [esi]
push 4
lea eax, [esp + 0x14]
push eax
push 9
push 0
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1007b8c6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.MSVCR100.dll__errno]
mov edi, eax
call esi
mov dword [eax], edi
call esi
cmp dword [eax], 0x273d
je 0x1007b8b3
call esi
cmp dword [eax], 0x273a
jne 0x1007b8bb
call esi
mov dword [eax], 0x81
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8

Function at 0x1007bb80
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push 4
mov edi, ecx
mov eax, dword [edi]
lea ecx, [ebp - 4]
push ecx
push 0x20
push 0xffff
mov ebx, 1
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1007bc47
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.MSVCR100.dll__errno]
mov edi, eax
call esi
mov dword [eax], edi
call esi
cmp dword [eax], 0x273d
je 0x1007bbd8
call esi
cmp dword [eax], 0x273a
jne 0x1007bbe0
call esi
mov dword [eax], 0x81
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call esi
mov eax, dword [eax]
mov esi, edi
test eax, eax
je 0x1007bbf4
mov esi, eax
call sym.ACE.dll_public:_static_class_ACE_Log_Msg____cdecl_ACE_Log_Msg::instance_void_
push str.ACE_SOCK_Dgram_Bcast::mk_broadcast:_setsockopt_failed
push 0x100a50fc
push 0x80
push eax
mov byte [eax + 0x13c], bl
mov dword [eax + 0x140], str.SOCK_Dgram_Bcast.cpp
mov dword [eax + 0x144], 0x7a
mov dword [eax + 0x148], 0xffffffff
mov dword [eax + 0x14c], esi
call sym.ACE.dll_public:_int___cdecl_ACE_Log_Msg::log_enum_ACE_Log_Priority__char_const__
add esp, 0x10
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x20]
call sym.ACE.dll_public:_void___thiscall_ACE_INET_Addr::constructor_unsigned_short_int__unsigned_int_
push 0x10115520
push 0x20
call fcn.1009ae46
mov esi, eax
add esp, 8
test esi, esi
je 0x1007bc7b
mov ebx, dword [edi + 4]
lea edx, [ebp - 0x20]
push edx
mov ecx, esi
call sym.ACE.dll_public:_void___thiscall_ACE_INET_Addr::constructor_class_ACE_INET_Addr_const__
mov dword [esi + 0x1c], ebx
jmp 0x1007bc7d
xor esi, esi
mov dword [edi + 4], esi
test esi, esi
jne 0x1007bc9c
call dword [sym.imp.MSVCR100.dll__errno]
pop edi
pop esi
mov dword [eax], 0xc
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x1007bcb0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 4]
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
cmp esi, eax
jne 0x1007bcd4
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp + 0x10]
rol ax, 8
movzx ecx, ax
push ebx
mov ebx, dword [ebp + 0x14]
mov dword [ebp + 0x10], ecx
mov dx, word [ebp + 0x10]
mov eax, dword [esi]
mov word [esi + 0xe], dx
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov ecx, dword [esi + 8]
mov edx, dword [edi]
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
push ebx
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x1007bd30
mov esi, dword [esi + 0x1c]
add dword [ebp - 8], eax
inc dword [ebp - 4]
test esi, esi
jne 0x1007bce6
cmp dword [ebp - 4], esi
jne 0x1007bd4c
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
pop ebx
mov dword [eax], esi
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 8]
pop ebx
cdq
idiv dword [ebp - 4]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10

Function at 0x1007bd60
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov esi, dword [edi + 4]
test esi, esi
je 0x1007bde3
mov ax, word [ebp + 0x10]
rol ax, 8
movzx ebx, ax
mov edi, edi
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
mov word [esi + 0xe], bx
call eax
mov ecx, dword [esi + 8]
mov edx, dword [edi]
push 0
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebp + 8]
push ecx
push eax
push edx
mov dword [esp + 0x30], 0
call dword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
jne 0x1007bdd3
cmp dword [esp + 0xc], 0xffffffff
je 0x1007bde3
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x1007bd80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x1007c0b0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi], 0xffffffff
je 0x1007c0c6
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
push 0
push 2
push eax
mov dword [ebp + 8], 1
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
jne 0x1007c0f6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or eax, 0xffffffff
mov dword [edi], eax
cmp eax, 0xffffffff
jne 0x1007c106
or eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
push ebx
mov ecx, edi
call sym.ACE.dll_protected:_int___thiscall_ACE_SOCK_Dgram_Mcast::open_i_class_ACE_INET_Addr_const___char_const___int_
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x1007c720
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 0x10]
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
push ebx
push eax
push edi
mov esi, ecx
call sym.ACE.dll_public:_int___thiscall_ACE_SOCK_Dgram_Mcast::open_class_ACE_INET_Addr_const___char_const___int_
cmp eax, 0xffffffff
je 0x1007c7b6
cmp dword [ebp + 0x10], 0
jne 0x1007c759
push ebx
push 0
push edi
mov ecx, esi
call sym.ACE.dll_private:_int___thiscall_ACE_SOCK_Dgram_Mcast::subscribe_ifs_class_ACE_INET_Addr_const___char_const___int_
test eax, eax
jne 0x1007c7c4
mov ecx, dword [ebp + 0x10]
push ecx
push edi
lea edx, [esp + 0x18]
push edx
mov ecx, esi
call sym.ACE.dll_protected:_int___thiscall_ACE_SOCK_Dgram::make_multicast_ifaddr_struct_ip_mreq___class_ACE_INET_Addr_const___char_const__
cmp eax, 0xffffffff
je 0x1007c7b6
mov esi, dword [esi]
push 8
lea eax, [esp + 0x14]
push eax
push 0xc
push 0
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1007c7c2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.MSVCR100.dll__errno]
mov edi, eax
call esi
mov dword [eax], edi
call esi
cmp dword [eax], 0x273d
je 0x1007c7ae
call esi
cmp dword [eax], 0x273a
jne 0x1007c7b6
call esi
mov dword [eax], 0x81
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x1007c9d0
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push 0
push 0
mov esi, ecx
mov ecx, dword [ebp + 0xc]
push 1
mov dword [ebx + 4], 0
mov eax, dword [esi]
push ecx
push eax
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 1
jne 0x1007ca29
mov eax, dword [esi]
lea edx, [ebp + 8]
push edx
push 0x4004667f
push eax
mov dword [ebp + 8], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1007ca32
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
pop esi
or eax, 0xffffffff
pop ebx
pop ebp
ret 8
mov eax, dword [ebp + 8]
test eax, eax
jle 0x1007ca84
push 0x10115520
push eax
call fcn.1009ad0c
add esp, 8
mov dword [ebx + 4], eax
test eax, eax
jne 0x1007ca63
call dword [sym.imp.MSVCR100.dll__errno]
pop esi
mov dword [eax], 0xc
or eax, 0xffffffff
pop ebx
pop ebp
ret 8
mov ecx, dword [ebp + 8]
mov esi, dword [esi]
push 0
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x1007ca19
test eax, eax
jle 0x1007ca86
pop esi
mov dword [ebx], eax
pop ebx
pop ebp
ret 8
xor eax, eax
pop esi
pop ebx
pop ebp
ret 8
Function at 0x1007ca90
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0xc]
shr edi, 1
cmp edi, 0x7fffffff
jbe 0x1007caa7
mov edi, bind
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
push 0x10115520
neg ecx
or ecx, eax
push ecx
call fcn.1009ad0c
mov esi, eax
add esp, 8
test esi, esi
jne 0x1007cae0
call dword [sym.imp.MSVCR100.dll__errno]
pop edi
mov dword [eax], 0xc
or eax, 0xffffffff
pop esi
pop ebp
ret
xor eax, eax
test edi, edi
jle 0x1007cb04
lea ecx, [ebp + 0xc]
lea esp, [esp]
mov edx, dword [ecx + 4]
add ecx, 8
mov dword [esi + eax*8 + 4], edx
mov edx, dword [ecx]
mov dword [esi + eax*8], edx
inc eax
cmp eax, edi
jl 0x1007caf0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push 0
push 0
push 0
lea ecx, [ebp + 0xc]
push ecx
push edi
push esi
push eax
mov dword [ebp + 0xc], 0
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x1007cb4b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
push esi
or edi, 0xffffffff
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
ret
mov edi, dword [ebp + 0xc]
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
ret

Function at 0x1007cb60
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, dword [ebp + 0xc]
shr edi, 1
cmp edi, 0x7fffffff
jbe 0x1007cb78
mov edi, bind
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
push 0x10115520
neg ecx
or ecx, eax
push ecx
call fcn.1009ad0c
mov esi, eax
xor edx, edx
add esp, 8
cmp esi, edx
jne 0x1007cbb5
call dword [sym.imp.MSVCR100.dll__errno]
pop edi
mov dword [eax], 0xc
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp edi, edx
jle 0x1007cbd5
lea ecx, [ebp + 0xc]
push ebx
nop
mov ebx, dword [ecx + 4]
add ecx, 8
mov dword [esi + eax*8 + 4], ebx
mov ebx, dword [ecx]
mov dword [esi + eax*8], ebx
inc eax
cmp eax, edi
jl 0x1007cbc0
pop ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push edx
push edx
lea ecx, [ebp - 4]
push ecx
mov dword [ebp + 0xc], edx
mov dword [ebp - 4], edx
lea edx, [ebp + 0xc]
push edx
push edi
push esi
push eax
call dword [sym.imp.WS2_32.dll_WSARecv]
cmp eax, 0xffffffff
jne 0x1007cc1d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
push esi
or edi, 0xffffffff
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0xc]
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1007cd10
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [ebp + 0xc], 0
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 4], esi
je 0x1007cd96
mov esi, dword [sym.imp.MSVCR100.dll__errno]
push edi
call esi
mov edi, eax
mov eax, dword [edi]
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebx]
mov ebx, dword [sym.imp.WS2_32.dll_ioctlsocket]
push 0x8004667e
push eax
mov dword [ebp + 0xc], 0
call ebx
cmp eax, 0xffffffff
jne 0x1007cd66
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 8], eax
call esi
mov edx, dword [ebp - 8]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
lea eax, [ebp + 0xc]
push eax
push 0x8004667e
push ecx
mov dword [ebp + 0xc], 0
call ebx
cmp eax, 0xffffffff
jne 0x1007cd8d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call esi
mov dword [eax], ebx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [edi], edx
pop edi
cmp byte [ebp + 0x10], 0
je 0x1007cda7
push 0
push 0
push esi
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
xor eax, eax
cmp esi, 0xffffffff
setne al
pop esi
pop ebx
dec eax
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1007d550
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009bc18
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x10112018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x10
mul edx
seto cl
push 0x10115520
neg ecx
or ecx, eax
push ecx
call fcn.1009ad0c
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1007d5d8
call dword [sym.imp.MSVCR100.dll__errno]
push ebx
mov dword [eax], 0xc
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
mov esi, dword [edi]
shl esi, 4
push esi
push 0
push ebx
mov dword [ebp - 0x14], ebx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add esp, 0x10
lea ecx, [ebp + 0xc]
push ecx
push ebx
push eax
mov dword [ebp + 0xc], esi
call dword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
jne 0x1007d63e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
push ebx
mov dword [eax], esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
shr eax, 4
mov dword [ebp + 0xc], eax
mov dword [edi], eax
mov dword [ebp - 0x10], 0
test eax, eax
jle 0x1007d68b
mov esi, dword [ebp + 8]
mov edi, ebx
lea esp, [esp]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x10
push edi
mov ecx, esi
call eax
movsx ecx, word [edi]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [esi + 4], ecx
mov dword [esi + 8], 0x10
add edi, 0x10
add esi, 0x1c
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + 0xc]
jl 0x1007d660
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1007d9b0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x101132a8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
cmp eax, dword [ebx + 4]
jne 0x1007d9d2
mov ecx, dword [0x101132ac]
cmp ecx, dword [ebx + 8]
je 0x1007da68
mov esi, dword [ebx + 0x20]
inc esi
xor ecx, ecx
mov eax, esi
mov edx, 0x10
mul edx
seto cl
push 0x10115520
neg ecx
or ecx, eax
push ecx
call fcn.1009ad0c
mov edi, eax
add esp, 8
test edi, edi
jne 0x1007da12
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
push esi
push edi
mov ecx, ebx
call sym.ACE.dll_public:_void___thiscall_ACE_Multihomed_INET_Addr::get_addresses_struct_sockaddr_in___unsigned_int_const
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
shl esi, 4
push esi
push edi
push eax
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1007da5c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [sym.imp.MSVCR100.dll__errno]
mov esi, eax
call edi
mov dword [eax], esi
call edi
mov esi, eax
mov edi, dword [esi]
mov ecx, ebx
call sym.ACE.dll_public:_int___thiscall_ACE_SOCK_SEQPACK_Association::close_void_
mov dword [esi], edi
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
push edi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
jmp 0x1007da6b
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], 0
je 0x1007dabd
cmp dword [sym.ACE.dll_int_ACE_IPC_SAP::pid_], 0
jne 0x1007da85
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [sym.ACE.dll_int_ACE_IPC_SAP::pid_], eax
mov ebx, dword [ebx]
lea eax, [ebp + 8]
push eax
push 0x8004667e
push ebx
mov dword [ebp + 8], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1007dabd
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 0xc
Function at 0x1007dad0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009c658
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x10112018]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov ebx, ecx
call dword [sym.imp.MSVCR100.dll__errno]
mov edi, eax
mov esi, dword [edi]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
cmp dword [ebp + 0x10], 0xffffffff
mov dword [esp + 0x28], 0
jne 0x1007db9d
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1007db77
cmp esi, 0x2734
je 0x1007db35
cmp esi, 0x2733
jne 0x1007db77
mov ecx, dword [eax]
cmp ecx, dword [sym.ACE.dll_class_ACE_Time_Value_const_ACE_Time_Value::zero]
jne 0x1007db5c
mov edx, dword [eax + 4]
cmp edx, dword [0x10115d6c]
jne 0x1007db5c
mov ecx, dword [eax + 8]
cmp ecx, dword [0x10115d70]
jne 0x1007db5c
mov esi, 0x2733
jmp 0x1007dbd0
mov edx, dword [ebp + 8]
push eax
push 0
push edx
mov ecx, ebx
call sym.ACE.dll_public:_int___thiscall_ACE_SOCK_Connector::complete_class_ACE_SOCK_Stream___class_ACE_Addr___class_ACE_Time_Value_const__
cmp eax, 0xffffffff
jne 0x1007db99
call dword [sym.imp.MSVCR100.dll__errno]
mov esi, dword [eax]
cmp esi, 0x2748
je 0x1007db9d
cmp esi, 0x2733
je 0x1007dbd0
cmp esi, 0x274c
je 0x1007dbd0
mov ecx, dword [ebp + 8]
call sym.ACE.dll_public:_int___thiscall_ACE_SOCK_SEQPACK_Association::close_void_
jmp 0x1007dbd0
xor eax, eax
jmp 0x1007dbd3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push 0x8004667e
push eax
mov dword [esp + 0x20], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1007dbd0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], ebx
mov eax, dword [ebp + 0x10]
mov dword [edi], esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1007dbf0
Capabilities:
Connect socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
push edi
mov edi, dword [ebp + 8]
cmp dword [edi], 0xffffffff
mov dword [esp + 0x10], ecx
jne 0x1007dc4e
mov ecx, dword [ebp + 0x24]
push ecx
push 5
push eax
mov dword [esp + 0x20], 1
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
jne 0x1007dc3b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], ebx
or eax, 0xffffffff
mov dword [edi], eax
cmp eax, 0xffffffff
jne 0x1007dc4e
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x10]
push edx
push eax
push edi
call sym.ACE.dll_protected:_int___thiscall_ACE_SOCK_Connector::shared_connect_start_class_ACE_SOCK_Stream___class_ACE_Time_Value_const___class_ACE_Addr_const__
cmp eax, 0xffffffff
je 0x1007dc42
mov ecx, dword [edi]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ebx, dword [esi + 8]
mov dword [esp + 0x14], ecx
mov ecx, esi
call eax
mov ecx, dword [esp + 0x14]
push ebx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1007dc9c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or eax, 0xffffffff
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x10]
push eax
push edx
push edi
call sym.ACE.dll_protected:_int___thiscall_ACE_SOCK_SEQPACK_Connector::shared_connect_finish_class_ACE_SOCK_SEQPACK_Association___class_ACE_Time_Value_const___int_
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20