Function at 0x14003b4b0
Capabilities:
Check for time delay via gettickcount
Set current directory

Disassembly:
push r13
push r14
sub rsp, 0x178
mov eax, dword [0x14011145c]
mov r14, rdx
mov r13, rcx
cmp dword [0x140116948], eax
jl 0x14003b4e0
mov eax, 4
add rsp, 0x178
pop r14
pop r13
ret
mov qword [rsp + 0x190], rbx
mov rbx, qword [0x140117318]
mov qword [rsp + 0x198], rbp
cmp byte [rbx + 0x23], 0
mov qword [rsp + 0x1a8], rsi
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], r15
movzx r15d, byte [0x140116937]
mov byte [0x140116937], 1
jne 0x14003b530
mov rbx, qword [rbx + 0x10]
test byte [rbx + 0x21], 8
je 0x14003b53e
mov rcx, rbx
call fcn.140001130
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x14003b55a
test byte [rbx + 0x21], 4
je 0x14003b554
mov rcx, rbx
call fcn.140040df0
mov rdx, qword [rbx + 8]
jmp 0x14003b5c4
cmp al, 2
jne 0x14003b5bd
mov rdx, qword [0x140118e48]
test rdx, rdx
jne 0x14003b5c4
lea ecx, [rdx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14003b596
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
lea rcx, [0x1400e1450]
lea rdx, [0x1400e14ec]
test eax, eax
cmovne rdx, rcx
jmp 0x14003b5c4
lea rcx, [0x140118e30]
xor edx, edx
call fcn.140005e80
mov ecx, 0xffffffff
lea rdx, [0x1400e14ec]
cmp rax, rcx
cmovne rdx, qword [0x140118e40]
jmp 0x14003b5c4
lea rdx, [0x140118198]
lea rcx, [rsp + 0x60]
mov r8d, 0x7f
call fcn.1400cc204
mov rbx, qword [0x140111488]
inc dword [0x140116948]
add rbx, 0x150
lea rdx, [0x140115240]
xor edi, edi
mov rcx, rbx
mov r8d, 0x150
mov word [rsp + 0x15e], di
mov qword [0x140111488], rbx
call fcn.1400c9cf0
lea rcx, [0x1401181e0]
xor edx, edx
mov dword [rbx + 0x3c], edi
call fcn.14001f2a0
cmp dword [0x140116994], edi
mov qword [0x140118d98], rdi
je 0x14003b651
mov rax, qword [0x140112e30]
lea rcx, [0x1400e14ec]
test rax, rax
je 0x14003b64b
mov rax, qword [rax]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp byte [rbx + 0x12e], dil
jne 0x14003b66f
mov byte [rbx + 0x12e], 1
mov qword [rbx], 0xffffffffffffffff
mov dword [rbx + 0x34], 0xffffffff
cmp dword [0x140118da4], edi
je 0x14003b67f
cmp dword [0x140118da0], edi
jne 0x14003b688
cmp byte [rbx + 0x12e], dil
je 0x14003b6c4
mov byte [rbx + 0x12c], dil
cmp byte [rbx + 0x12e], dil
jne 0x14003b6c4
cmp dword [0x140118da4], edi
jge 0x14003b6ac
mov dword [rbx + 0x120], 0xffffffff
jmp 0x14003b6c4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x11c], eax
mov eax, dword [0x140118da4]
mov dword [rbx + 0x120], eax
mov rdi, qword [0x140118cb0]
mov esi, dword [0x140118d54]
mov rbp, qword [0x140118cb8]
mov r12d, dword [0x140118d58]
mov qword [0x140118cb8], rdi
mov qword [0x140118cb0], r14
mov dword [0x140118d58], esi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140118dac], eax
mov dword [0x140118da8], eax
mov dword [0x140118d54], eax
cmp byte [r13], 5
mov rcx, qword [r13 + 0x18]
jne 0x14003b71f
call fcn.14003b420
mov ebx, eax
jmp 0x14003b76d
xor eax, eax
lea r9, [rsp + 0x40]
lea r8, [0x1400e14e0]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x28], rax
mov rdx, rcx
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x20], 1
call fcn.1400a1ed0
mov ebx, eax
test eax, eax
je 0x14003b76d
mov rax, qword [rsp + 0x1a0]
neg rax
sbb ebx, ebx
add ebx, 4
mov rax, qword [0x140111488]
mov rcx, qword [rax + 0xf8]
mov qword [0x140118cb0], rdi
mov dword [0x140118d54], esi
mov qword [0x140116970], rcx
lea rcx, [rsp + 0x60]
mov qword [0x140118cb8], rbp
mov dword [0x140118d58], r12d
call fcn.140004aa0
mov r12, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x1a8]
mov rbp, qword [rsp + 0x198]
mov byte [0x140116937], r15b
mov r15, qword [rsp + 0x160]
mov eax, ebx
mov rbx, qword [rsp + 0x190]
add rsp, 0x178
pop r14
pop r13
ret