Function at 0x525ab0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x5ed284]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push 0
mov byte [ebp - 0x79], 0x44
mov dword [ebp - 0x94], 0x10
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ebx, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
test edi, edi
jne 0x525c7e
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov eax, 2
push 0xffffffffffffffff
mov word [ebp - 0x14], ax
call edi
mov esi, dword [sym.imp.WS2_32.dll_htons]
push ebx
mov dword [ebp - 0x10], eax
call esi
push 0x5aa86c
push 3
push str.Socket
mov word [ebp - 0x12], ax
call sym.FLAMESLauncher.exe_FSECommOpen
add esp, 0xc
mov ebx, eax
xorps xmm0, xmm0
mov eax, 2
movlpd qword [ebp - 0x1c], xmm0
mov word [ebp - 0x24], ax
push 0
call edi
push 0
mov dword [ebp - 0x20], eax
call esi
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x24]
push 0x10
push eax
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x525c53
push 0x10
lea eax, [ebp - 0x14]
push eax
push 0
push 1
lea eax, [ebp - 0x79]
push eax
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
js 0x525c53
mov eax, dword [ebx]
mov dword [ebp - 0x8c], 1
sub eax, 2
je 0x525ba0
sub eax, 1
je 0x525ba0
sub eax, 2
jne 0x525bc0
lea eax, [ebp - 0x8c]
push eax
push 0x8004667e
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
js 0x525bc0
mov dword [ebx + 0xc], 0
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
cdq
mov edi, edx
mov esi, eax
push 0
movups xmmword [ebp - 0x14], xmm0
mov dword [ebp - 0x8c], edi
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
sub eax, dword [ebp - 0x84]
sbb edx, dword [ebp - 0x80]
cmp edx, edi
jg 0x525c53
jl 0x525bf3
cmp eax, esi
jae 0x525c53
mov edi, dword [sym.imp.WS2_32.dll_recvfrom]
nop dword [eax]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0x51
lea eax, [ebp - 0x78]
push eax
push dword [ebx + 4]
call edi
test eax, eax
jg 0x525c6f
movsd xmm0, qword [0x598e58]
sub esp, 8
movsd qword [esp], xmm0
call sym.FLAMESLauncher.exe_FOSUtilityPauseProcessing
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 0xc
sub eax, dword [ebp - 0x84]
sbb edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x8c]
jl 0x525c00
jg 0x525c53
cmp eax, esi
jb 0x525c00
push ebx
call sym.FLAMESLauncher.exe_FSECommClose
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret
push ebx
lea edi, [ebp - 0x78]
call sym.FLAMESLauncher.exe_FSECommClose
mov ebx, dword [ebp + 8]
add esp, 4
push 0x5aa86c
push 2
push str.Socket
call sym.FLAMESLauncher.exe_FSECommOpen
mov edx, dword [ebp - 0x80]
add esp, 0xc
mov ecx, dword [ebp - 0x84]
mov esi, eax
call fcn.0052cc20
movsd qword [ebp - 0x90], xmm0
call sym.FLAMESLauncher.exe_FOSUtilityGetTimeOfDay
movd xmm0, dword [ebp + 0x10]
fsub qword [ebp - 0x90]
cvtdq2pd xmm0, xmm0
fstp qword [ebp - 0x88]
comisd xmm0, xmmword [ebp - 0x88]
jbe 0x525d1b
nop
push edi
push ebx
push esi
call fcn.005251c0
add esp, 0xc
test eax, eax
jne 0x525d21
movsd xmm0, qword [0x5aaa40]
sub esp, 8
movsd qword [esp], xmm0
call sym.FLAMESLauncher.exe_FOSUtilityPauseProcessing
add esp, 8
call sym.FLAMESLauncher.exe_FOSUtilityGetTimeOfDay
movd xmm0, dword [ebp + 0x10]
fsub qword [ebp - 0x90]
cvtdq2pd xmm0, xmm0
fstp qword [ebp - 0x88]
comisd xmm0, xmmword [ebp - 0x88]
ja 0x525cd0
push esi
jmp 0x525c54
test esi, esi
je 0x525d54
mov eax, dword [esi]
sub eax, 2
je 0x525d36
sub eax, 1
je 0x525d36
sub eax, 2
jne 0x525d54
push 0x5aa850
push 0x8004667e
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
js 0x525d54
mov dword [esi + 0xc], 1
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052bfb9
mov esp, ebp
pop ebp
ret