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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
mov eax, dword [0x1006de68]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x170], 0xffffffff
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0x17c], 0
lea eax, [ebp - 0x154]
push eax
call fcn.1002e7d0
add esp, 4
cmp dword [ebp + 0x1c], 0
jne 0x100440bd
jmp 0x10044522
mov ecx, 1
imul edx, ecx, 0
mov dword [ebp - 0x188], edx
cmp dword [ebp - 0x188], 0x100
jae 0x100440d9
jmp 0x100440de
call fcn.10059a86
mov eax, dword [ebp - 0x188]
mov byte [ebp + eax - 0x104], 0
mov dword [ebp - 0x170], 0xffffffff
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x18c], 0
cmp dword [ebp + 0x14], 0
jg 0x10044130
mov dword [ebp - 0x160], 0xbebc200
jmp 0x10044139
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp + 0x1c]
push edx
call fcn.1002e7d0
add esp, 4
cmp dword [ebp + 8], 0
jae 0x10044182
mov eax, dword [ebp + 0x1c]
push eax
push 0x820
push 2
call fcn.1002ed90
add esp, 0xc
mov dword [ebp - 0x158], 0x3f3
push 0x1006bf54
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
jmp 0x10044522
cmp dword [ebp + 0x10], 0
jne 0x100441bf
mov edx, dword [ebp + 0x1c]
push edx
push 0x821
push 2
call fcn.1002ed90
add esp, 0xc
mov dword [ebp - 0x158], 0x3f3
push 0x1006bf74
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
jmp 0x10044522
call fcn.10044f10
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x15c], ecx
cmp dword [ebp + 0xc], 0
jle 0x100444f3
movsx edx, byte [ebp + 0x18]
test edx, edx
je 0x1004436b
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10046930
add esp, 8
call fcn.10044f10
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x168]
push edx
mov eax, dword [ebp - 0x184]
push eax
call fcn.10044f90
add esp, 8
cmp eax, dword [ebp - 0x160]
jb 0x1004436b
mov ecx, dword [ebp + 0x1c]
push ecx
push 0x824
push 2
call fcn.1002ed90
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x158], 0x3f3
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x198], eax
cvtsi2sd xmm0, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x198]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1005e240]
divsd xmm0, qword [0x1005e230]
movsd qword [ebp - 0x1ac], xmm0
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x178], edx
cvtsi2sd xmm0, dword [ebp - 0x178]
mov eax, dword [ebp - 0x178]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1005e240]
divsd xmm0, qword [0x1005e230]
movsd qword [ebp - 0x1b4], xmm0
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x190], ecx
cvtsi2sd xmm0, dword [ebp - 0x190]
mov edx, dword [ebp - 0x190]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x1005e240]
divsd xmm0, qword [0x1005e230]
movsd qword [ebp - 0x1a4], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x1a4]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x1b4]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x1ac]
movsd qword [esp], xmm0
push str.Time_out_on_read_expired__Start_time___f_sec__End_Time___f_sec__Timeout___f_sec
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0x20
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x15c]
push edx
push str._nRequested_read_size___d_number_of_unread_bytes___d
lea eax, [ebp - 0x104]
push eax
call sub.MSVCR120.dll_strlen
add esp, 4
lea ecx, [ebp + eax - 0x104]
push ecx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0x10
jmp 0x10044522
cmp dword [ebp + 0xc], 0xfa00
jle 0x10044380
mov dword [ebp - 0x15c], 0xfa00
jmp 0x10044389
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x15c], edx
movsx eax, byte [ebp + 0x18]
test eax, eax
je 0x1004439d
mov dword [ebp - 0x194], 0
jmp 0x100443a7
mov dword [ebp - 0x194], 2
mov ecx, dword [ebp - 0x194]
push ecx
mov edx, dword [ebp - 0x15c]
push edx
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x164], eax
push 0x105a3eb0
lea edx, [ebp - 0x174]
push edx
call fcn.10046a60
add esp, 8
cmp dword [ebp - 0x164], 0
jle 0x10044423
call fcn.10044f10
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x16c]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp - 0x164]
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x19c], 0
jmp 0x100444ee
cmp dword [ebp - 0x164], 0
jge 0x100444c4
cmp dword [ebp - 0x174], 0
je 0x1004444b
cmp dword [ebp - 0x174], 0xb
je 0x1004444b
cmp dword [ebp - 0x174], 0x23
jne 0x10044461
movsx edx, byte [ebp + 0x18]
test edx, edx
je 0x1004445a
jmp 0x100441d3
jmp 0x100445c1
jmp 0x105b8460
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [0x105a3eb0]
push edx
push 1
call fcn.1002ed90
add esp, 0xc
mov eax, dword [ebp + 0x1c]
push eax
push 0x825
push 2
call fcn.1002ed90
add esp, 0xc
jmp 0x10044522
jmp 0x100441d3
cmp dword [ebp - 0x158], 0
jg 0x10044522
mov dword [ebp - 0x158], 0x3f8
mov ecx, dword [ebp - 0x15c]
push ecx
push str.Number_of_bytes_read___d
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0xc
movsx eax, byte [ebp + 0x18]
test eax, eax
je 0x10044536
mov ecx, dword [ebp + 8]
push ecx
call fcn.10046aa0
add esp, 4
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 0x1c]
cmp dword [ecx + eax + 0x28], 0
jle 0x1004457b
cmp dword [ebp - 0x158], 0
jg 0x1004457b
mov dword [ebp - 0x158], 0x3f3
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x15c]
push eax
push str.Socket_recv_failure__requested_read_size___d_number_of_unread_bytes___d
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 0x10
cmp dword [ebp - 0x158], 0
jle 0x100445c1
lea edx, [ebp - 0x154]
push edx
mov eax, dword [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0x180]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
mov edx, dword [ebp - 0x170]
push edx
mov eax, dword [ebp - 0x158]
push eax
call fcn.1001d030
add esp, 0x20
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10059cde
mov esp, ebp
pop ebp
ret