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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x10058
call fcn.1401110b0
sub rsp, rax
mov edi, r8d
mov r12, rdx
mov rsi, rcx
test rcx, rcx
je 0x1400eb89e
call fcn.140023100
mov ebp, dword [rsp + 0x100b0]
mov r13d, dword [rsp + 0x100b8]
mov eax, 0x1f4
test ebp, ebp
mov r15d, 1
mov qword [rsp + 0x100a0], rbx
cmove ebp, eax
cmp r13d, 1
mov eax, gethostbyname
cmovl r13d, eax
cmp edi, r15d
cmovl edi, r15d
test r12, r12
je 0x1400eb985
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 0x1400eb985
movsxd rax, edi
cmp rax, qword [rsp + 0x48]
jg 0x1400eb985
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 0x1400eb985
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 0x1400eb9d8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rsi, rsi
lea rbp, [0x14012e7cc]
lea rdx, [0x14012ee14]
cmovne rdx, rbp
cmp word [rdx], 0x30
jne 0x1400eb9a7
cmp word [rdx + 2], 0
je 0x1400eb9bb
mov rax, qword [0x140169c00]
test byte [rax + 0x140], r15b
jne 0x1400ec40c
mov rcx, qword [0x1401703d0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e9bc0
jmp 0x1400ec422
xor eax, eax
mov qword [rsp + 0x10050], r14
dec edi
mov word [rsp + 0x50], ax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdi, edi
mov r14d, 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 0x1400ebada
mov eax, 0x7fff
cmp word [rsp + 0x10090], ax
ja 0x1400ebe18
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 0x1400ebada
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 0x1400ebe11
mov rdx, qword [rsp + 0x100a8]
lea rcx, [rsp + 0x50]
call fcn.1400eab60
test al, al
jne 0x1400ebb1d
test rsi, rsi
jne 0x1400ec0f7
mov rcx, r12
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400ec399
test ebp, ebp
js 0x1400ebb0d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [r14 + rbp]
sub ecx, eax
cmp ecx, 5
jle 0x1400ebe36
mov edx, r15d
mov ecx, r13d
call fcn.140001760
jmp 0x1400eba00
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400ebb4d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1401296b4]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e9bc0
jmp 0x1400ebe18
lea r14, [0x1401296b4]
cmp qword [rdi + 8], r14
jne 0x1400ebb63
mov r13, qword [rdi + 0x10]
shr r13, 1
jmp 0x1400ebb66
mov r13, r15
lea rcx, [r13 + 1]
lea r12, [rcx + rcx]
cmp al, 2
jne 0x1400ebb82
mov rdx, r13
mov rcx, r14
call fcn.140005910
jmp 0x1400ebe18
cmp r12, qword [0x140169b08]
jbe 0x1400ebbb8
cmp r12, qword [rdi + 0x18]
jbe 0x1400ebbb8
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x1400ebe18
cmp rcx, 2
jae 0x1400ebbd2
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400ebe18
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400ebbe8
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp r12, rcx
jbe 0x1400ebdd7
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, r15b
jbe 0x1400ebc20
cmp al, 2
je 0x1400ebc72
mov rbp, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400ebd78
cmp r12, 0x80
ja 0x1400ebc72
cmp r12, rbx
ja 0x1400ebc39
mov rbp, rbx
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1400ebc4c
cmp r12, 0x10
mov ebp, 0x80
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe ebp, r12d
mov rcx, rbp
call fcn.1400dc2b0
test rax, rax
je 0x1400ebe1e
and byte [rdi + 0x21], 0x7f
mov byte [rdi + 0x20], r15b
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
jmp 0x1400ebddd
cmp r12, 0x20
jae 0x1400ebc82
mov ebp, SafeArrayAllocDescriptor
jmp 0x1400ebd37
cmp r12, 0x208
jae 0x1400ebc95
mov ebp, 0x208
jmp 0x1400ebd37
cmp r12, 0x50000
jae 0x1400ebcf1
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
test r12, r12
jns 0x1400ebcb4
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmmword [0x140153038]
jbe 0x1400ebce7
subsd xmm0, qword [0x140153038]
comisd xmm0, xmmword [0x140153038]
jae 0x1400ebce7
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbp, xmm0
add rbp, rax
jmp 0x1400ebd37
cmp r12, 0x320000
jae 0x1400ebd04
lea rbp, [r12 + 0x8000]
jmp 0x1400ebd37
cmp r12, 0xc80000
jae 0x1400ebd2f
movabs rax, 0x47ae147ae147ae15
mov rbp, r12
mul r12
sub rbp, rdx
shr rbp, 1
add rbp, rdx
shr rbp, 6
add rbp, r12
jmp 0x1400ebd37
lea rbp, [r12 + 0x20000]
mov rax, qword [0x140169b08]
cmp rbp, rax
cmova rbp, rax
cmp r8b, 2
jne 0x1400ebd5f
test rcx, rcx
je 0x1400ebd5f
mov rcx, qword [rdi + 8]
movzx r12d, r15b
call fcn.140108f48
jmp 0x1400ebd62
xor r12b, r12b
test rbp, rbp
js 0x1400ebd8c
mov rcx, rbp
call fcn.1401084ac
test rax, rax
je 0x1400ebd8c
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
jmp 0x1400ebddd
lea r13, [0x140171290]
test r12b, r12b
je 0x1400ebda4
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400ebdb1
mov rax, qword [rdi + 8]
xor r14d, r14d
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rax
call fcn.1400a5580
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
jmp 0x1400ebe25
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [rdi + 8]
cmp rcx, r14
je 0x1400ebdf3
lea r8, [r13 + r13]
mov rdx, r14
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r13 + r13]
xor r14d, r14d
mov word [rcx + rax], r14w
mov qword [rdi + 0x10], rcx
lea r13, [0x140171290]
jmp 0x1400ebe28
xor eax, eax
mov word [rsp + 0x50], ax
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r13, [0x140171290]
xor r14d, r14d
test rsi, rsi
je 0x1400ec399
jmp 0x1400ec107
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400ebe66
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14012e7cc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e9bc0
jmp 0x1400ec399
lea rbp, [0x14012e7cc]
cmp qword [rdi + 8], rbp
jne 0x1400ebe7c
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400ebe7f
mov r12, r15
lea rdx, [r12 + 1]
lea rsi, [rdx + rdx]
cmp al, 2
jne 0x1400ebe9c
mov rdx, r12
mov rcx, rbp
call fcn.140005910
jmp 0x1400ec399
mov rcx, qword [0x140169b08]
cmp rsi, rcx
jbe 0x1400ebed5
cmp rsi, qword [rdi + 0x18]
jbe 0x1400ebed5
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x1400ec399
cmp rdx, 2
jae 0x1400ebeef
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400ec399
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400ebf0c
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r8
jbe 0x1400ec081
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r15b
jbe 0x1400ebf44
cmp al, 2
je 0x1400ebf7c
mov rbx, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400ec075
cmp rsi, 0x80
ja 0x1400ebf7c
cmp rsi, rbx
jbe 0x1400ebf62
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov ebx, 0x80
cmp rsi, rax
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400dc2b0
test rax, rax
je 0x1400ec399
mov byte [rdi + 0x20], r15b
jmp 0x1400ec075
cmp rsi, 0x20
jae 0x1400ebf8c
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400ec03b
cmp rsi, 0x208
jae 0x1400ebf9f
mov ebx, 0x208
jmp 0x1400ec03b
cmp rsi, 0x50000
jae 0x1400ebff7
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400ebfbe
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400ebfed
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400ebfed
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400ec03b
cmp rsi, 0x320000
jae 0x1400ec009
lea rbx, [rsi + 0x8000]
jmp 0x1400ec03b
cmp rsi, 0xc80000
jae 0x1400ec034
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x1400ec03b
lea rbx, [rsi + 0x20000]
cmp rbx, rcx
cmova rbx, rcx
cmp r9b, 2
jne 0x1400ec05c
test r8, r8
je 0x1400ec05c
mov rcx, qword [rdi + 8]
movzx esi, r15b
call fcn.140108f48
jmp 0x1400ec05f
xor sil, sil
test rbx, rbx
js 0x1400ec0af
mov rcx, rbx
call fcn.1401084ac
test rax, rax
je 0x1400ec0af
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 0x1400ec096
lea r8, [r12 + r12]
mov rdx, rbp
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor r14d, r14d
mov word [rcx + rax], r14w
mov qword [rdi + 0x10], rcx
jmp 0x1400ec399
test sil, sil
je 0x1400ec0c7
lea r13, [0x140171290]
xor eax, eax
mov qword [rdi + 8], r13
mov qword [rdi + 0x18], rax
jmp 0x1400ec0d4
mov rax, qword [rdi + 8]
xor r14d, r14d
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rax
call fcn.1400a5580
jmp 0x1400ec399
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r13, [0x140171290]
xor r14d, r14d
movzx edx, byte [rsi + 0x23]
test dl, dl
jne 0x1400ec131
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x50]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r15b
call fcn.1400e9bc0
mov r15d, eax
jmp 0x1400ec399
lea rax, [rsp + 0x50]
cmp qword [rsi + 8], rax
jne 0x1400ec145
mov rbp, qword [rsi + 0x10]
shr rbp, 1
jmp 0x1400ec15a
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 0x1400ec17c
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.140005910
mov r15d, eax
jmp 0x1400ec399
cmp rdi, qword [0x140169b08]
jbe 0x1400ec1b5
cmp rdi, qword [rsi + 0x18]
jbe 0x1400ec1b5
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r15d, eax
jmp 0x1400ec399
cmp rax, 2
jae 0x1400ec1cf
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x1400ec399
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x1400ec1e5
mov rcx, qword [rsi]
and al, 0x3d
mov byte [rsi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsi + 0x18]
and byte [rsi + 0x21], 0x82
cmp rdi, rcx
jbe 0x1400ec36a
movzx r8d, byte [rsi + 0x20]
movzx eax, r8b
cmp r8b, r15b
jbe 0x1400ec21d
cmp al, 2
je 0x1400ec256
mov rbx, qword [rsp + 0x10090]
mov rax, qword [rsp + 0x10090]
jmp 0x1400ec35e
cmp rdi, 0x80
ja 0x1400ec256
cmp rdi, rbx
jbe 0x1400ec238
mov ebx, 0x80
cmp rdi, 0x10
cmovbe rbx, r12
mov rcx, rbx
call fcn.1400dc2b0
test rax, rax
jne 0x1400ec24d
mov r15d, eax
jmp 0x1400ec399
mov byte [rsi + 0x20], r15b
jmp 0x1400ec35e
cmp rdi, 0x20
jae 0x1400ec266
mov ebx, SafeArrayAllocDescriptor
jmp 0x1400ec319
cmp rdi, 0x208
jae 0x1400ec279
mov ebx, 0x208
jmp 0x1400ec319
cmp rdi, 0x50000
jae 0x1400ec2d5
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400ec298
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmmword [0x140153038]
jbe 0x1400ec2cb
subsd xmm0, qword [0x140153038]
comisd xmm0, xmmword [0x140153038]
jae 0x1400ec2cb
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x1400ec319
cmp rdi, 0x320000
jae 0x1400ec2e7
lea rbx, [rdi + 0x8000]
jmp 0x1400ec319
cmp rdi, 0xc80000
jae 0x1400ec312
movabs rax, 0x47ae147ae147ae15
mov rbx, rdi
mul rdi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rdi
jmp 0x1400ec319
lea rbx, [rdi + 0x20000]
mov rax, qword [0x140169b08]
cmp rbx, rax
cmova rbx, rax
cmp r8b, 2
jne 0x1400ec341
test rcx, rcx
je 0x1400ec341
mov rcx, qword [rsi + 8]
movzx edi, r15b
call fcn.140108f48
jmp 0x1400ec344
xor dil, dil
test rbx, rbx
js 0x1400ec3ce
mov rcx, rbx
call fcn.1401084ac
test rax, rax
je 0x1400ec3ce
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 0x1400ec387
lea r8, [rbp + rbp]
lea rdx, [rsp + 0x50]
call fcn.140109100
mov rax, qword [rsi + 8]
lea rcx, [rbp + rbp]
mov word [rcx + rax], r14w
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 r14, qword [rsp + 0x10050]
mov eax, r15d
jmp 0x1400ec422
test dil, dil
je 0x1400ec3df
xor eax, eax
mov qword [rsi + 8], r13
mov qword [rsi + 0x18], rax
jmp 0x1400ec3e9
mov rax, qword [rsi + 8]
mov word [rax], r14w
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rsi + 0x10], rax
call fcn.1400a5580
mov r15d, eax
jmp 0x1400ec399
mov rcx, qword [0x140171980]
lea r9, [0x1401295d4]
xor r8d, r8d
call fcn.14003c960
mov rbx, qword [rsp + 0x100a0]
add rsp, 0x10058
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret