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

Disassembly:
push ebp
mov ebp, esp
lea edx, [ebp - 0x18]
push edi
lea eax, [ebp - 0x5c]
push esi
push ebx
sub esp, 0x7c
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x44], sym.___gxx_personality_sj0
mov dword [ebp - 0x40], 0x520106
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], 0x411b18
mov dword [ebp - 0x34], esp
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ecx + 0x74]
test ebx, ebx
jne 0x4118bd
mov eax, dword [ecx + 0x68]
test eax, eax
jle 0x4119b7
mov dword [ecx + 0x74], eax
mov esi, dword [ecx + 0x64]
mov dword [ecx + 0x7c], 0
mov dword [ecx + 0x70], esi
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x74]
test edx, edx
jle 0x411985
add ecx, 0x84
mov dword [ebp - 0x6c], ecx
jmp 0x4118e9
mov ecx, dword [ebp - 0x64]
mov edi, dword [ecx + 0x78]
add dword [ecx + 0x50], eax
add edi, eax
cmp edi, dword [ecx + 0x74]
mov dword [ecx + 0x78], edi
jge 0x41195c
mov edi, dword [ebp - 0x64]
mov eax, dword [edi + 0x74]
mov esi, dword [edi + 0x78]
sub eax, esi
cmp eax, 0x58c
jle 0x411900
mov eax, 0x58c
mov dword [esp + 8], eax
mov ebx, dword [ebp - 0x64]
xor esi, esi
mov dword [esp + 0xc], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x70]
add ecx, edx
mov dword [esp + 4], ecx
mov eax, dword [ebx + 4]
mov dword [esp], eax
mov dword [ebp - 0x58], 0xffffffff
call sub.WSOCK32.DLL_send
sub esp, 0x10
cmp eax, 0xffffffff
jne 0x4118d6
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x2733
je 0x4118e9
mov dword [ebp - 0x60], 0
lea esi, [ebp - 0x5c]
mov dword [esp], esi
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0x60]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
inc dword [ecx + 0x4c]
mov eax, dword [ecx + 0x7c]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x78], 0
test eax, eax
jne 0x4119a2
mov dword [ecx + 0x68], 0
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x7c], 0
mov dword [ebp - 0x60], 1
lea esi, [ebp - 0x5c]
mov dword [esp], esi
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0x60]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 1
je 0x4119f4
cmp eax, 2
jne 0x41197b
mov ecx, dword [ebp - 0x64]
inc dword [ecx + 0x98]
jmp 0x41197b
mov eax, dword [ebp - 0x64]
mov edi, dword [eax + 0x8c]
test edi, edi
jle 0x411a65
mov ebx, dword [eax + 0x84]
mov esi, dword [ebx]
mov ebx, dword [ebp - 0x64]
mov dword [eax + 0x70], esi
movzx eax, byte [esi + 6]
movzx ecx, word [esi + 4]
mov dword [ebx + 0x7c], 1
shl eax, 0x10
lea edx, [ecx + eax + 0xa]
mov dword [ebx + 0x74], edx
jmp 0x4118bd
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebx + 0x84]
mov eax, dword [eax]
test eax, eax
je 0x411a0b
mov dword [esp], eax
call sym.operator_delete___void_
mov ebx, dword [ebp - 0x6c]
xor eax, eax
mov edx, dword [ebx + 8]
mov ecx, edx
dec ecx
js 0x411afd
test al, al
jne 0x41197b
test ecx, ecx
mov esi, edx
jne 0x411a4e
dec dword [ebx + 8]
mov eax, dword [ebx + 0xc]
cmp eax, 0
jle 0x411a39
dec eax
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 8]
dec eax
cmp dword [ebx + 0xc], eax
jle 0x41197b
mov dword [ebx + 0xc], eax
jmp 0x41197b
xor edx, edx
cmp esi, 0
jle 0x411a2a
mov ecx, dword [ebx]
mov edi, dword [ecx + edx*4 + 4]
mov dword [ecx + edx*4], edi
inc edx
cmp esi, edx
jg 0x411a57
jmp 0x411a2a
mov edx, dword [ebp - 0x64]
cmp byte [edx + 0x15], 0
je 0x4118bd
mov ecx, dword [0x5631cc]
test ecx, ecx
jle 0x4118bd
mov dword [esp], 0x56354c
mov dword [ebp - 0x28], 0x56354c
mov dword [ebp - 0x58], 0xffffffff
call sub.KERNEL32.dll_EnterCriticalSection
mov ecx, dword [ebp - 0x64]
sub esp, 4
mov eax, dword [0x563544]
mov edx, dword [ecx + 0x98]
cmp edx, eax
jb 0x411b07
sub edx, eax
cmp edx, dword [0x5631cc]
jae 0x411ae3
mov eax, dword [0x5631c4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
movzx edi, word [ecx + 4]
mov dword [edx + 0x70], ecx
movzx ebx, byte [ecx + 6]
mov dword [eax + 0x7c], 2
shl ebx, 0x10
lea esi, [edi + ebx + 0xa]
mov dword [eax + 0x74], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], ecx
mov dword [ebp - 0x58], 0xffffffff
call sub.KERNEL32.dll_LeaveCriticalSection
sub esp, 4
jmp 0x4118bd
mov eax, 1
jmp 0x411a1c
mov dword [esp], ecx
mov dword [ebp - 0x58], 1
call method.c_ClientSocket.SendAllDyn__
jmp 0x411ae3