joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10004010
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
push esi
test eax, eax
jne 0x10004050
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x100040c4
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 ebp
ret
push edi
mov edi, dword [ebp + 8]
lea ecx, [ebp + 0x18]
push ecx
push eax
push edi
mov dword [ebp + 0x18], 0
call sym.ACE.dll_int___cdecl_ACE::enter_send_timedwait_void___class_ACE_Time_Value_const___int__
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10004074
pop edi
or eax, eax
pop esi
pop ebp
ret
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ecx
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x100040b2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov edx, dword [ebp + 0x18]
push edx
mov dword [eax], esi
push edi
or esi, 0xffffffff
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
ret
mov edx, dword [ebp + 0x18]
push edx
push edi
mov esi, eax
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
push esi
push edi
test eax, eax
jne 0x1000410f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004179
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 ebp
ret
mov edi, dword [ebp + 8]
lea ecx, [ebp + 0x14]
push ecx
push eax
push edi
mov dword [ebp + 0x14], 0
call sym.ACE.dll_int___cdecl_ACE::enter_send_timedwait_void___class_ACE_Time_Value_const___int__
add esp, 0xc
cmp eax, 0xffffffff
je 0x10004108
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push 0
push edx
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004168
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov ecx, dword [ebp + 0x14]
push ecx
mov dword [eax], esi
push edi
or esi, 0xffffffff
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp + 0x14]
push ecx
push edi
mov esi, eax
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
ret
Function at 0x100041f0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x20]
push esi
test eax, eax
jne 0x10004238
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x100042b4
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 ebp
ret
push edi
mov edi, dword [ebp + 8]
lea ecx, [ebp + 0x20]
push ecx
push eax
push edi
mov dword [ebp + 0x20], 0
call sym.ACE.dll_int___cdecl_ACE::enter_send_timedwait_void___class_ACE_Time_Value_const___int__
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1000425c
pop edi
or eax, eax
pop esi
pop ebp
ret
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
push edi
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x100042a2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov ecx, dword [ebp + 0x20]
push ecx
mov dword [eax], esi
push edi
or esi, 0xffffffff
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebp
ret
mov ecx, dword [ebp + 0x20]
push ecx
push edi
mov esi, eax
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0x18]
push edi
test esi, esi
jne 0x100042d0
lea esi, [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov dword [esi], 0
test edi, edi
je 0x1000433a
mov ebx, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [ebp + 0x14]
push edx
mov eax, edi
sub eax, ecx
add ecx, dword [ebp + 0xc]
push eax
push ecx
push ebx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004350
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
jne 0x10004359
push 0
push 1
push 0
push 0
push ebx
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 0xffffffff
je 0x10004359
mov edi, dword [ebp + 0x10]
xor eax, eax
add dword [esi], eax
cmp dword [esi], edi
jb 0x100042e0
mov esi, dword [esi]
mov eax, bind
cmp esi, 0x7fffffff
ja 0x1000434b
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret
test eax, eax
jne 0x10004334
pop edi
pop esi
pop ebx
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
pop ebp
ret
Function at 0x10004370
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x1c]
sub esp, 0xc
push ebx
xor ecx, ecx
push esi
push edi
cmp eax, ecx
jne 0x1000438a
lea ebx, [ebp - 0xc]
mov dword [ebp + 0x1c], ebx
jmp 0x1000438f
mov dword [ebp + 0x1c], eax
mov ebx, eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0xc]
push eax
push 0x8004667e
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x100043c4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
cmp dword [ebp + 0x10], 0
mov dword [ebx], 0
jbe 0x10004454
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
sub eax, ecx
add ecx, dword [ebp + 0xc]
push eax
push ecx
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004444
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or esi, 0xffffffff
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
je 0x1000441f
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2747
jne 0x1000444a
mov eax, dword [ebp + 0x18]
push 0
push 1
push 0
push eax
push edi
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 0xffffffff
je 0x1000444a
xor esi, esi
mov ecx, dword [ebp + 0x10]
add dword [ebx], esi
cmp dword [ebx], ecx
jb 0x100043d4
jmp 0x10004454
mov esi, eax
test eax, eax
jne 0x10004439
mov dword [ebp - 4], 1
mov dword [ebp - 8], esi
call dword [sym.imp.MSVCR100.dll__errno]
lea edx, [ebp + 0x10]
push edx
push 0x8004667e
mov esi, eax
mov ebx, dword [esi]
push edi
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1000448a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
cmp dword [ebp - 4], 0
pop edi
mov dword [esi], ebx
pop esi
pop ebx
je 0x1000449c
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
cmp eax, 0x7fffffff
jbe 0x100044ad
mov eax, bind
mov esp, ebp
pop ebp
ret
Function at 0x100044c0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x100044d1
lea edi, [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov dword [edi], 0
test esi, esi
je 0x10004553
mov ebx, dword [ebp + 8]
mov ecx, dword [edi]
push 0
mov eax, esi
sub eax, ecx
add ecx, dword [ebp + 0xc]
push eax
push ecx
push ebx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004510
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
mov esi, dword [ebp + 0x10]
or eax, 0xffffffff
test eax, eax
je 0x1000456a
cmp eax, 0xffffffff
jne 0x1000454d
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
je 0x10004535
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2747
jne 0x10004572
push 0
push 1
push 0
push 0
push ebx
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 0xffffffff
je 0x10004572
xor eax, eax
add dword [edi], eax
cmp dword [edi], esi
jb 0x100044e1
mov edi, dword [edi]
mov eax, bind
cmp edi, 0x7fffffff
ja 0x10004564
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
pop ecx
pop ebp
ret
Function at 0x10004580
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
sub esp, 0x10
push ebx
xor ecx, ecx
push esi
push edi
cmp eax, ecx
jne 0x1000459a
lea ebx, [ebp - 0xc]
mov dword [ebp + 0x18], ebx
jmp 0x1000459f
mov dword [ebp + 0x18], eax
mov ebx, eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0xc]
push eax
push 0x8004667e
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x100045d4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
cmp dword [ebp + 0x10], 0
mov dword [ebx], 0
jbe 0x1000466b
mov ecx, dword [ebx]
mov eax, dword [ebp + 0x10]
push 0
sub eax, ecx
add ecx, dword [ebp + 0xc]
push eax
push ecx
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10004613
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
or esi, 0xffffffff
jmp 0x10004615
mov esi, eax
mov eax, esi
test esi, esi
je 0x10004661
cmp esi, 0xffffffff
jne 0x10004656
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
je 0x1000463c
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2747
jne 0x10004661
mov eax, dword [ebp + 0x14]
push 0
push 1
push 0
push eax
push edi
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
add esp, 0x14
cmp eax, 0xffffffff
je 0x10004661
xor eax, eax
mov ecx, dword [ebp + 0x10]
add dword [ebx], eax
cmp dword [ebx], ecx
jb 0x100045e4
jmp 0x1000466b
mov dword [ebp - 4], 1
mov dword [ebp - 8], esi
call dword [sym.imp.MSVCR100.dll__errno]
lea edx, [ebp + 0x10]
push edx
push 0x8004667e
mov esi, eax
mov ebx, dword [esi]
push edi
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x100046a1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
cmp dword [ebp - 4], 0
mov dword [esi], ebx
je 0x100046b3
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
cmp eax, 0x7fffffff
jbe 0x100046c4
mov eax, bind
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100046d0
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
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 0x10004713
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 0x10004734
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 0x10004720
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
lea eax, [ebp + 0xc]
push eax
push edi
push esi
push ecx
mov dword [ebp + 0xc], 0
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x10004779
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 0x10004790
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
xor ecx, ecx
push esi
mov dword [ebp + 0x14], ecx
cmp eax, ecx
jne 0x100047da
mov edx, dword [ebp + 0xc]
push ecx
push ecx
push ecx
mov ecx, dword [ebp + 0x10]
lea eax, [ebp + 0x14]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x100047d4
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 ebp
ret
mov eax, dword [ebp + 0x14]
pop esi
pop ebp
ret
mov esi, dword [ebp + 8]
lea ecx, [ebp + 0x14]
push ecx
push eax
push esi
call sym.ACE.dll_int___cdecl_ACE::enter_send_timedwait_void___class_ACE_Time_Value_const___int__
add esp, 0xc
cmp eax, 0xffffffff
je 0x100047ce
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push edi
push esi
call fcn.10001f70
mov edx, dword [ebp + 0x14]
push edx
push esi
mov edi, eax
call sym.ACE.dll_void___cdecl_ACE::restore_non_blocking_mode_void___int_
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
ret
Function at 0x10004820
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
test eax, eax
jne 0x10004831
lea eax, [ebp - 4]
mov ebx, dword [ebp + 0x10]
mov ecx, eax
xor esi, esi
mov dword [ebp + 0x14], eax
mov dword [ecx], 0
test ebx, ebx
jle 0x10004903
mov edi, dword [ebp + 0xc]
push 0
push 0
push 0
lea edx, [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
mov eax, ebx
sub eax, esi
push eax
lea ecx, [edi + esi*8]
push ecx
push edx
mov dword [ebp + 0xc], 0
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x1000488a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], ebx
mov ebx, dword [ebp + 0x10]
jmp 0x1000489a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1000491b
cmp eax, 0xffffffff
jne 0x100048d9
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
je 0x100048b6
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2747
jne 0x100048cf
mov eax, dword [ebp + 8]
push 0
push 1
push 0
push 0
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, 0xffffffff
jne 0x100048fb
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
add dword [ecx], eax
cmp esi, ebx
jge 0x100048f0
mov ecx, dword [edi + esi*8]
cmp eax, ecx
jl 0x100048f0
inc esi
sub eax, ecx
cmp esi, ebx
jl 0x100048e2
test eax, eax
je 0x100048fb
add dword [edi + esi*8 + 4], eax
sub dword [edi + esi*8], eax
cmp esi, ebx
jl 0x1000484c
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
cmp eax, 0x7fffffff
jbe 0x10004914
mov eax, bind
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10004930
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
sub esp, 0x10
push ebx
push esi
push edi
xor edi, edi
cmp eax, edi
jne 0x10004945
lea eax, [ebp - 0x10]
lea edx, [ebp - 0xc]
push edx
mov ecx, eax
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 8]
push 0x8004667e
push eax
mov dword [ecx], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x10004981
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
xor esi, esi
cmp dword [ebp + 0x10], edi
jle 0x10004a4a
mov ebx, dword [ebp + 0xc]
nop
mov edx, dword [ebp + 0x10]
push 0
push 0
push 0
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
sub edx, esi
push edx
lea eax, [ebx + esi*8]
push eax
push ecx
mov dword [ebp + 0xc], 0
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x10004a0d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], edi
or edi, 0xffffffff
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2733
je 0x100049e9
call dword [sym.imp.MSVCR100.dll__errno]
cmp dword [eax], 0x2747
jne 0x10004a40
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
push 0
push 1
push 0
push edx
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, 0xffffffff
je 0x10004a40
mov ecx, dword [ebp + 0x10]
cmp esi, ecx
jl 0x10004990
jmp 0x10004a4a
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x10004a40
cmp edi, 0xffffffff
je 0x100049cd
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
add dword [eax], edi
cmp esi, ecx
jge 0x10004a33
mov eax, dword [ebx + esi*8]
cmp edi, eax
jl 0x10004a33
inc esi
sub edi, eax
cmp esi, ecx
jl 0x10004a25
test edi, edi
je 0x10004a07
add dword [ebx + esi*8 + 4], edi
sub dword [ebx + esi*8], edi
jmp 0x10004a07
mov dword [ebp - 4], 1
mov dword [ebp - 8], edi
call dword [sym.imp.MSVCR100.dll__errno]
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0x10]
push ecx
push 0x8004667e
mov esi, eax
mov edi, dword [esi]
push edx
mov dword [ebp + 0x10], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x10004a83
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], ebx
cmp dword [ebp - 4], 0
mov dword [esi], edi
je 0x10004a95
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
cmp eax, 0x7fffffff
jbe 0x10004aa6
mov eax, bind
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10005000
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
push 0
push 0
push 1
push eax
push esi
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x1000502b
or eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 4]
push edx
push 0x8004667e
push esi
mov dword [ecx], 0
mov dword [ebp - 4], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x10005060
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x10005070
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
push 0
push 1
push 0
push eax
push esi
call sym.ACE.dll_int___cdecl_ACE::handle_ready_void___class_ACE_Time_Value_const___int__int__int_
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x1000509b
or eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 4]
push edx
push 0x8004667e
push esi
mov dword [ecx], 0
mov dword [ebp - 4], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x100050d0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x10008130
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
mov cl, byte [edx]
or eax, 0xffffffff
test cl, cl
je 0x1000815d
nop
movsx ecx, cl
xor ecx, eax
and ecx, 0xff
shr eax, 8
xor eax, dword [ecx*4 + 0x100a43b8]
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x10008140
not eax
pop ebp
ret

Function at 0x10008170
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add edx, ecx
not eax
cmp ecx, edx
je 0x100081a0
push esi
movsx esi, byte [ecx]
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x100a43b8]
inc ecx
cmp ecx, edx
jne 0x10008185
pop esi
not eax
pop ebp
ret

Function at 0x100081b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
not eax
test ecx, ecx
jle 0x10008203
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
add esi, 4
mov edi, ecx
lea ebx, [ebx]
mov ecx, dword [esi]
mov edx, dword [esi - 4]
add edx, ecx
cmp ecx, edx
je 0x100081fa
jmp 0x100081e0
movsx ebx, byte [ecx]
xor ebx, eax
and ebx, 0xff
shr eax, 8
xor eax, dword [ebx*4 + 0x100a43b8]
inc ecx
cmp ecx, edx
jne 0x100081e0
add esi, 8
dec edi
jne 0x100081d0
pop edi
pop esi
pop ebx
not eax
pop ebp
ret