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

Disassembly:
push 0xffffffffffffffff
push 0x49665b
mov eax, dword fs:[0]
push eax
mov eax, 0x3048
call fcn.00474970
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cb08c]
xor eax, esp
push eax
lea eax, [esp + 0x305c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x306c]
lea eax, [ebp + 0x14]
push eax
mov dword [esp + 0x28], eax
call fcn.004044c0
mov byte [esp + 0x28], 1
lea edi, [ebp + 0x38]
mov dword [esp + 0x3064], 0
call fcn.0044db80
lea edi, [ebp + 0x6c]
call fcn.0044db80
lea edi, [ebp + 0xa0]
call fcn.0044db80
xor esi, esi
mov ecx, dword [ebp + 0xd8]
test ecx, ecx
je 0x44d7c8
mov eax, dword [ebp + 0xdc]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x44d7c8
test ecx, ecx
je 0x44d7ae
mov eax, dword [ebp + 0xdc]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x44d7b3
call fcn.00471ad5
mov eax, dword [ebp + 0xd8]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
add esi, 1
jmp 0x44d782
cmp byte [ebp + 0x104], 0
je 0x44d7f1
lea eax, [esp + 0x24]
mov ebx, ebp
call fcn.0044dde0
cmp byte [esp + 0x28], 0
je 0x44db60
mov ecx, dword [esp + 0x24]
push ecx
jmp 0x44db5a
mov edx, dword [ebp + 0x30]
lea edi, [ebp + 0x30]
lea eax, [ebp + 0x38]
or ebx, 0xffffffff
push eax
lea esi, [esp + 0x1048]
mov dword [esp + 0x204c], ebx
mov dword [esp + 0x104c], edx
mov dword [esp + 0x1048], 1
call fcn.0044e410
lea eax, [ebp + 0x6c]
push eax
lea esi, [esp + 0x2050]
mov dword [esp + 0x3054], ebx
mov dword [esp + 0x2050], 0
call fcn.0044e410
mov dword [esp + 0x1040], ebx
lea ebx, [ebp + 0xa0]
push ebx
lea esi, [esp + 0x40]
mov dword [esp + 0x40], 0
call fcn.0044e410
mov esi, dword [esp + 0x2048]
mov eax, dword [esp + 0x3050]
cmp eax, esi
jbe 0x44d878
mov esi, eax
mov eax, dword [esp + 0x1040]
cmp eax, esi
jbe 0x44d885
mov esi, eax
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
push eax
mov eax, ebp
call fcn.0044dcd0
mov ecx, dword [esp + 0x24]
push ecx
mov dword [esp + 0x20], eax
mov byte [ebp + 0x2c], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x28], 0
call fcn.00459070
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x2050]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x104c]
push ecx
add esi, 1
push esi
lea esi, [esp + 0x3c]
call fcn.004397f0
mov edx, dword [esp + 0x34]
add esp, 0x10
push edx
mov esi, eax
call fcn.004044c0
test esi, esi
mov byte [esp + 0x28], 1
mov byte [ebp + 0x2c], 0
jle 0x44d992
mov eax, dword [edi]
lea ecx, [esp + 0x1044]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44d917
call fcn.0043ab20
xor edi, edi
mov dword [esp + 0x1c], edi
call fcn.00459070
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
push edx
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.0044e4e0
mov dword [esp + 0x1c], edi
call fcn.00459070
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1048]
push edx
lea esi, [ebp + 0x38]
push esi
mov dword [esp + 0x2c], eax
call fcn.0044e4e0
mov dword [esp + 0x1c], edi
call fcn.00459070
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2050]
push ecx
lea eax, [ebp + 0x6c]
push eax
call fcn.0044e4e0
mov edi, ebx
call fcn.0044db80
mov edi, esi
call fcn.0044db80
lea edi, [ebp + 0x6c]
call fcn.0044db80
xor esi, esi
mov ecx, dword [ebp + 0xd8]
test ecx, ecx
je 0x44da08
mov eax, dword [ebp + 0xdc]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x44da08
test ecx, ecx
je 0x44d9c0
mov eax, dword [ebp + 0xdc]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x44d9c5
call fcn.00471ad5
mov edx, dword [ebp + 0xd8]
mov ecx, dword [edx + esi*4]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov ecx, dword [ebp + 0xd8]
test ecx, ecx
je 0x44d9ee
mov eax, dword [ebp + 0xdc]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x44d9f3
call fcn.00471ad5
mov eax, dword [ebp + 0xd8]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
add esi, 1
jmp 0x44d994
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [ebp + 0xf8]
test ecx, ecx
je 0x44daf2
mov eax, dword [ebp + 0xfc]
sub eax, ecx
sar eax, 2
cmp edi, eax
jae 0x44daf2
test ecx, ecx
je 0x44da44
mov eax, dword [ebp + 0xfc]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x44da49
call fcn.00471ad5
mov ecx, dword [ebp + 0xf8]
mov esi, dword [ecx + edi*4]
push esi
lea eax, [ebp + 0x38]
call fcn.00441010
mov bl, al
push esi
lea eax, [ebp + 0x6c]
call fcn.00441010
test al, al
jne 0x44da6e
test bl, bl
je 0x44da70
mov bl, 1
push esi
lea eax, [ebp + 0xa0]
call fcn.00441010
test al, al
jne 0x44da84
test bl, bl
je 0x44daea
lea edx, [esp + 0x1b]
mov byte [esp + 0x1b], 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], 1
call fcn.00459070
mov ebx, dword [sym.imp.WS2_32.dll_WSASetLastError]
mov esi, dword [ebp + 0x34]
push 0
call ebx
call fcn.00459070
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
push 1
lea ecx, [esp + 0x40]
push ecx
push esi
mov dword [esp + 0x38], 0
call dword [sym.imp.WS2_32.dll_WSASend]
mov esi, eax
call fcn.00459070
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test esi, esi
jne 0x44daea
push esi
call ebx
call fcn.00459070
add edi, 1
jmp 0x44da10
mov edi, dword [ebp + 0xfc]
cmp ecx, edi
jbe 0x44db01
call fcn.00471ad5
mov esi, dword [ebp + 0xf8]
cmp esi, dword [ebp + 0xfc]
jbe 0x44db14
call fcn.00471ad5
cmp esi, edi
je 0x44db43
mov eax, dword [ebp + 0xfc]
sub eax, edi
sar eax, 2
test eax, eax
lea ecx, [eax*4]
lea ebx, [ecx + esi]
jle 0x44db3d
push ecx
push edi
push ecx
push esi
call fcn.00471311
add esp, 0x10
mov dword [ebp + 0xfc], ebx
lea eax, [esp + 0x24]
mov ebx, ebp
call fcn.0044dde0
cmp byte [esp + 0x28], 0
je 0x44db60
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x305c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3054
ret 4