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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x3d90]
mov eax, 0x3e90
call fcn.1400a5130
sub rsp, rax
mov rax, qword [0x14014dcf0]
xor rax, rsp
mov qword [rbp + 0x3d70], rax
mov edi, dword [0x14014fbc8]
mov r12, qword [rbp + 0x3df0]
mov rax, r9
mov r13, r8
mov rsi, rdx
mov qword [rsp + 0x40], rcx
imul rdi, rdx
xor ebx, ebx
mov qword [rsp + 0x38], rdx
lea r8, [rsp + 0x50]
mov rdx, rdi
xor r9d, r9d
mov rcx, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x30], ebx
mov r15d, ebx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140004b95
cmp qword [rsp + 0x50], rdi
jne 0x140004b95
movsxd rcx, dword [0x140146178]
mov qword [rsp + 0x3e88], r14
call fcn.1400a4fcc
mov r14, rax
test rax, rax
jne 0x140004782
lea eax, [rbx + 2]
mov r14, qword [rsp + 0x3e88]
mov rcx, qword [rbp + 0x3d70]
xor rcx, rsp
call fcn.1400a4e70
add rsp, 0x3e90
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [rbp + 0x3c70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualLock]
lea rcx, [rbp + 0x3b70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualLock]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x1000
call fcn.1400a4ea0
call fcn.140014fd0
test eax, eax
je 0x140004806
lea rcx, [rbp + 0xf60]
mov edx, 0x2c10
call qword [sym.imp.KERNEL32.dll_VirtualLock]
lea rcx, [rbp + 0xf60]
mov r8d, 0x2c10
mov rdx, r12
call fcn.1400a4990
mov rcx, r12
call fcn.140015280
lea rcx, [rbp + 0xf60]
mov rdx, rax
call fcn.140015290
lea r12, [rbp + 0xf60]
lea rdi, [r12 + 0x2a90]
lea rcx, [rbp + 0x3b70]
mov r8d, pe_nt_image_headers64
mov rdx, rdi
call fcn.1400a4990
cmp dword [rbp + 0x3df8], ebx
jne 0x140004995
mov ecx, dword [r12]
call fcn.1400158d0
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x3c70]
mov r8d, eax
xor r9d, r9d
call fcn.14003f870
test eax, eax
je 0x140004aba
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, pe_nt_image_headers64
mov rdx, rdi
call fcn.14003f870
test eax, eax
je 0x140004aba
mov ecx, dword [r12]
lea r8, [r12 + 0xc]
lea rdx, [rbp + 0x3c70]
call fcn.140015710
mov r15d, eax
test eax, eax
jne 0x140004aba
mov rdx, rdi
mov rcx, r12
call fcn.140015890
test eax, eax
je 0x140004ab4
call fcn.140014fd0
test eax, eax
je 0x1400048c4
mov rcx, r12
call fcn.140015280
mov rcx, r12
mov rdx, rax
call fcn.140015290
test r13, r13
je 0x14000496f
nop dword [rax]
mov edi, dword [0x14014fbc8]
movsxd rcx, ebx
lea rdx, [rsp + 0x60]
inc rsi
add rcx, r14
mov r8d, edi
dec r13
mov qword [rsp + 0x38], rsi
call fcn.1400a4990
add ebx, edi
cmp ebx, dword [0x140146178]
mov dword [rsp + 0x30], ebx
jne 0x14000492a
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x30]
mov rdx, r14
mov qword [rsp + 0x20], r12
call fcn.140004560
test eax, eax
je 0x140004aba
mov ebx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x14014fbcc]
cmp eax, 0x19
jbe 0x14000495e
mov ecx, dword [0x14014fbc8]
imul rcx, rsi
call fcn.14003da70
test eax, eax
jne 0x140004aba
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x14014fbcc], eax
test r13, r13
jne 0x1400048d0
lea rdi, [r12 + 0x2a90]
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x30]
mov rdx, r14
mov qword [rsp + 0x20], r12
call fcn.140004560
test eax, eax
je 0x140004aba
jmp 0x14000499d
mov rsi, r13
mov qword [rsp + 0x38], r13
mov ecx, dword [0x14014fbc8]
imul rcx, rsi
call fcn.14003da70
lea rdx, [rbp + 0x3b70]
mov rcx, rdi
mov r8d, pe_nt_image_headers64
call fcn.1400a4990
mov ecx, dword [r12]
lea r8, [r12 + 0xc]
lea rdx, [r12 + 0x2990]
call fcn.140015710
mov r15d, eax
test eax, eax
jne 0x140004aba
mov rdx, rdi
mov rcx, r12
call fcn.140015890
test eax, eax
je 0x140004ab4
mov r8d, pe_nt_image_headers64
lea rdi, [rbp + 0x3c70]
xor eax, eax
mov ecx, r8d
lea rdx, [rbp + 0x3c70]
rep stosb byte [rdi], al
mov byte [rdx], al
inc rdx
dec r8
jne 0x140004a10
mov r9d, pe_nt_image_headers64
lea rdi, [rbp + 0x3b70]
lea r8, [rbp + 0x3b70]
mov ecx, r9d
rep stosb byte [rdi], al
mov byte [r8], al
inc r8
dec r9
jne 0x140004a33
lea rcx, [rbp + 0x3c70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
lea rcx, [rbp + 0x3b70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
mov rcx, r14
call fcn.1400a4f8c
call fcn.140014fd0
test eax, eax
je 0x140004aad
mov r9d, 0x2c10
lea rdi, [rbp + 0xf60]
xor eax, eax
mov ecx, r9d
lea r8, [rbp + 0xf60]
rep stosb byte [rdi], al
nop
mov byte [r8], al
inc r8
dec r9
jne 0x140004a90
lea rcx, [rbp + 0xf60]
mov edx, 0x2c10
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
xor eax, eax
jmp 0x140004759
mov r15d, 0x1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, pe_nt_image_headers64
lea rdi, [rbp + 0x3c70]
mov ebx, eax
mov ecx, r8d
xor eax, eax
rep stosb byte [rdi], al
lea rdx, [rbp + 0x3c70]
nop dword [rax]
mov byte [rdx], al
inc rdx
dec r8
jne 0x140004ae0
mov r8d, pe_nt_image_headers64
lea rdi, [rbp + 0x3b70]
lea rdx, [rbp + 0x3b70]
mov ecx, r8d
rep stosb byte [rdi], al
mov byte [rdx], al
inc rdx
dec r8
jne 0x140004b03
lea rcx, [rbp + 0x3c70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
lea rcx, [rbp + 0x3b70]
mov edx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
mov rcx, r14
call fcn.1400a4f8c
call fcn.140014fd0
test eax, eax
je 0x140004b7c
mov r8d, 0x2c10
lea rdi, [rbp + 0xf60]
xor eax, eax
mov ecx, r8d
lea rdx, [rbp + 0xf60]
rep stosb byte [rdi], al
nop dword [rax]
mov byte [rdx], al
inc rdx
dec r8
jne 0x140004b60
lea rcx, [rbp + 0xf60]
mov edx, 0x2c10
call qword [sym.imp.KERNEL32.dll_VirtualUnlock]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
test r15d, r15d
cmovne eax, r15d
jmp 0x140004759
mov eax, 1
jmp 0x140004761