Function at 0x1400b39e0
Capabilities:
Check for time delay via queryperformancecounter
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x1402b4040]
xor rax, rsp
mov qword [rsp + 0x138], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
movaps xmm6, xmmword [0x140270080]
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
mov ebx, 1
test rcx, rcx
je 0x1400b3a59
mov rdi, rcx
cmp dword [rcx], 0xbab1e
jne 0x1400b3a59
mov ebx, 8
cmp byte [rdi + 0x18a], 0
je 0x1400b3a8e
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140192360
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0xa
jmp 0x1400b3a59
mov ebp, r9d
test r9d, r9d
js 0x1400b3a87
mov r15d, r8d
mov r14, rdx
lea rbx, [rsp + 0x70]
mov r8d, 0xa0
mov rcx, rbx
mov dl, 0xaa
call fcn.1401ce350
mov r12, qword [rdi + 8]
xor esi, esi
test r12, r12
je 0x1400b3ad0
lea r13, [rsp + 0x110]
jmp 0x1400b3fca
mov ebx, 3
jmp 0x1400b3a59
cmp qword [rdi + 0xb0], 0
je 0x1400b3bbc
cmp byte [0x1402c9840], 1
je 0x1400b3b0c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
imul r13, rcx, 0x10624dd3
shr r13, 0x26
imul ecx, r13d, 0x3e8
sub eax, ecx
imul r12d, eax, 0x3e8
jmp 0x1400b3b4a
lea r12, [rsp + 0x30]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r12], rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r12]
mov rcx, qword [0x1402c9848]
cqo
idiv rcx
mov r13, rax
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r12, rax
mov rdx, qword [rdi + 0xb0]
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movaps xmmword [rcx], xmm0
call fcn.1400eca40
mov qword [rdi + 0xb0], rax
mov rdx, qword [rax + 0x20]
xor ecx, ecx
sub rdx, r13
jl 0x1400b3bc1
mov r8d, dword [rax + 0x28]
jg 0x1400b3b7e
cmp r8d, r12d
jle 0x1400b3bc1
movabs rax, 0x7fffffffffffffff
movabs rcx, 0x20c49ba5e353f6
cmp rdx, rcx
jg 0x1400b3bad
movabs rcx, 0xffdf3b645a1cac0a
cmp rdx, rcx
jge 0x1400b3c3c
inc rax
cmp rax, 2
mov ecx, 1
cmovge rcx, rax
jmp 0x1400b3bc1
mov ecx, 0xffffffff
cmp ecx, ebp
cmovb ebp, ecx
lea eax, [rsi + r15]
mov r12d, eax
cmp byte [rsp + 0x1d0], 0
je 0x1400b3be9
xor r12d, r12d
cmp qword [rdi + 0x178], 0xffffffffffffffff
setne r12b
add r12d, eax
mov dword [rsp + 0x28], eax
cmp r12d, 0xb
jb 0x1400b3c13
mov rax, qword [fcn.1401371c0]
mov ecx, r12d
shl rcx, 4
call qword [0x1402a4f40]
mov rbx, rax
test rax, rax
je 0x1400b3ac9
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x24], ebp
xor r12d, r12d
test esi, esi
je 0x1400b3c67
mov r13, qword [rdi + 8]
test r13, r13
je 0x1400b3c67
xor r12d, r12d
lea rbp, [rsp + 0x110]
jmp 0x1400b405c
imul rcx, rdx, 0x3e8
sub r8d, r12d
movsxd rax, r8d
imul rax, rax, 0x10624dd3
mov rdx, rax
shr rdx, 0x3f
sar rax, 0x26
add eax, edx
cdqe
add rax, rcx
jmp 0x1400b3bad
test r15d, r15d
je 0x1400b3cf8
mov eax, r15d
shl rax, 4
xor ecx, ecx
mov r8d, dword [rsp + 0x24]
jmp 0x1400b3c99
movzx r9d, r10w
or r9d, 0x10
mov word [rdx + 8], r9w
inc r12d
add rcx, 0x10
cmp rax, rcx
je 0x1400b3cfd
mov r10, qword [r14 + rcx]
mov r9d, r12d
shl r9, 4
lea rdx, [rbx + r9]
mov qword [rbx + r9], r10
mov word [rbx + r9 + 8], 0
movzx r10d, word [r14 + rcx + 8]
and r10d, 1
neg r10d
and r10d, 0x300
mov word [rbx + r9 + 8], r10w
movzx r9d, word [r14 + rcx + 8]
test r9b, 2
je 0x1400b3cf0
movzx r10d, r10w
or r10d, 0x400
mov word [rdx + 8], r10w
movzx r9d, word [r14 + rcx + 8]
test r9b, 4
je 0x1400b3c8d
jmp 0x1400b3c80
mov r8d, dword [rsp + 0x24]
cmp byte [rsp + 0x1d0], 0
je 0x1400b3d29
mov rax, qword [rdi + 0x178]
cmp rax, 0xffffffffffffffff
je 0x1400b3d29
mov ecx, r12d
shl rcx, 4
mov qword [rbx + rcx], rax
mov word [rbx + rcx + 8], 0x300
inc r12d
xor r13d, r13d
test r12d, r12d
je 0x1400b3dfb
mov rcx, rbx
mov edx, r12d
call fcn.1400cf500
test eax, eax
jle 0x1400b3dfb
mov ebp, eax
test r15d, r15d
je 0x1400b3d98
mov eax, r15d
shl rax, 4
xor ecx, ecx
mov edx, esi
shl rdx, 4
movzx edx, word [rbx + rdx + 0xa]
xor r8d, r8d
test edx, 0x300
setne r8b
mov r9d, edx
shr r9d, 2
and r9d, 4
shr edx, 9
and edx, 2
or edx, r9d
or edx, r8d
mov word [r14 + rcx + 0xa], dx
add rcx, 0x10
inc esi
cmp rax, rcx
jne 0x1400b3d58
cmp byte [rsp + 0x1d0], 0
je 0x1400b3df8
cmp qword [rdi + 0x178], 0xffffffffffffffff
je 0x1400b3df8
mov eax, dword [rsp + 0x28]
shl rax, 4
test byte [rbx + rax + 0xb], 3
mov r13d, ebp
je 0x1400b3dfb
lea r14, [rsp + 0x30]
movaps xmmword [r14 + 0x30], xmm6
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rsi, qword [sym.imp.WS2_32.dll_recv]
mov rcx, qword [rdi + 0x178]
mov rdx, r14
mov r8d, 0x40
xor r9d, r9d
call rsi
test eax, eax
jg 0x1400b3ddd
dec ebp
mov r13d, ebp
mov rsi, qword [rsp + 0x1c0]
cmp dword [rsp + 0x2c], 0xb
jb 0x1400b3e1a
mov rax, qword [fcn.14018e130]
mov rcx, rbx
call qword [0x1402a4f40]
mov al, byte [rsp + 0x1c8]
test rsi, rsi
mov ebp, dword [rsp + 0x24]
je 0x1400b3e2d
mov dword [rsi], r13d
test r12d, r12d
setne cl
xor al, 1
xor ebx, ebx
or al, cl
jne 0x1400b3a59
cmp dword [rdi], 0xbab1e
jne 0x1400b3a59
cmp byte [rdi + 0x18a], 0
jne 0x1400b3a59
cmp qword [rdi + 0xb0], 0
je 0x1400b3f58
cmp byte [0x1402c9840], 1
je 0x1400b3e94
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
imul r15, rcx, 0x10624dd3
shr r15, 0x26
imul ecx, r15d, 0x3e8
sub eax, ecx
imul r14d, eax, 0x3e8
jmp 0x1400b3ed0
lea r14, [rsp + 0x30]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r14], rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
mov rcx, qword [0x1402c9848]
cqo
idiv rcx
mov r15, rax
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
mov rdx, qword [rdi + 0xb0]
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movaps xmmword [rcx], xmm0
call fcn.1400eca40
mov qword [rdi + 0xb0], rax
mov rcx, qword [rax + 0x20]
sub rcx, r15
jl 0x1400b3a59
mov edx, dword [rax + 0x28]
jg 0x1400b3f09
cmp edx, r14d
jle 0x1400b3a59
movabs rax, 0x7fffffffffffffff
movabs r8, 0x20c49ba5e353f6
cmp rcx, r8
jg 0x1400b3f38
movabs r8, 0xffdf3b645a1cac0a
cmp rcx, r8
jge 0x1400b406b
inc rax
cmp rax, 2
mov edx, 1
cmovge rdx, rax
test edx, edx
je 0x1400b3a59
cmp edx, ebp
mov ecx, ebp
cmovl ecx, edx
test edx, edx
jns 0x1400b3f5a
mov ecx, ebp
test ecx, ecx
je 0x1400b3a59
js 0x1400b3f6f
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400b3a59
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
jmp 0x1400b3a59
inc esi
mov rdx, qword [rsp + rcx*8 + 0x110]
mov r8d, eax
shr r8d, cl
bt r8d, 0x10
jae 0x1400b3fa0
inc esi
mov rdx, qword [rsp + rcx*8 + 0x110]
cmp rcx, 3
ja 0x1400b3fbd
inc rcx
cmp rdx, 0xffffffffffffffff
je 0x1400b3fbd
bt eax, ecx
jb 0x1400b3f7f
mov rdx, 0xffffffffffffffff
jmp 0x1400b3f89
mov r12, qword [r12]
test r12, r12
je 0x1400b3ad0
mov rcx, r12
mov rdx, r13
call fcn.1400b3830
xor ecx, ecx
jmp 0x1400b3faf
mov rdx, qword [rsp + rcx*8 + 0x110]
mov r8d, r12d
shl r8, 4
mov qword [rbx + r8], rdx
mov word [rbx + r8 + 8], 0x300
inc r12d
mov rdx, qword [rsp + rcx*8 + 0x110]
mov r8d, eax
shr r8d, cl
bt r8d, 0x10
jae 0x1400b4032
mov rdx, qword [rsp + rcx*8 + 0x110]
mov r8d, r12d
shl r8, 4
mov qword [rbx + r8], rdx
mov word [rbx + r8 + 8], 0x10
inc r12d
mov rdx, qword [rsp + rcx*8 + 0x110]
cmp rcx, 3
ja 0x1400b404f
inc rcx
cmp rdx, 0xffffffffffffffff
je 0x1400b404f
bt eax, ecx
jb 0x1400b3fd9
mov rdx, 0xffffffffffffffff
jmp 0x1400b3fff
mov r13, qword [r13]
test r13, r13
je 0x1400b3c67
mov rcx, r13
mov rdx, rbp
call fcn.1400b3830
xor ecx, ecx
jmp 0x1400b4041
imul rcx, rcx, 0x3e8
sub edx, r14d
movsxd rax, edx
imul rax, rax, 0x10624dd3
mov rdx, rax
shr rdx, 0x3f
sar rax, 0x26
add eax, edx
cdqe
add rax, rcx
jmp 0x1400b3f38