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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x140300040]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov dword [rsp + 0x30], r8d
mov r12, rdx
mov r14, rcx
mov qword [rbp - 0x60], rdx
xor r15d, r15d
mov dword [rsp + 0x4c], r15d
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rcx, qword [rdx]
sub rcx, 0x18
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x80], rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adad
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rbx, str.IDC_EDIT_FILE_PATHNAME
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018bb0
lea rsi, [r15 - 1]
test al, al
jne 0x14017a3e9
mov r8, rsi
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x14017a3d0
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018f50
nop
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x58]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
call fcn.140177240
lea rcx, [rax + 8]
mov rdx, r12
call fcn.140017b80
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea r9, str.RECOVERY_TEXT
mov r8, qword [r12]
lea rdx, str.TEXT_MSG_OPENING
lea rcx, [rbp - 0x68]
call fcn.140044df0
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adb8
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea r13, str.STATIC_OPEN_MESSAGE
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.140018bb0
test al, al
jne 0x14017a49c
mov r8, rsi
inc r8
cmp word [r13 + r8*2], 0
jne 0x14017a482
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.140018f50
nop
mov r8, rbx
lea rdx, [rsp + 0x60]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
mov qword [rbp - 0x50], r15
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adc3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov qword [rbp - 0x48], r15
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adce
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], r15
mov dword [rbp - 0x38], 1
mov qword [rbp - 0x2c], 1
mov dword [rbp - 0x24], r15d
mov qword [rbp - 0x20], 1
mov dword [rbp - 0x18], r15d
mov dword [rbp - 0x14], 1
movdqa xmm0, xmmword [0x1402b4470]
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [0x1402b43e0]
movdqa xmmword [rbp], xmm1
movdqa xmm0, xmmword [0x1402b4490]
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], r15
movabs rax, 0x100000000
mov qword [rbp + 0x38], rax
mov dword [rbp + 0x40], r15d
mov dword [rbp - 0x34], 1
mov dword [rbp - 0x30], 1
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
mov rax, qword [rax + 0x150]
call qword [case.0x140038ca6.0]
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
mov r8, rbx
mov rdx, qword [r12]
mov rax, qword [rax + 0x20]
call qword [case.0x140038ca6.0]
mov rcx, qword [r14 + 0x88]
mov rdx, qword [rcx]
test eax, eax
mov rax, qword [rdx + 0x120]
jne 0x14017a722
call qword [case.0x140038ca6.0]
mov edi, eax
cmp eax, 0xa0000020
jne 0x14017a62b
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_NOT_SUPPORTED_PASSWORD
call fcn.140048480
mov rdx, rax
test rax, rax
je 0x14017a61d
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14017a610
mov r15d, eax
mov r8d, r15d
lea rcx, [rbp - 0x50]
call fcn.140018f50
jmp 0x14017a655
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_CANT_OPEN
call fcn.140048480
mov rdx, rax
mov r8d, edi
lea rcx, [rbp - 0x50]
call fcn.14001c4c0
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov rdi, qword [rbp - 0x50]
lea rcx, [rdi - 0x18]
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x78], rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r8, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r8, rcx
xor r9d, r9d
lea rdx, [rbp - 0x78]
mov rcx, qword [r14 + 8]
call fcn.140061b80
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
call qword [case.0x140038ca6.0]
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017a6d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov eax, esi
lock xadd dword [rdi - 8], eax
sub eax, 1
jg 0x14017a6f9
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14017a71b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
xor eax, eax
jmp 0x14017ad7b
call qword [case.0x140038ca6.0]
cmp eax, 0xa0000017
jne 0x14017a7e0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_CANCELED
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400190e0
mov rdi, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017add9
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdx, r13
lea rcx, [rsp + 0x68]
call fcn.140018bb0
test al, al
jne 0x14017a7ca
mov r8, rsi
nop dword [rax]
inc r8
cmp word [r13 + r8*2], 0
jne 0x14017a7b0
mov rdx, r13
lea rcx, [rsp + 0x68]
call fcn.140018f50
nop
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
jmp 0x14017a85d
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
mov rax, qword [rax + 0x80]
call qword [case.0x140038ca6.0]
test eax, eax
je 0x14017a85d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_BROKEN
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400190e0
mov rdi, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r8, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r8, rcx
xor r9d, r9d
mov rdx, rdi
mov rcx, qword [r14 + 8]
call fcn.140061b80
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
mov rax, qword [rax + 0x88]
call qword [case.0x140038ca6.0]
test eax, eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
je 0x14017a96a
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017ade4
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdi, [0x140267540]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140018bb0
test al, al
jne 0x14017a8eb
mov r8, rsi
inc r8
cmp word [rdi + r8*2], 0
jne 0x14017a8d2
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140018f50
nop
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adef
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140018bb0
test al, al
jne 0x14017a94a
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [r13 + r8*2], 0
jne 0x14017a930
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140018f50
nop
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
mov eax, 1
jmp 0x14017aa01
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_NO_PASSWD
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400190e0
mov rdi, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017adfa
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x20], rax
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140018bb0
test al, al
jne 0x14017a9ea
mov r8, rsi
inc r8
cmp word [r13 + r8*2], 0
jne 0x14017a9d0
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.140018f50
nop
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
mov eax, r15d
mov r13, r14
mov dword [r14 + 0xad8], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [r14 + 0xad8], 0
je 0x14017aa23
mov rcx, r14
call fcn.14017ae20
mov rcx, r14
call fcn.14017f3f0
mov dword [rsp + 0x48], esi
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x48]
mov rcx, qword [r14 + 0x88]
call fcn.140182180
test eax, eax
je 0x14017ac57
mov qword [rbp - 0x58], r15
mov rcx, qword [r14 + 0x88]
mov rax, qword [rcx]
mov edx, dword [rsp + 0x48]
mov rax, qword [rax + 0x70]
call qword [case.0x140038ca6.0]
mov rdi, qword [rax]
mov qword [rbp - 0x58], r15
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_FILE2FINDPWD
call fcn.140048480
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017ae05
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 0x58], rax
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140018bb0
test al, al
jne 0x14017aae8
test rbx, rbx
jne 0x14017aacd
mov r8d, r15d
jmp 0x14017aadb
mov r8, rsi
inc r8
cmp word [rbx + r8*2], 0
jne 0x14017aad0
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140018f50
nop
or r15d, 1
mov dword [rsp + 0x4c], r15d
mov r8, rdi
lea rdx, str._str1
lea rcx, [rbp - 0x58]
call fcn.1400293c0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp - 0x58]
lea rcx, [rbx - 0x18]
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x78], rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017ae10
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdi, str.STATIC_PAGE2_MESSAGE
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140018bb0
test al, al
jne 0x14017ab89
mov r8, rsi
inc r8
cmp word [rdi + r8*2], 0
jne 0x14017ab70
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140018f50
nop
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
and r15d, 0xfffffffe
mov dword [rsp + 0x4c], r15d
mov eax, esi
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x14017abc9
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
cmp dword [rsp + 0x30], 0
jne 0x14017abe8
cmp dword [r13 + 0xad8], 0
je 0x14017abe8
mov edx, 1
mov rcx, r14
call fcn.14017fbc0
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017ac0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017ac32
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14017ad76
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
jmp 0x14017ad70
lea rax, [rsp + 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.RECOVERY_TEXT
lea rdx, str.TEXT_MSG_ERRORATFINDINDEX
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400190e0
mov r15, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14017ada2
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rdi, str.STATIC_PAGE2_MESSAGE
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140018bb0
test al, al
jne 0x14017acf9
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x14017ace0
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140018f50
nop
mov r8, r15
lea rdx, [rsp + 0x30]
mov rcx, qword [r14 + 0xb00]
call fcn.1400cce40
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017ad2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017ad54
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14017ad76
mov rcx, qword [rdx]
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
call qword [case.0x140038ca6.0]
mov eax, 1
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1401f74b0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
int3