Function at 0x1401a6950
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
mov ecx, dword [rcx + 0xc]
cmp ecx, 0x11
jne 0x14019fc89
mov ecx, socket
mov dword [rdi + 0xc], ecx
mov rax, qword [rdi]
cmp dword [rax], 0
je 0x14019fcb0
mov dword [rax + 0xc], ecx
mov rax, qword [rdi]
mov dword [0x14045b7a4], 0
mov ecx, dword [rax + 0xc]
mov dword [0x14045b99c], ecx
add rsp, 0x20
pop rdi
ret
cmp dword [0x14045b480], 0
mov eax, dword [rdi + 0x2c]
mov dword [0x14045b83c], eax
je 0x14019fda0
cmp dword [0x140421818], ecx
jne 0x14019fcdf
call fcn.1401a8940
mov dword [reloc.WSOCK32.dll_closesocket], 3
jmp 0x14019fcef
mov dword [0x140421818], ecx
call fcn.14024be30
call fcn.14018a010
mov rax, qword [0x14046a5e8]
mov r8, qword [0x14045b410]
mov r9d, dword [0x14045b548]
mov edx, dword [0x14045b4f4]
mov ecx, dword [0x14045b4d4]
test rax, rax
je 0x14019fd4e
cmp qword [rax + 8], r8
jne 0x14019fd3f
test r9d, r9d
jne 0x14019fd3f
test edx, edx
jne 0x14019fd3f
cmp dword [rax + 0x33c], 0x14
jge 0x14019fd3f
mov dword [rax + 0x33c], socket
cmp ecx, 0x14
jge 0x14019fd3f
lea ecx, [rdx + 0x14]
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14019fd15
mov dword [0x14045b4d4], ecx
mov rax, qword [0x14046a618]
cmp qword [rax + 8], r8
jne 0x1401a01bb
test r9d, r9d
jne 0x1401a01bb
test edx, edx
jne 0x1401a01bb
cmp dword [rax + 0x33c], 0x14
jge 0x1401a01bb
mov dword [rax + 0x33c], socket
cmp ecx, 0x14
jge 0x1401a01bb
mov dword [0x14045b4d4], 0x14
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
call fcn.1401a88f0
cmp dword [rdi + 0x24], 0
jle 0x1401a00cc
cmp dword [0x14045b92c], 0
je 0x1401a00cc
mov rax, qword [0x14046a618]
mov dword [0x14045b480], 1
mov dword [0x14046a2c0], 1
movsd xmm0, qword [rax + 0x38]
movsd qword [0x14046a340], xmm0
mov eax, dword [rax + 0x40]
mov dword [0x14046a348], eax
cmp dword [rdi + 0x2c], 0
jne 0x14019fe7c
cmp qword [0x140460020], 0
jne 0x14019fe72
cmp qword [0x140460190], 0
jne 0x14019fe72
cmp dword [0x14045b44c], 0
jne 0x14019fe72
cmp dword [0x14045b514], 0
mov rbx, qword [0x140468e98]
movzx eax, byte [rbx]
je 0x14019fe4d
test eax, eax
je 0x14019fe72
cmp eax, 0x63
je 0x14019fe63
mov rcx, rbx
call qword [0x140420bf8]
movsxd rcx, eax
add rbx, rcx
movzx eax, byte [rbx]
test eax, eax
jne 0x14019fe30
jmp 0x14019fe72
test eax, eax
je 0x14019fe72
cmp eax, 0x63
je 0x14019fe63
movzx eax, byte [rbx + 1]
inc rbx
test eax, eax
jne 0x14019fe51
jmp 0x14019fe72
mov dword [0x14045b83c], 1
test rbx, rbx
jne 0x14019fe7c
mov dword [0x14045b83c], 0
call fcn.140193ce0
cmp dword [0x1404699c0], 0
je 0x14019fe9d
cmp dword [0x14045b530], 0
jne 0x14019fe9d
mov dword [0x14045b59c], 1
mov eax, dword [0x14045b92c]
mov edx, dword [0x140469210]
cmp eax, 0x76
jne 0x14019feb3
cmp edx, 1
jle 0x14019fee2
mov eax, dword [rdi + 0x24]
mov rcx, qword [0x14046a618]
imul eax, edx
dec eax
add dword [rcx + 0x38], eax
call fcn.14018f760
mov rcx, qword [0x14046a618]
call fcn.14018d5b0
mov eax, dword [0x14045b92c]
mov edx, dword [0x140469210]
mov dword [0x140421818], eax
cmp eax, 0x76
jne 0x14019ff42
cmp edx, 1
jg 0x14019ff24
call fcn.140196940
mov r8d, dword [rdi + 0x24]
imul r8d, dword [0x1404693c8]
mov rdx, qword [0x14046a618]
add r8d, dword [rdx + 0x44]
mov dword [rdx + 0x44], r8d
mov rax, qword [0x14046a318]
cmp byte [rax], 0x65
je 0x14019ff34
lea eax, [r8 - 1]
jmp 0x14019ff31
mov rdx, qword [0x14046a618]
mov eax, dword [0x1404693c8]
mov dword [rdx + 0x44], eax
mov ecx, dword [rdx + 0x44]
call fcn.14018ea90
mov eax, dword [0x140421818]
cmp dword [0x1404693c8], 0x7fffffff
jne 0x14019ff7d
mov rcx, qword [0x14046a618]
mov edx, 0x7fffffff
mov dword [rcx + 0x44], 0x7fffffff
add rcx, 0x38
call fcn.14018dd40
mov rdx, qword [0x14046a618]
and dword [rdx + 0x2cc], 0xfffffffb
jmp 0x1401a0018
cmp eax, 0x16
jne 0x1401a000a
mov rcx, qword [0x14046a618]
mov eax, dword [0x14046a340]
mov ebx, dword [rcx + 0x38]
mov dword [rcx + 0x38], eax
call fcn.140196940
mov eax, dword [rdi + 0x24]
mov rcx, qword [0x14046a618]
imul eax, dword [0x1404693c8]
mov dword [rcx + 0x38], ebx
dec eax
add dword [rcx + 0x44], eax
mov edi, dword [rcx + 0x44]
add rcx, 0x38
mov edx, edi
call fcn.14018dd40
cmp edi, 0x7fffffff
je 0x14019ff6a
test eax, eax
je 0x14019ff6a
mov rdx, qword [0x14046a618]
xor r8d, r8d
mov rcx, qword [0x14045b410]
mov edx, dword [rdx + 0x38]
call fcn.140179dc0
mov rdx, qword [0x14046a618]
movsxd rcx, dword [rdx + 0x3c]
cmp byte [rax + rcx], 9
je 0x1401a0018
or dword [rdx + 0x2cc], 4
mov dword [rdx + 0x2f0], edi
jmp 0x1401a0018
mov rdx, qword [0x14046a618]
mov dword [rdx + 0x48], 1
mov rax, qword [0x14046a5e8]
mov r9, qword [0x14045b410]
mov r10d, dword [0x14045b548]
mov r8d, dword [0x14045b4f4]
mov ecx, dword [0x14045b4d4]
test rax, rax
je 0x1401a007b
nop
cmp qword [rax + 8], r9
jne 0x1401a006c
test r10d, r10d
jne 0x1401a006c
test r8d, r8d
jne 0x1401a006c
cmp dword [rax + 0x33c], 0x14
jge 0x1401a006c
mov dword [rax + 0x33c], socket
cmp ecx, 0x14
jge 0x1401a006c
lea ecx, [r10 + 0x14]
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401a0040
mov dword [0x14045b4d4], ecx
cmp qword [rdx + 8], r9
jne 0x1401a01b6
test r10d, r10d
jne 0x1401a01b6
test r8d, r8d
jne 0x1401a01b6
cmp dword [rdx + 0x33c], 0x14
jge 0x1401a01b6
mov dword [rdx + 0x33c], socket
cmp ecx, 0x14
jge 0x1401a01b6
mov rbx, qword [rsp + 0x30]
mov dword [0x14045b4d4], 0x14
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0x2c], 0
jne 0x1401a015c
cmp qword [0x140460020], 0
jne 0x1401a0152
cmp qword [0x140460190], 0
jne 0x1401a0152
cmp dword [0x14045b44c], 0
jne 0x1401a0152
cmp dword [0x14045b514], 0
mov rbx, qword [0x140468e98]
movzx eax, byte [rbx]
je 0x1401a012d
test eax, eax
je 0x1401a0152
nop word [rax + rax]
cmp eax, 0x63
je 0x1401a0143
mov rcx, rbx
call qword [0x140420bf8]
movsxd rcx, eax
add rbx, rcx
movzx eax, byte [rbx]
test eax, eax
jne 0x1401a0110
jmp 0x1401a0152
test eax, eax
je 0x1401a0152
cmp eax, 0x63
je 0x1401a0143
movzx eax, byte [rbx + 1]
inc rbx
test eax, eax
jne 0x1401a0131
jmp 0x1401a0152
mov dword [0x14045b83c], 1
test rbx, rbx
jne 0x1401a015c
mov dword [0x14045b83c], 0
mov ecx, dword [rdi + 0xc]
call fcn.14019fb60
mov ecx, dword [0x140421818]
cmp ecx, 0x56
je 0x1401a017e
mov rax, qword [0x14046a318]
cmp byte [rax], 0x65
jne 0x1401a017e
inc dword [rdi + 0x28]
cmp dword [rdi + 0x24], 0
jle 0x1401a01b6
dec dword [rdi + 0x28]
cmp dword [rdi + 0x28], 0
jle 0x1401a01b6
cmp ecx, 0x76
je 0x1401a01ae
cmp ecx, 0x16
je 0x1401a01ae
cmp ecx, 0x56
jne 0x1401a01b6
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1401a3440
mov rcx, rdi
call fcn.1401a39f0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
push rbx
sub rsp, 0x20
test byte [0x14045b5b8], 2
mov rbx, rcx
je 0x1401a3463
mov dword [rcx + 0x2c], 1
add rsp, 0x20
pop rbx
jmp 0x1401a6950
mov rcx, qword [0x14045b410]
test rcx, rcx
je 0x1401a348e
mov rax, qword [0x14045b4e8]
test rax, rax
je 0x1401a348e
nop dword [rax + rax]
cmp rax, rcx
je 0x1401a34ad
mov rax, qword [rax + 0x68]
test rax, rax
jne 0x1401a3480
cmp dword [0x14045b40c], 0
je 0x1401a34cb
cmp dword [rbx + 0xc], 0xd
jne 0x1401a34cb
mov dword [0x14045b6ec], 0xd
add rsp, 0x20
pop rbx
ret
mov rax, qword [rcx + 0x1618]
cmp byte [rax], 0x71
jne 0x1401a348e
cmp dword [rbx + 0xc], 0xd
jne 0x1401a348e
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp fcn.140203150
test rcx, rcx
je 0x1401a3518
mov rax, qword [rcx + 0x1618]
cmp byte [rax], 0x70
jne 0x1401a3518
cmp byte [rax + 1], 0x72
jne 0x1401a3518
cmp dword [rbx + 0xc], 0xd
jne 0x1401a3518
mov rax, qword [0x14046a618]
mov ecx, dword [rcx]
cmp dword [rax + 0x38], ecx
jne 0x1401a3518
call fcn.1403929a0
cmp dword [0x14045b518], 0
jne 0x1401a35d1
mov dword [0x14045b518], 0x61
add rsp, 0x20
pop rbx
ret
mov rax, qword [rbx]
mov qword [rsp + 0x30], rdi
xor edi, edi
mov edx, edi
mov dword [rax + 8], 1
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x28]
cmp dword [rax], edi
sete dl
call fcn.140094ea0
test eax, eax
jne 0x1401a3570
cmp dword [0x14045b404], edi
mov rax, qword [rbx]
mov dword [0x14045b99c], edi
mov qword [rax], rdi
mov qword [rax + 0xc], rdi
jne 0x1401a35cc
xor ecx, ecx
call fcn.140122f90
lea ecx, [rdi + 0x40]
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
jmp fcn.14018aca0
cmp dword [rbx + 0x2c], edi
je 0x1401a35cc
mov rdx, qword [0x14046a618]
xor r8d, r8d
mov rcx, qword [0x14045b410]
mov qword [rdx + 0x3c], rdi
mov edx, dword [rdx + 0x38]
call fcn.140179dc0
mov r8, qword [0x14046a618]
mov rdx, rax
nop dword [rax]
movzx ecx, byte [rdx]
cmp cl, 0x20
je 0x1401a35ad
cmp cl, 9
jne 0x1401a35bf
lea rax, [rdx + 1]
mov rdx, rax
cmp byte [rax], dil
je 0x1401a35bf
inc dword [r8 + 0x3c]
jmp 0x1401a35a0
mov dword [r8 + 0x48], 1
call fcn.140198870
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
sub rsp, 0x28
mov rax, qword [rcx]
cmp dword [rax], 0
je 0x1401a6986
xor ecx, ecx
cmp dword [0x14045b404], ecx
mov qword [rax], rcx
mov qword [rax + 0xc], rcx
mov dword [0x14045b99c], ecx
jne 0x1401a69be
call fcn.140122f90
mov ecx, 0x40
add rsp, 0x28
jmp fcn.14018aca0
test byte [0x14045b5b8], 4
je 0x1401a69af
cmp dword [rcx + 0x2c], 0xffffffff
jne 0x1401a69a3
mov ecx, dword [rcx + 0x28]
neg ecx
add rsp, 0x28
jmp fcn.14032d4a0
mov ecx, dword [rcx + 0x24]
add rsp, 0x28
jmp fcn.14032d4a0
mov edx, dword [rcx + 0x28]
mov ecx, dword [rcx + 0x2c]
add rsp, 0x28
jmp fcn.140198af0
add rsp, 0x28
ret