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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
movapd xmmword [rsp + 0x80], xmm6
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140609000]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x64], 0
movabs rax, 0x7a00000000
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x3c], 0
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x140396af0
mov eax, dword [rsp + 0x6c]
lea r9, reloc.WS2_32.dll_htons
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call qword [r9 + rax*8]
lea r14, [rsi + 8]
mov dword [rsi + 8], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x68], 0x1000
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsi]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea r15, [rsp + 0x64]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], 0
lea rdx, [rsp + 0x68]
mov r8d, 1
mov r9, r14
call qword [sym.imp.WS2_32.dll_WSARecv]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
cmp eax, 0x3e5
jne 0x140396aba
lea rdx, [rsp + 0x58]
mov ecx, 1
xor r8d, r8d
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 0x102
je 0x140396ab2
mov ebx, 0x3e5
test eax, eax
jne 0x140396aba
mov rcx, qword [rsi]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x40]
mov r8, r14
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140396aca
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1403a4260
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
movsd xmm0, qword [0x14057f880]
movsd xmm1, qword [0x14057f078]
movsd xmm2, qword [0x14057f070]
movsd xmm3, qword [0x14057f068]
jmp 0x140396b9a
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si eax, xmm5
and eax, r9d
add r8d, ecx
add eax, eax
sub r8d, eax
mov eax, dword [rsp + 0x3c]
cdqe
mov dword [rsp + rax*4 + 0x6c], r8d
inc dword [rsp + 0x3c]
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x1403969ca
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx ecx, byte [0x1406101b0]
movsx ecx, cl
lea ecx, [rcx + rcx*2]
add ecx, eax
cmp ecx, 3
je 0x140396da7
mov eax, dword [rsp + 0x3c]
cdqe
mov ecx, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140396bcc
add byte [rdi], cl
mov dh, 5
and rsp, qword [r15]
add byte [rdi], cl
mov esi, 0xe4570fc0
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm3
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140396c52
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov r8d, 4
cmp edx, 3
jne 0x140396ca7
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si r8d, xmm5
mov eax, dword [rsp + 0x3c]
cdqe
mov r9d, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140396cb8
add byte [rdi], cl
mov dh, 5
pop rbp
and ah, byte [rdi]
add byte [rdi], cl
mov esi, 0xe4570fc0
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm3
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140396d3d
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, 4
cmp edx, 3
jne 0x140396d91
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si eax, xmm5
and eax, r9d
add r8d, ecx
add eax, eax
sub r8d, eax
mov eax, dword [rsp + 0x3c]
cdqe
mov dword [rsp + rax*4 + 0x6c], r8d
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx ecx, byte [reloc.WS2_32.dll_htonl]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [reloc.WS2_32.dll_accept]
movsx ecx, cl
cmp eax, ecx
je 0x140397423
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx ecx, byte [0x1406101b0]
movsx ecx, cl
lea ecx, [rcx + rcx*2]
lea eax, [rax + rcx*2]
cmp eax, 3
je 0x140396fe2
mov eax, dword [rsp + 0x3c]
cdqe
mov ecx, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140396e07
add byte [rdi], cl
mov dh, 5
invalid
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm2
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140396e8d
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov r8d, 4
cmp edx, 3
jne 0x140396ee2
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si r8d, xmm5
mov eax, dword [rsp + 0x3c]
cdqe
mov r9d, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140396ef3
add byte [rdi], cl
mov dh, 5
and ah, byte [rax]
invalid
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm2
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140396f78
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, 4
cmp edx, 3
jne 0x140396fcc
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si eax, xmm5
and eax, r9d
add r8d, ecx
add eax, eax
sub r8d, eax
mov eax, dword [rsp + 0x3c]
cdqe
mov dword [rsp + rax*4 + 0x6c], r8d
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx ecx, byte [0x1406101b0]
movsx ecx, cl
lea edx, [rcx + rcx*4]
lea ecx, [rcx + rdx*4]
add ecx, eax
cmp ecx, 3
je 0x1403971f2
mov eax, dword [rsp + 0x3c]
cdqe
mov ecx, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140397017
add byte [rdi], cl
mov dh, 5
invalid
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm1
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x14039709d
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov r8d, 4
cmp edx, 3
jne 0x1403970f2
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si r8d, xmm5
mov eax, dword [rsp + 0x3c]
cdqe
mov r9d, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140397103
add byte [rdi], cl
mov dh, 5
adc bl, byte [rsi]
invalid
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm1
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140397188
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, 4
cmp edx, 3
jne 0x1403971dc
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si eax, xmm5
and eax, r9d
add r8d, ecx
add eax, eax
sub r8d, eax
mov eax, dword [rsp + 0x3c]
cdqe
mov dword [rsp + rax*4 + 0x6c], r8d
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx ecx, byte [reloc.WS2_32.dll_htonl]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [reloc.WS2_32.dll_accept]
movsx ecx, cl
cmp eax, ecx
je 0x140397423
mov eax, dword [rsp + 0x3c]
cdqe
mov ecx, dword [rsp + rax*4 + 0x6c]
mov eax, dword [rsp + 0x3c]
add eax, 0x7f
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
xor rax, rax
je 0x14039723d
add byte [rdi], cl
mov dh, 5
fcomp dword [rdi + riz]
add byte [rdi], cl
mov esi, 0xed570fc0
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
cvtsi2sd xmm6, eax
addsd xmm6, xmm6
subsd xmm5, xmm6
mulsd xmm5, xmm4
movsd qword [rsp + 0x40], xmm5
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x1403972c0
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov r8d, 4
cmp edx, 3
jne 0x140397315
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si r8d, xmm5
mov eax, dword [rsp + 0x3c]
cdqe
mov r9d, dword [rsp + rax*4 + 0x6c]
mov eax, dword [rsp + 0x3c]
add eax, 0x7f
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
xor rax, rax
je 0x140397334
add byte [rdi], cl
mov dh, 5
loope 0x140397354
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm6, xmm6
cvtsi2sd xmm6, eax
invalid
sub dh, al
addsd xmm6, xmm6
subsd xmm5, xmm6
mulsd xmm5, xmm4
movsd qword [rsp + 0x40], xmm5
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x1403973b9
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, 4
cmp edx, 3
jne 0x14039740d
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si eax, xmm5
and eax, r9d
add r8d, ecx
add eax, eax
sub r8d, eax
mov eax, dword [rsp + 0x3c]
cdqe
mov dword [rsp + rax*4 + 0x6c], r8d
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx ecx, byte [0x1406101b0]
movsx ecx, cl
lea ecx, [rcx + rcx*2]
lea eax, [rax + rcx*8]
cmp eax, 3
je 0x140396b8a
mov eax, dword [rsp + 0x3c]
cdqe
mov ecx, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140397456
add byte [rdi], cl
mov dh, 5
mov edi, 0xf00271a
mov esi, 0xe4570fc0
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm0
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x1403974dc
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov r8d, 4
cmp edx, 3
jne 0x140397531
movzx eax, byte [reloc.WS2_32.dll_htons]
movzx eax, byte [reloc.WS2_32.dll_htonl]
movzx eax, byte [reloc.WS2_32.dll_accept]
movsd xmm4, qword [rsp + 0x40]
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r8d, dl
xor edx, edx
div r8d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
sub eax, edx
xorps xmm5, xmm5
cvtsi2sd xmm5, rax
mulsd xmm5, xmm4
cvttsd2si r8d, xmm5
mov eax, dword [rsp + 0x3c]
cdqe
mov r9d, dword [rsp + rax*4 + 0x6c]
xor rax, rax
je 0x140397542
add byte [rdi], cl
mov dh, 5
rcr dword [rcx], cl
invalid
movzx eax, byte [reloc.WS2_32.dll_getsockopt]
movsx eax, al
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
xorps xmm5, xmm5
cvtsi2sd xmm5, eax
addsd xmm5, xmm5
subsd xmm4, xmm5
mulsd xmm4, xmm0
movsd qword [rsp + 0x40], xmm4
movzx eax, byte [reloc.WS2_32.dll_htons]
movsx eax, al
add eax, 7
movzx edx, byte [reloc.WS2_32.dll_htonl]
movsx r10d, dl
xor edx, edx
div r10d
movzx edx, byte [reloc.WS2_32.dll_accept]
movsx edx, dl
cmp eax, edx
je 0x140396b20
movzx eax, byte [reloc.WS2_32.dll_closesocket]
movsx eax, al
movzx edx, byte [0x1406101b0]
movsx edx, dl
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, 4
cmp edx, 3
je 0x140396b20
jmp 0x140396b74