Function at 0x1400346c0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd0
mov rax, qword [0x1400f3e08]
xor rax, rsp
mov qword [rbp + 0xf], rax
movzx esi, word [r9]
mov rdi, rcx
mov rcx, qword [rbp + 0x7f]
xor r15d, r15d
mov qword [rbp - 0x59], r9
mov rax, r8
mov qword [rbp - 0x61], rax
movzx ebx, r15w
mov r12, qword [rdi + 0x48]
mov r14, r9
mov qword [rbp - 0x69], r12
mov qword [rbp - 0x51], rcx
mov word [rbp - 0x71], bx
cmp r15w, si
jae 0x140034b75
mov qword [rsp + 0x118], r13
nop word [rax + rax]
cmp byte [rax + 0x5a], 0xc
jae 0x140034b6d
mov rax, qword [rdi + 0x100]
mov r8, qword [rdi + 0x108]
mov r9, qword [rdi + 0xf8]
movzx ecx, bx
movzx r10d, si
mov r11d, ecx
cmp rax, r8
jae 0x14003477c
mov rdx, rax
mov r14, rax
sub rdx, rcx
mov r13b, 1
add rdx, r10
cmp rdx, r8
jbe 0x14003478b
cmp r8, r9
je 0x14003478b
mov rdx, r8
jmp 0x14003478b
mov rdx, r10
xor r13b, r13b
sub rdx, rcx
mov r14, r9
add rdx, r9
mov r8, qword [rdi + 0xe8]
cmp r14, r8
jne 0x140034b9f
mov rbx, r15
lea r15, [rdi + 0xb8]
mov rax, qword [r15]
cmp rdx, rax
jbe 0x1400347b0
mov rdx, rax
mov rcx, qword [rdi + 0xd0]
lea r9, [rbp - 0x6d]
mov rax, qword [r12 + 0xd80]
cmp rdx, rcx
cmovbe rcx, rdx
sub rax, qword [r12 + 0xd90]
sub si, word [rbp - 0x71]
mov word [rbp - 0x41], si
lea r12, [rax + r8]
mov r8, r14
cmp rcx, r12
movzx eax, r12w
cmovbe ax, cx
mov rcx, qword [rbp - 0x61]
sub ax, r14w
mov qword [rsp + 0x30], rcx
mov word [rbp - 0x6d], ax
mov rcx, rdi
mov rax, qword [rbp - 0x51]
add rax, r11
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
call fcn.140034130
movzx eax, word [rbp - 0x71]
xor cl, cl
add ax, word [rbp - 0x41]
movzx edx, cl
mov ecx, 1
mov word [rbp - 0x71], ax
movzx eax, word [rbp - 0x6d]
test ax, ax
cmove edx, ecx
lea rsi, [r14 + rax]
cmp rsi, qword [r15]
jne 0x14003490c
test byte [rdi + 0x5b], cl
je 0x14003490a
cmp byte [rdi + 0x62], 0
jl 0x14003490a
lea rcx, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
shl rax, 0x20
imul rdx, rcx, 0xf4240
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov rcx, rax
mov rax, r9
div r8
shl rax, 0x20
add rcx, rax
movzx eax, byte [rdi + 0x62]
or al, 0x80
mov qword [rdi + 0x380], rcx
mov byte [rdi + 0x62], al
test byte [0x1400f8b3c], 4
je 0x14003490a
mov byte [rbp - 0x41], al
lea rdx, [0x1400d0668]
lea rax, [rbp - 0x49]
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x11], rax
mov r9d, 3
lea rax, [rbp - 0x41]
mov qword [rbp - 9], 8
mov qword [rbp - 1], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov qword [rbp + 7], 1
call fcn.140001460
mov dl, 1
cmp rsi, qword [rdi + 0xd0]
jne 0x1400349ef
test byte [rdi + 0x62], 0x40
jne 0x1400349ed
lea rcx, [rbp - 0x31]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
shl rax, 0x20
imul rdx, rcx, 0xf4240
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov rcx, rax
mov rax, r9
div r8
shl rax, 0x20
add rcx, rax
movzx eax, byte [rdi + 0x62]
or al, 0x40
mov qword [rdi + 0x370], rcx
mov byte [rdi + 0x62], al
test byte [0x1400f8b3c], 4
je 0x1400349d3
mov byte [rbp - 0x41], al
lea rdx, [0x1400d0668]
lea rax, [rbp - 0x49]
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x11], rax
mov r9d, 3
lea rax, [rbp - 0x41]
mov qword [rbp - 9], 8
mov qword [rbp - 1], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov qword [rbp + 7], 1
call fcn.140001460
mov rcx, qword [rdi + 0x48]
xor r9d, r9d
add rcx, 0xd58
mov rdx, rdi
lea r8d, [r9 + 1]
call fcn.140042750
mov dl, 1
cmp rsi, r12
jne 0x140034ad9
mov r14, qword [rdi + 0x48]
test byte [r14 + 0x10a], 0x10
jne 0x140034ad7
lea rcx, [rbp - 0x29]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
shl rax, 0x20
imul rdx, rcx, 0xf4240
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov rcx, rax
mov rax, r9
div r8
shl rax, 0x20
add rcx, rax
movzx eax, byte [r14 + 0x10a]
or al, 0x10
mov qword [r14 + 0xf98], rcx
mov byte [r14 + 0x10a], al
test byte [0x1400f8b3a], 0x10
je 0x140034ac2
mov byte [rbp - 0x41], al
lea rdx, [0x1400cfe20]
lea rax, [rbp - 0x49]
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x11], rax
mov r9d, 3
lea rax, [rbp - 0x41]
mov qword [rbp - 9], 8
mov qword [rbp - 1], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov qword [rbp + 7], 1
call fcn.140001460
mov rcx, qword [rdi + 0x48]
mov edx, reloc.WS2_32.dll_recv
add rcx, 0xd58
call fcn.140042460
mov dl, 1
test r13b, r13b
je 0x140034afd
mov qword [rdi + 0x100], rsi
test rbx, rbx
je 0x140034afd
cmp rsi, qword [rbx]
jne 0x140034afd
mov rcx, qword [rbx + 8]
add rcx, rsi
mov qword [rdi + 0x100], rcx
cmp qword [rdi + 0xf8], rsi
jae 0x140034b25
mov qword [rdi + 0xf8], rsi
test rbx, rbx
je 0x140034b25
cmp rsi, qword [rbx]
jne 0x140034b25
mov rcx, qword [rbx + 8]
add rcx, rsi
mov qword [rdi + 0xf8], rcx
mov rcx, qword [rdi + 0xe8]
mov r12, qword [rbp - 0x69]
cmp rcx, rsi
jae 0x140034b4a
mov rax, rsi
sub rax, rcx
add qword [r12 + 0xd90], rax
mov qword [rdi + 0xe8], rsi
mov r14, qword [rbp - 0x59]
movzx ebx, word [rbp - 0x71]
test dl, dl
jne 0x140034b6d
movzx esi, word [r14]
mov r15d, 0
mov rax, qword [rbp - 0x61]
cmp bx, si
jb 0x140034730
mov r13, qword [rsp + 0x118]
mov rcx, rdi
call fcn.140035f00
mov word [r14], bx
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.14007f5b0
add rsp, 0xd0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rdi + 0x128]
mov eax, r15d
cmp eax, ecx
jae 0x140034bcb
mov ebx, eax
inc eax
shl rbx, 4
add rbx, qword [rdi + 0x120]
test rbx, rbx
je 0x14003479e
cmp qword [rbx], r14
jb 0x140034ba8
jmp 0x140034bd7
mov rbx, r15
test rbx, rbx
je 0x14003479e
mov rax, qword [rbx]
lea r15, [rdi + 0xb8]
cmp rdx, rax
cmovbe rax, rdx
jmp 0x1400347ad