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

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
push r15
mov eax, 0x10068
call fcn.140100df0
sub rsp, rax
mov ebx, r8d
mov r12, rdx
mov rsi, rcx
test rcx, rcx
je 0x1400e8aad
call fcn.14002f9e0
mov edi, dword [rsp + 0x100c0]
mov ebp, dword [rsp + 0x100c8]
mov eax, 0x1f4
test edi, edi
mov r15d, 1
mov qword [rsp + 0x100b0], r13
cmove edi, eax
cmp ebp, 1
mov eax, gethostbyaddr
cmovl ebp, eax
cmp ebx, r15d
cmovl ebx, r15d
test r12, r12
je 0x1400e8b8e
lea rax, [rsp + 0x50]
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 0x1400e8b8e
movsxd rax, ebx
cmp rax, qword [rsp + 0x50]
jg 0x1400e8b8e
lea rdx, [rsp + 0x100c0]
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x100c0]
xor edx, edx
lea ecx, [rdx + 0x38]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r13, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400e8b8e
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 + 0x40], rax
test rax, rax
jne 0x1400e8bc2
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rsi, rsi
lea rbp, [0x14010771c]
lea rcx, [0x140107c84]
cmovne rcx, rbp
xor edx, edx
call fcn.14005f040
mov r13, qword [rsp + 0x100b0]
add rsp, 0x10068
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor eax, eax
mov qword [rsp + 0x10060], r14
mov r14d, dword gs:[0x48]
mov word [rsp + 0x60], ax
dec ebx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
movsxd rax, ebx
mov qword [rsp + 0x100a8], rax
lea rcx, [rsp + 0x100a0]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x30], rcx
mov rcx, r12
mov edx, 0x40c
mov dword [rsp + 0x28], 0x7d0
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov ebx, 8
test rax, rax
je 0x1400e8cc9
mov eax, 0x7fff
cmp word [rsp + 0x100a0], ax
ja 0x1400e903e
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x100a8]
lea rax, [rsp + 0x100a0]
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 0x1400e8cc9
movzx eax, word [rsp + 0x100a0]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
inc eax
lea r8, [rsp + 0x60]
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 0x1400e9037
mov rdx, qword [rsp + 0x100b8]
lea rcx, [rsp + 0x60]
call fcn.1400e7d60
test al, al
jne 0x1400e8d48
test rsi, rsi
jne 0x1400e9318
mov rcx, r12
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400e95b5
cmp dword [0x1401430c0], r14d
jne 0x1400e8d19
test edi, edi
js 0x1400e8d02
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [r13 + rdi]
sub ecx, eax
cmp ecx, 5
jle 0x1400e8d19
mov edx, r15d
mov ecx, ebp
call fcn.140001b80
mov rax, qword [rsp + 0x100a8]
jmp 0x1400e8bf0
test edi, edi
js 0x1400e8d33
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [r13 + rdi]
sub ecx, eax
cmp ecx, 5
jle 0x1400e905c
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x100a8]
jmp 0x1400e8bf0
mov rdi, qword [0x140140268]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400e8d78
mov rcx, qword [rdi + 0x10]
lea rdx, [0x140103674]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e6e20
jmp 0x1400e903e
lea r14, [0x140103674]
cmp qword [rdi + 8], r14
jne 0x1400e8d8e
mov r13, qword [rdi + 0x10]
shr r13, 1
jmp 0x1400e8d91
mov r13, r15
lea rcx, [r13 + 1]
lea r12, [rcx + rcx]
cmp al, 2
jne 0x1400e8dad
mov rdx, r13
mov rcx, r14
call fcn.140006bc0
jmp 0x1400e903e
cmp r12, qword [0x14013b0d0]
jbe 0x1400e8ddb
cmp r12, qword [rdi + 0x18]
jbe 0x1400e8ddb
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp 0x1400e903e
cmp rcx, 2
jae 0x1400e8df5
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp 0x1400e903e
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400e8e0b
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 0x1400e8ffc
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, r15b
jbe 0x1400e8e43
cmp al, 2
je 0x1400e8e95
mov rbp, qword [rsp + 0x100a0]
mov rax, qword [rsp + 0x100a0]
jmp 0x1400e8f9d
cmp r12, 0x80
ja 0x1400e8e95
cmp r12, rbx
ja 0x1400e8e5c
mov rbp, rbx
mov r12d, reloc.WSOCK32.dll_recv
jmp 0x1400e8e6f
cmp r12, 0x10
mov ebp, 0x80
mov r12d, reloc.WSOCK32.dll_recv
cmovbe ebp, r12d
mov rcx, rbp
call fcn.1400dd290
test rax, rax
je 0x1400e9044
and byte [rdi + 0x21], 0x7f
mov byte [rdi + 0x20], r15b
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
jmp 0x1400e9002
cmp r12, 0x20
jae 0x1400e8ea5
mov ebp, SafeArrayAllocDescriptor
jmp 0x1400e8f5a
cmp r12, 0x208
jae 0x1400e8eb8
mov ebp, 0x208
jmp 0x1400e8f5a
cmp r12, 0x50000
jae 0x1400e8f14
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
test r12, r12
jns 0x1400e8ed7
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
xor eax, eax
comisd xmm0, xmmword [0x1401279d8]
jbe 0x1400e8f0a
subsd xmm0, qword [0x1401279d8]
comisd xmm0, xmmword [0x1401279d8]
jae 0x1400e8f0a
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbp, xmm0
add rbp, rax
jmp 0x1400e8f5a
cmp r12, 0x320000
jae 0x1400e8f27
lea rbp, [r12 + 0x8000]
jmp 0x1400e8f5a
cmp r12, 0xc80000
jae 0x1400e8f52
movabs rax, 0x47ae147ae147ae15
mov rbp, r12
mul r12
sub rbp, rdx
shr rbp, 1
add rbp, rdx
shr rbp, 6
add rbp, r12
jmp 0x1400e8f5a
lea rbp, [r12 + 0x20000]
mov rax, qword [0x14013b0d0]
cmp rbp, rax
cmova rbp, rax
cmp r8b, 2
jne 0x1400e8f83
test rcx, rcx
je 0x1400e8f83
mov rcx, qword [rdi + 8]
movzx r12d, r15b
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e8f86
xor r12b, r12b
test rbp, rbp
js 0x1400e8fb1
mov rcx, rbp
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x1400e8fb1
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 0x1400e9002
lea r13, [0x140141fa8]
test r12b, r12b
je 0x1400e8fc9
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400e8fd6
mov rax, qword [rdi + 8]
xor r14d, r14d
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rdi + 0x10], rax
call fcn.14005f7b0
mov r12d, reloc.WSOCK32.dll_recv
jmp 0x1400e904b
mov r12d, reloc.WSOCK32.dll_recv
mov rcx, qword [rdi + 8]
cmp rcx, r14
je 0x1400e9019
lea r8, [r13 + r13]
mov rdx, r14
call qword [sym.imp.MSVCR100.dll_memmove]
mov rax, qword [rdi + 8]
lea rcx, [r13 + r13]
xor r14d, r14d
mov word [rcx + rax], r14w
mov qword [rdi + 0x10], rcx
lea r13, [0x140141fa8]
jmp 0x1400e904e
xor eax, eax
mov word [rsp + 0x60], ax
mov r12d, reloc.WSOCK32.dll_recv
lea r13, [0x140141fa8]
xor r14d, r14d
test rsi, rsi
je 0x1400e95b5
jmp 0x1400e9328
mov rdi, qword [0x140140268]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400e908c
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14010771c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e6e20
jmp 0x1400e95b5
lea rbp, [0x14010771c]
cmp qword [rdi + 8], rbp
jne 0x1400e90a2
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400e90a5
mov r12, r15
lea rdx, [r12 + 1]
lea rsi, [rdx + rdx]
cmp al, 2
jne 0x1400e90c2
mov rdx, r12
mov rcx, rbp
call fcn.140006bc0
jmp 0x1400e95b5
mov rcx, qword [0x14013b0d0]
cmp rsi, rcx
jbe 0x1400e90f3
cmp rsi, qword [rdi + 0x18]
jbe 0x1400e90f3
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp 0x1400e95b5
cmp rdx, 2
jae 0x1400e910d
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp 0x1400e95b5
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400e912a
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 [0x14013b0d0]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r8
jbe 0x1400e92a1
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r15b
jbe 0x1400e9162
cmp al, 2
je 0x1400e919a
mov rbx, qword [rsp + 0x100a0]
mov rax, qword [rsp + 0x100a0]
jmp 0x1400e9295
cmp rsi, 0x80
ja 0x1400e919a
cmp rsi, rbx
jbe 0x1400e9180
mov eax, reloc.WSOCK32.dll_recv
mov ebx, 0x80
cmp rsi, rax
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400dd290
test rax, rax
je 0x1400e95b5
mov byte [rdi + 0x20], r15b
jmp 0x1400e9295
cmp rsi, 0x20
jae 0x1400e91aa
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400e9259
cmp rsi, 0x208
jae 0x1400e91bd
mov ebx, 0x208
jmp 0x1400e9259
cmp rsi, 0x50000
jae 0x1400e9215
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400e91dc
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400e920b
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400e920b
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400e9259
cmp rsi, 0x320000
jae 0x1400e9227
lea rbx, [rsi + 0x8000]
jmp 0x1400e9259
cmp rsi, 0xc80000
jae 0x1400e9252
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x1400e9259
lea rbx, [rsi + 0x20000]
cmp rbx, rcx
cmova rbx, rcx
cmp r9b, 2
jne 0x1400e927b
test r8, r8
je 0x1400e927b
mov rcx, qword [rdi + 8]
movzx esi, r15b
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e927e
xor sil, sil
test rbx, rbx
js 0x1400e92d0
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x1400e92d0
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 0x1400e92b7
lea r8, [r12 + r12]
mov rdx, rbp
call qword [sym.imp.MSVCR100.dll_memmove]
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor r14d, r14d
mov word [rcx + rax], r14w
mov qword [rdi + 0x10], rcx
jmp 0x1400e95b5
test sil, sil
je 0x1400e92e8
lea r13, [0x140141fa8]
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400e92f5
mov rax, qword [rdi + 8]
xor r14d, r14d
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rdi + 0x10], rax
call fcn.14005f7b0
jmp 0x1400e95b5
mov r12d, reloc.WSOCK32.dll_recv
lea r13, [0x140141fa8]
xor r14d, r14d
movzx edx, byte [rsi + 0x23]
test dl, dl
jne 0x1400e9352
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e6e20
mov r15d, eax
jmp 0x1400e95b5
lea rax, [rsp + 0x60]
cmp qword [rsi + 8], rax
jne 0x1400e9366
mov rbp, qword [rsi + 0x10]
shr rbp, 1
jmp 0x1400e937b
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
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 0x1400e939d
lea rcx, [rsp + 0x60]
mov rdx, rbp
call fcn.140006bc0
mov r15d, eax
jmp 0x1400e95b5
cmp rdi, qword [0x14013b0d0]
jbe 0x1400e93ce
cmp rdi, qword [rsi + 0x18]
jbe 0x1400e93ce
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
mov r15d, eax
jmp 0x1400e95b5
cmp rax, 2
jae 0x1400e93e8
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp 0x1400e95b5
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x1400e93fe
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 0x1400e9585
movzx r8d, byte [rsi + 0x20]
movzx eax, r8b
cmp r8b, r15b
jbe 0x1400e9436
cmp al, 2
je 0x1400e946f
mov rbx, qword [rsp + 0x100a0]
mov rax, qword [rsp + 0x100a0]
jmp 0x1400e9579
cmp rdi, 0x80
ja 0x1400e946f
cmp rdi, rbx
jbe 0x1400e9451
mov ebx, 0x80
cmp rdi, 0x10
cmovbe rbx, r12
mov rcx, rbx
call fcn.1400dd290
test rax, rax
jne 0x1400e9466
mov r15d, eax
jmp 0x1400e95b5
mov byte [rsi + 0x20], r15b
jmp 0x1400e9579
cmp rdi, 0x20
jae 0x1400e947f
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400e9532
cmp rdi, 0x208
jae 0x1400e9492
mov ebx, 0x208
jmp 0x1400e9532
cmp rdi, 0x50000
jae 0x1400e94ee
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400e94b1
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
xor eax, eax
comisd xmm0, xmmword [0x1401279d8]
jbe 0x1400e94e4
subsd xmm0, qword [0x1401279d8]
comisd xmm0, xmmword [0x1401279d8]
jae 0x1400e94e4
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400e9532
cmp rdi, 0x320000
jae 0x1400e9500
lea rbx, [rdi + 0x8000]
jmp 0x1400e9532
cmp rdi, 0xc80000
jae 0x1400e952b
movabs rax, 0x47ae147ae147ae15
mov rbx, rdi
mul rdi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rdi
jmp 0x1400e9532
lea rbx, [rdi + 0x20000]
mov rax, qword [0x14013b0d0]
cmp rbx, rax
cmova rbx, rax
cmp r8b, 2
jne 0x1400e955b
test rcx, rcx
je 0x1400e955b
mov rcx, qword [rsi + 8]
movzx edi, r15b
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400e955e
xor dil, dil
test rbx, rbx
js 0x1400e95ea
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x1400e95ea
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 + 0x60]
cmp rcx, rax
je 0x1400e95a3
lea r8, [rbp + rbp]
lea rdx, [rsp + 0x60]
call qword [sym.imp.MSVCR100.dll_memmove]
mov rax, qword [rsi + 8]
lea rcx, [rbp + rbp]
mov word [rcx + rax], r14w
mov qword [rsi + 0x10], rcx
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
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 r14, qword [rsp + 0x10060]
mov eax, r15d
jmp 0x1400e8baa
test dil, dil
je 0x1400e95fb
xor eax, eax
mov qword [rsi + 8], r13
mov qword [rsi + 0x18], rax
jmp 0x1400e9605
mov rax, qword [rsi + 8]
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rsi + 0x10], rax
call fcn.14005f7b0
mov r15d, eax
jmp 0x1400e95b5