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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov edx, dword [ebp + 0xc]
push ebx
push esi
push edi
mov eax, dword [edx + 0x4ac]
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [eax + 0x30]
test eax, eax
je 0x482976
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
xorps xmm1, xmm1
add esp, 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x55a7e8]
comisd xmm1, xmm0
movsd qword [ebp - 0x20], xmm0
jb 0x482999
push 0
push str.30000
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fdiv qword [0x55a7e8]
add esp, 8
fstp qword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x28]
movsd qword [ebp - 0x20], xmm0
lea eax, [ebp - 0x30]
push eax
push 2
call fcn.0047e430
mov eax, dword [ebp - 0x2c]
mov esi, 0x3b9aca00
movsd xmm1, qword [ebp - 0x20]
add esp, 8
mulsd xmm1, qword [0x5666b0]
xorps xmm0, xmm0
mul esi
movlpd qword [ebp - 0x18], xmm0
movsd xmm0, qword [0x55aaa8]
mov ecx, eax
mov eax, dword [ebp - 0x30]
mul esi
mov ebx, eax
add ecx, edx
mov eax, dword [ebp - 0x28]
cdq
add ebx, eax
mov dword [ebp - 8], ebx
adc ecx, edx
comisd xmm1, xmm0
mov dword [ebp - 0xc], ecx
jb 0x482a07
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x482a07
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
add esi, edi
adc ebx, 0x80000000
jmp 0x482a0d
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
movaps xmm0, xmm1
call fcn.0054fa90
add eax, esi
mov dword [ebp - 0x14], eax
adc edx, ebx
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x10], edx
test ebx, ebx
jle 0x482b26
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4a8]
mov edx, dword [ebp + 8]
cmp dword [eax + 0x14], 0
jne 0x482b26
mov esi, dword [ebp + 0x10]
add esi, edi
xor edi, edi
test edx, edx
je 0x482a88
push ebx
push esi
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 0x482a74
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x482b06
xor edi, edi
test esi, esi
jne 0x482b06
test ebx, ebx
jne 0x482bca
jmp 0x482b06
mov eax, dword [ecx + 0x4b4]
movsd xmm0, qword [ebp - 0x20]
mulsd xmm0, qword [0x55a7e8]
mov dword [ebp - 0x28], eax
mov eax, 1
mov word [ebp - 0x24], ax
mov eax, dword [ecx + 0x4a8]
add eax, 0x14
push eax
cvttsd2si eax, xmm0
push eax
lea eax, [ebp - 0x28]
push 1
push eax
call fcn.0047f650
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov ecx, dword [edx + 0x4a8]
cmp dword [ecx + 0x14], edi
jne 0x482bca
test eax, eax
jle 0x482afe
push 0
push ebx
push esi
push dword [edx + 0x4b4]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
js 0x482b9c
jle 0x482bca
xor edi, edi
jmp 0x482b06
js 0x482bca
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4a8]
cmp dword [eax + 0x14], 0
jne 0x482bca
test esi, esi
jg 0x482b89
jne 0x482b2f
test ebx, ebx
jne 0x482b35
mov edi, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
js 0x482bb6
movsd xmm0, qword [ebp - 0x20]
comisd xmm0, xmmword [0x55c110]
jb 0x482b23
lea eax, [ebp - 0x40]
push eax
push 2
call fcn.0047e430
mov eax, dword [ebp - 0x3c]
mov esi, 0x3b9aca00
mul esi
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x40]
mul esi
add ecx, edx
mov esi, eax
mov eax, dword [ebp - 0x38]
cdq
add esi, eax
adc ecx, edx
sub esi, dword [ebp - 8]
sbb ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
ja 0x482b23
jb 0x482b81
cmp esi, dword [ebp - 0x14]
ja 0x482b23
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
jmp 0x482b93
mov edi, dword [ebp - 4]
add edi, esi
sub ebx, esi
mov dword [ebp - 4], edi
test ebx, ebx
jle 0x482b26
jmp 0x482a2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 4]
or eax, 0xffffffff
test edi, edi
cmove edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x2733
je 0x482bca
cmp edi, 0x274c
je 0x482b23
mov edi, dword [ebp - 4]
or eax, 0xffffffff
test edi, edi
cmove edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret