Function at 0x47b2b0
Capabilities:
Read file on windows
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x47b2c5
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x4ac]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
push 0
mov eax, dword [eax + 0x30]
test eax, eax
je 0x47b2de
push eax
jmp 0x47b2e3
push str.30000
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fdiv qword [0x514590]
add esp, 8
cmp dword [esi + 0x52c], 0
fstp qword [ebp - 0x10]
jle 0x47b320
mov eax, dword [esi + 0x4ac]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x47b320
push 0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fdiv qword [0x514590]
add esp, 8
fstp qword [ebp - 0x10]
push ebx
mov ebx, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0x10]
push dword [ebx]
push edi
call fcn.004743a0
add esp, 8
test eax, eax
jne 0x47b39e
movsd xmm0, qword [ebp - 0x10]
mov edx, dword [ebp + 8]
nop
mov eax, dword [esi + 0x4a8]
cmp dword [eax + 0x14], 0
jne 0x47b39b
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
jge 0x47b50e
mov ebx, ecx
sub ebx, eax
add eax, edi
xor edi, edi
mov dword [ebp - 4], eax
test edx, edx
je 0x47b3a5
push ebx
push eax
push edx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x47b391
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x47b411
xor edi, edi
test esi, esi
jne 0x47b411
test ebx, ebx
jle 0x47b411
or eax, 0xffffffff
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x4b4]
mulsd xmm0, qword [0x514590]
mov dword [ebp - 0x18], eax
mov eax, 1
mov word [ebp - 0x14], ax
mov eax, dword [esi + 0x4a8]
add eax, 0x14
push eax
cvttsd2si eax, xmm0
push eax
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.00477940
mov ecx, dword [esi + 0x4a8]
add esp, 0x10
cmp dword [ecx + 0x14], edi
jne 0x47b39b
test eax, eax
jle 0x47b40d
push 0
push ebx
push dword [ebp - 4]
push dword [esi + 0x4b4]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
js 0x47b4fe
jle 0x47b39b
xor edi, edi
jmp 0x47b411
js 0x47b39b
xor esi, esi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x4a8]
cmp dword [eax + 0x14], 0
jne 0x47b39b
test esi, esi
jg 0x47b42e
jne 0x47b466
test ebx, ebx
jne 0x47b480
cmp esi, 0xfffffffe
je 0x47b39b
lea eax, [ebp - 0x28]
push eax
push 1
call fcn.00476750
add esp, 8
test esi, esi
jle 0x47b48e
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
add dword [ebx], esi
push dword [ebx]
push edi
call fcn.004743a0
add esp, 8
test eax, eax
jne 0x47b39e
jmp 0x47b494
jns 0x47b480
cmp edi, 0x2733
je 0x47b39b
cmp edi, 0x274c
jne 0x47b39b
lea eax, [ebp - 0x28]
push eax
push 1
call fcn.00476750
add esp, 8
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
movsd xmm0, qword [ebp - 0x10]
xorps xmm1, xmm1
comisd xmm0, xmm1
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
jb 0x47b340
mov eax, dword [ebp - 0x20]
sub eax, dword [esi + 0x4f0]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [esi + 0x4e8]
mov edx, dword [ebp - 0x24]
sbb edx, dword [esi + 0x4ec]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x520250]
movsd qword [ebp - 8], xmm0
call fcn.00509bb0
movsd xmm1, qword [ebp - 8]
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
comisd xmm1, xmm0
ja 0x47b39b
jmp 0x47b33c
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop ebx
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xfffffffe
pop esi
mov esp, ebp
pop ebp
ret