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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x10058
call fcn.1400e0a90
sub rsp, rax
mov edi, r8d
mov r12, rdx
mov rsi, rcx
test rcx, rcx
je 0x1400bf23e
call fcn.1400243d0
mov ebp, dword [rsp + 0x100b0]
mov r13d, dword [rsp + 0x100b8]
mov eax, 0x1f4
test ebp, ebp
mov r14d, 1
mov qword [rsp + 0x100a0], rbx
cmove ebp, eax
cmp r13d, 1
mov eax, gethostbyname
cmovl r13d, eax
cmp edi, r14d
cmovl edi, r14d
test r12, r12
je 0x1400bf325
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov edx, 0x406
mov rcx, r12
mov dword [rsp + 0x28], 0x7d0
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
test rax, rax
je 0x1400bf325
movsxd rax, edi
cmp rax, qword [rsp + 0x48]
jg 0x1400bf325
lea rdx, [rsp + 0x100b0]
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x100b0]
xor edx, edx
lea ecx, [rdx + 0x38]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400bf325
xor edx, edx
mov r9d, 0x3000
mov r8d, 0x10000
mov rcx, rax
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x10098], rax
test rax, rax
jne 0x1400bf35a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rsi, rsi
lea rbp, [0x1400f566c]
lea rcx, [0x1400f5bf4]
cmovne rcx, rbp
xor edx, edx
call fcn.14004dbe0
mov rbx, qword [rsp + 0x100a0]
add rsp, 0x10058
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
mov qword [rsp + 0x10050], r15
dec edi
mov word [rsp + 0x50], ax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdi, edi
mov r15d, eax
nop word [rax + rax]
lea rax, [rsp + 0x10090]
xor r9d, r9d
mov r8, rdi
mov qword [rsp + 0x30], rax
mov edx, 0x40c
mov rcx, r12
mov dword [rsp + 0x28], 0x7d0
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov ebx, 8
test rax, rax
je 0x1400bf45a
mov eax, 0x7fff
cmp word [rsp + 0x10090], ax
ja 0x1400bf790
mov r9, qword [rsp + 0x10098]
lea rax, [rsp + 0x10090]
mov r8, rdi
mov qword [rsp + 0x30], rax
mov edx, 0x40d
mov rcx, r12
mov dword [rsp + 0x28], 0x7d0
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
test rax, rax
je 0x1400bf45a
movzx eax, word [rsp + 0x10090]
mov rdx, qword [rsp + 0x10098]
mov rcx, qword [rsp + 0x40]
inc eax
lea r8, [rsp + 0x50]
movsxd r9, eax
xor eax, eax
add r9, r9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400bf789
mov rdx, qword [rsp + 0x100a8]
lea rcx, [rsp + 0x50]
call fcn.1400be530
test al, al
jne 0x1400bf49d
test rsi, rsi
jne 0x1400bfa67
mov rcx, r12
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400bfd01
test ebp, ebp
js 0x1400bf48d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [r15 + rbp]
sub ecx, eax
cmp ecx, 5
jle 0x1400bf7ae
mov edx, r14d
mov ecx, r13d
call fcn.140001b60
jmp 0x1400bf380
mov rdi, qword [0x14012b628]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400bf4cd
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400f1614]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400bd640
jmp 0x1400bf790
lea r15, [0x1400f1614]
cmp qword [rdi + 8], r15
jne 0x1400bf4e3
mov r13, qword [rdi + 0x10]
shr r13, 1
jmp 0x1400bf4e6
mov r13, r14
lea rcx, [r13 + 1]
lea r12, [rcx + rcx]
cmp al, 2
jne 0x1400bf502
mov rdx, r13
mov rcx, r15
call fcn.140006da0
jmp 0x1400bf790
cmp r12, qword [0x1401255a0]
jbe 0x1400bf530
cmp r12, qword [rdi + 0x18]
jbe 0x1400bf530
lea r8, [0x1400f1524]
lea rdx, [0x140110420]
lea rcx, [0x14012c5c0]
call fcn.14004e590
jmp 0x1400bf790
cmp rcx, 2
jae 0x1400bf54a
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x1400bf790
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400bf560
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp r12, rcx
jbe 0x1400bf74f
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x1400bf598
cmp al, 2
je 0x1400bf5ea
mov rbp, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400bf6f0
cmp r12, 0x80
ja 0x1400bf5ea
cmp r12, rbx
ja 0x1400bf5b1
mov rbp, rbx
mov r12d, reloc.WSOCK32.dll_recv
jmp 0x1400bf5c4
cmp r12, 0x10
mov ebp, 0x80
mov r12d, reloc.WSOCK32.dll_recv
cmovbe ebp, r12d
mov rcx, rbp
call fcn.1400b60a0
test rax, rax
je 0x1400bf796
and byte [rdi + 0x21], 0x7f
mov byte [rdi + 0x20], r14b
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
jmp 0x1400bf755
cmp r12, 0x20
jae 0x1400bf5fa
mov ebp, SafeArrayAllocDescriptor
jmp 0x1400bf6af
cmp r12, 0x208
jae 0x1400bf60d
mov ebp, 0x208
jmp 0x1400bf6af
cmp r12, 0x50000
jae 0x1400bf669
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
test r12, r12
jns 0x1400bf62c
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
xor eax, eax
comisd xmm0, xmmword [0x140112048]
jbe 0x1400bf65f
subsd xmm0, qword [0x140112048]
comisd xmm0, xmmword [0x140112048]
jae 0x1400bf65f
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbp, xmm0
add rbp, rax
jmp 0x1400bf6af
cmp r12, 0x320000
jae 0x1400bf67c
lea rbp, [r12 + 0x8000]
jmp 0x1400bf6af
cmp r12, 0xc80000
jae 0x1400bf6a7
movabs rax, 0x47ae147ae147ae15
mov rbp, r12
mul r12
sub rbp, rdx
shr rbp, 1
add rbp, rdx
shr rbp, 6
add rbp, r12
jmp 0x1400bf6af
lea rbp, [r12 + 0x20000]
mov rax, qword [0x1401255a0]
cmp rbp, rax
cmova rbp, rax
cmp r8b, 2
jne 0x1400bf6d7
test rcx, rcx
je 0x1400bf6d7
mov rcx, qword [rdi + 8]
movzx r12d, r14b
call fcn.1400d6fc8
jmp 0x1400bf6da
xor r12b, r12b
test rbp, rbp
js 0x1400bf704
mov rcx, rbp
call fcn.1400d6f08
test rax, rax
je 0x1400bf704
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov r12d, reloc.WSOCK32.dll_recv
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
jmp 0x1400bf755
lea r13, [0x14012c4b8]
test r12b, r12b
je 0x1400bf71c
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400bf729
mov rax, qword [rdi + 8]
xor r15d, r15d
mov word [rax], r15w
xor eax, eax
lea r8, [0x1400f1524]
lea rdx, [0x1400f5a40]
lea rcx, [0x14012c5c0]
mov qword [rdi + 0x10], rax
call fcn.14004e590
mov r12d, reloc.WSOCK32.dll_recv
jmp 0x1400bf79d
mov r12d, reloc.WSOCK32.dll_recv
mov rcx, qword [rdi + 8]
cmp rcx, r15
je 0x1400bf76b
lea r8, [r13 + r13]
mov rdx, r15
call fcn.1400d7a30
mov rax, qword [rdi + 8]
lea rcx, [r13 + r13]
xor r15d, r15d
mov word [rcx + rax], r15w
mov qword [rdi + 0x10], rcx
lea r13, [0x14012c4b8]
jmp 0x1400bf7a0
xor eax, eax
mov word [rsp + 0x50], ax
mov r12d, reloc.WSOCK32.dll_recv
lea r13, [0x14012c4b8]
xor r15d, r15d
test rsi, rsi
je 0x1400bfd01
jmp 0x1400bfa77
mov rdi, qword [0x14012b628]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400bf7de
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400f566c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400bd640
jmp 0x1400bfd01
lea rbp, [0x1400f566c]
cmp qword [rdi + 8], rbp
jne 0x1400bf7f4
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400bf7f7
mov r12, r14
lea rdx, [r12 + 1]
lea rsi, [rdx + rdx]
cmp al, 2
jne 0x1400bf814
mov rdx, r12
mov rcx, rbp
call fcn.140006da0
jmp 0x1400bfd01
mov rcx, qword [0x1401255a0]
cmp rsi, rcx
jbe 0x1400bf845
cmp rsi, qword [rdi + 0x18]
jbe 0x1400bf845
lea r8, [0x1400f1524]
lea rdx, [0x140110420]
lea rcx, [0x14012c5c0]
call fcn.14004e590
jmp 0x1400bfd01
cmp rdx, 2
jae 0x1400bf85f
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x1400bfd01
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400bf87c
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov rcx, qword [0x1401255a0]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r8
jbe 0x1400bf9f1
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r14b
jbe 0x1400bf8b4
cmp al, 2
je 0x1400bf8ec
mov rbx, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400bf9e5
cmp rsi, 0x80
ja 0x1400bf8ec
cmp rsi, rbx
jbe 0x1400bf8d2
mov eax, reloc.WSOCK32.dll_recv
mov ebx, 0x80
cmp rsi, rax
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400b60a0
test rax, rax
je 0x1400bfd01
mov byte [rdi + 0x20], r14b
jmp 0x1400bf9e5
cmp rsi, 0x20
jae 0x1400bf8fc
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400bf9ab
cmp rsi, 0x208
jae 0x1400bf90f
mov ebx, 0x208
jmp 0x1400bf9ab
cmp rsi, 0x50000
jae 0x1400bf967
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400bf92e
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400bf95d
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400bf95d
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400bf9ab
cmp rsi, 0x320000
jae 0x1400bf979
lea rbx, [rsi + 0x8000]
jmp 0x1400bf9ab
cmp rsi, 0xc80000
jae 0x1400bf9a4
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x1400bf9ab
lea rbx, [rsi + 0x20000]
cmp rbx, rcx
cmova rbx, rcx
cmp r9b, 2
jne 0x1400bf9cc
test r8, r8
je 0x1400bf9cc
mov rcx, qword [rdi + 8]
movzx esi, r14b
call fcn.1400d6fc8
jmp 0x1400bf9cf
xor sil, sil
test rbx, rbx
js 0x1400bfa1f
mov rcx, rbx
call fcn.1400d6f08
test rax, rax
je 0x1400bfa1f
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
cmp rcx, rbp
je 0x1400bfa06
lea r8, [r12 + r12]
mov rdx, rbp
call fcn.1400d7a30
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor r15d, r15d
mov word [rcx + rax], r15w
mov qword [rdi + 0x10], rcx
jmp 0x1400bfd01
test sil, sil
je 0x1400bfa37
lea r13, [0x14012c4b8]
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400bfa44
mov rax, qword [rdi + 8]
xor r15d, r15d
mov word [rax], r15w
xor eax, eax
lea r8, [0x1400f1524]
lea rdx, [0x1400f5a40]
lea rcx, [0x14012c5c0]
mov qword [rdi + 0x10], rax
call fcn.14004e590
jmp 0x1400bfd01
mov r12d, reloc.WSOCK32.dll_recv
lea r13, [0x14012c4b8]
xor r15d, r15d
movzx edx, byte [rsi + 0x23]
test dl, dl
jne 0x1400bfaa1
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x50]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400bd640
mov r14d, eax
jmp 0x1400bfd01
lea rax, [rsp + 0x50]
cmp qword [rsi + 8], rax
jne 0x1400bfab5
mov rbp, qword [rsi + 0x10]
shr rbp, 1
jmp 0x1400bfaca
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x50]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rbp, [rcx - 1]
lea rax, [rbp + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x1400bfaec
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.140006da0
mov r14d, eax
jmp 0x1400bfd01
cmp rdi, qword [0x1401255a0]
jbe 0x1400bfb1d
cmp rdi, qword [rsi + 0x18]
jbe 0x1400bfb1d
lea r8, [0x1400f1524]
lea rdx, [0x140110420]
lea rcx, [0x14012c5c0]
call fcn.14004e590
mov r14d, eax
jmp 0x1400bfd01
cmp rax, 2
jae 0x1400bfb37
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x1400bfd01
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x1400bfb4d
mov rcx, qword [rsi]
and al, 0x3d
mov byte [rsi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov rcx, qword [rsi + 0x18]
and byte [rsi + 0x21], 0x82
cmp rdi, rcx
jbe 0x1400bfcd2
movzx r8d, byte [rsi + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x1400bfb85
cmp al, 2
je 0x1400bfbbe
mov rbx, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400bfcc6
cmp rdi, 0x80
ja 0x1400bfbbe
cmp rdi, rbx
jbe 0x1400bfba0
mov ebx, 0x80
cmp rdi, 0x10
cmovbe rbx, r12
mov rcx, rbx
call fcn.1400b60a0
test rax, rax
jne 0x1400bfbb5
mov r14d, eax
jmp 0x1400bfd01
mov byte [rsi + 0x20], r14b
jmp 0x1400bfcc6
cmp rdi, 0x20
jae 0x1400bfbce
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400bfc81
cmp rdi, 0x208
jae 0x1400bfbe1
mov ebx, 0x208
jmp 0x1400bfc81
cmp rdi, 0x50000
jae 0x1400bfc3d
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400bfc00
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
xor eax, eax
comisd xmm0, xmmword [0x140112048]
jbe 0x1400bfc33
subsd xmm0, qword [0x140112048]
comisd xmm0, xmmword [0x140112048]
jae 0x1400bfc33
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400bfc81
cmp rdi, 0x320000
jae 0x1400bfc4f
lea rbx, [rdi + 0x8000]
jmp 0x1400bfc81
cmp rdi, 0xc80000
jae 0x1400bfc7a
movabs rax, 0x47ae147ae147ae15
mov rbx, rdi
mul rdi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rdi
jmp 0x1400bfc81
lea rbx, [rdi + 0x20000]
mov rax, qword [0x1401255a0]
cmp rbx, rax
cmova rbx, rax
cmp r8b, 2
jne 0x1400bfca9
test rcx, rcx
je 0x1400bfca9
mov rcx, qword [rsi + 8]
movzx edi, r14b
call fcn.1400d6fc8
jmp 0x1400bfcac
xor dil, dil
test rbx, rbx
js 0x1400bfd39
mov rcx, rbx
call fcn.1400d6f08
test rax, rax
je 0x1400bfd39
mov byte [rsi + 0x20], 2
and byte [rsi + 0x21], 0x7f
mov qword [rsi + 8], rax
mov qword [rsi + 0x18], rbx
mov rcx, qword [rsi + 8]
lea rax, [rsp + 0x50]
cmp rcx, rax
je 0x1400bfcef
lea r8, [rbp + rbp]
lea rdx, [rsp + 0x50]
call fcn.1400d7a30
mov rax, qword [rsi + 8]
lea rcx, [rbp + rbp]
mov word [rcx + rax], r15w
mov qword [rsi + 0x10], rcx
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x10098]
mov r9d, 0x8000
mov rcx, rdi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r15, qword [rsp + 0x10050]
mov eax, r14d
jmp 0x1400bf341
test dil, dil
je 0x1400bfd4a
xor eax, eax
mov qword [rsi + 8], r13
mov qword [rsi + 0x18], rax
jmp 0x1400bfd54
mov rax, qword [rsi + 8]
mov word [rax], r15w
xor eax, eax
lea r8, [0x1400f1524]
lea rdx, [0x1400f5a40]
lea rcx, [0x14012c5c0]
mov qword [rsi + 0x10], rax
call fcn.14004e590
mov r14d, eax
jmp 0x1400bfd01