Function at 0x14000c820
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x838]
sub rsp, 0x900
mov rsi, rcx
movaps xmmword [rax - 0x48], xmm6
xor r14d, r14d
lea rcx, [rsp + 0x30]
mov edi, r14d
mov r15, r8
mov r12, rdx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14000c88f
lea rcx, [rbp + 0x840]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm6, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x30]
cvtsi2sd xmm6, qword [rbp + 0x840]
divsd xmm6, xmm0
jmp 0x14000c8a7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm6, xmm6
mov eax, eax
cvtsi2sd xmm6, rax
mulsd xmm6, qword [0x1400619a8]
xorps xmm0, xmm0
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov r8d, 0x720
lea rcx, [rbp - 0x50]
movups xmmword [rbp - 0x80], xmm0
mov r13, r14
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
call fcn.14004bf90
mov r14, 0xffffffffffffffff
test rsi, rsi
je 0x14000c962
mov rax, r14
inc rax
cmp byte [rsi + rax], dil
jne 0x14000c8f7
test rax, rax
je 0x14000c962
lea rdx, [rbp + 0x840]
mov rcx, rsi
call fcn.140007560
test eax, eax
jne 0x14000c939
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.get_oldPath_type_ERROR__n
call fcn.140002780
mov edi, 0xc
jmp 0x14000d220
mov ebx, dword [rbp + 0x840]
test ebx, ebx
jne 0x14000c967
lea ecx, [rbx + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.oldPath_not_exist_ERROR__n
call fcn.140002780
lea edi, [rbx + 0xc]
jmp 0x14000d220
mov ebx, 1
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140006b10
test eax, eax
jne 0x14000c999
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.open_diffFile_for_read_ERROR__n
call fcn.140002780
mov edi, 2
jmp 0x14000d220
mov rcx, qword [rbp + 0x880]
test rcx, rcx
je 0x14000ca5b
mov rax, qword [rsp + 0x48]
cmp rax, rcx
jae 0x14000ca1a
call fcn.1400335c8
mov edi, 0x1b
mov dword [rax], edi
mov eax, dword [rsp + 0x78]
cmp eax, edi
je 0x14000c9f7
test eax, eax
mov ecx, edi
cmove eax, edi
mov dword [rsp + 0x78], eax
call fcn.140033668
lea ecx, [rdi - 0x19]
mov rbx, rax
call fcn.1400313a0
mov rcx, rax
lea rdx, str.call_import_system_api_error__errno:__d__errmsg:__s._n
mov r9, rbx
mov r8d, edi
call fcn.140002780
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.readed_sfx_diffFile_offset_ERROR__n
call fcn.140002780
mov edi, 0xcd
jmp 0x14000d220
add qword [rsp + 0x70], rcx
sub rax, rcx
mov rcx, qword [rbp + 0x888]
mov qword [rsp + 0x48], rax
cmp rax, rcx
jae 0x14000ca56
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.readed_sfx_diffFile_size_ERROR__n
call fcn.140002780
mov edi, 0xcd
jmp 0x14000d220
mov qword [rsp + 0x48], rcx
xor r9d, r9d
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x348]
lea rcx, [rbp - 0x50]
call fcn.140002990
test eax, eax
je 0x14000d1d9
lea rax, [rsp + 0x40]
mov qword [rbp + 0x6b0], rax
lea rax, [rbp - 0x50]
cmp dword [rax], edi
je 0x14000d1d9
mov eax, dword [rax + 8]
test eax, eax
je 0x14000cac2
cmp ebx, 2
je 0x14000cac7
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str._ERROR__n
call fcn.140002780
mov edi, 0xc
jmp 0x14000d220
cmp ebx, 1
jmp 0x14000ca9d
test eax, eax
lea rdx, str.old__dir:__
lea rcx, str.old_file:__
cmovne rcx, rdx
call fcn.140007140
lea rbx, [rbp - 0x50]
test rsi, rsi
je 0x14000cb2a
mov rcx, rsi
call fcn.140007400
lea rcx, [rbp - 0x50]
mov rbx, rcx
cmp dword [rcx + 8], edi
je 0x14000cb2a
mov rax, r14
inc rax
cmp byte [rsi + rax], dil
jne 0x14000cb00
test rax, rax
je 0x14000cb15
cmp byte [rax + rsi - 1], 0x5c
je 0x14000cb2a
mov edx, 0x5c
lea rcx, [0x140060fec]
call fcn.140007140
lea rbx, [rbp - 0x50]
lea rcx, str.__ndiffFile:__
call fcn.140007140
mov rcx, r12
call fcn.140007400
cmp dword [rbx + 4], edi
lea rax, str.__nout__dir:__
lea rcx, str.__nout_file:__
cmovne rcx, rax
call fcn.140007140
mov rcx, r15
call fcn.140007400
cmp dword [rbx + 4], edi
je 0x14000cb97
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [r15 + rax], dil
jne 0x14000cb70
test rax, rax
je 0x14000cb86
cmp byte [rax + r15 - 1], 0x5c
je 0x14000cb97
mov edx, 0x5c
lea rcx, [0x140060fec]
call fcn.140007140
lea rcx, [0x140060060]
call fcn.140007140
mov rdx, qword [rsp + 0x48]
lea rcx, str._________diffDataSize:__I64u_n
call fcn.140007140
lea rdx, [rbp + 0x348]
mov rcx, rbx
call fcn.14000b810
lea rcx, [0x140060260]
call fcn.140007140
lea rax, [rbx + 0x10]
mov edx, 2
lea rcx, [rbp + 0x6d0]
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x14000cbe0
movups xmm0, xmmword [rax]
mov rax, qword [rax + 0x10]
lea rdx, [rbp - 0x80]
xor r12d, r12d
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov eax, r12d
cmp dword [rbx + 0xc], eax
lea rcx, [rbp + 0x6d0]
setne al
add dword [rbp + 0x6e0], eax
call fcn.14000b240
test eax, eax
jne 0x14000cc8f
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea r8, [rbp + 0x6e4]
lea rdx, str.can_not_decompress___s__data_ERROR__n
call fcn.140002780
lea edi, [r12 + 0xa]
jmp 0x14000d220
cmp qword [rbp - 0x78], rdi
lea rdx, [rbp - 0x80]
mov r9, r15
lea rcx, [rbp - 0x50]
cmove rdx, r12
mov r8, rsi
call fcn.140003500
test eax, eax
jne 0x14000cccf
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.load_dir_data_in_diffFile_ERROR__n
call fcn.140002780
mov edi, 0x6d
jmp 0x14000d220
mov r12, qword [rbp + 0x878]
lea rdx, [rbp - 0x50]
mov rcx, r12
call qword [r12 + 0x30]
test eax, eax
jne 0x14000cd07
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_begin_ERROR__n
call fcn.140002780
mov edi, 0x72
jmp 0x14000d220
mov r15, qword [rbp + 0x870]
mov eax, dword [r15 + 0x10]
add eax, dword [r15 + 0x14]
add eax, dword [r15 + 0xc]
add eax, dword [r15 + 8]
test eax, eax
jle 0x14000cd57
lea rsi, [rbx + 0x290]
nop dword [rax]
inc r14
cmp byte [rsi + r14], dil
jne 0x14000cd30
test r14, r14
jne 0x14000cd79
xorps xmm0, xmm0
lea rcx, str.__WARNING:_no_checksum_saved_in_diffFile_can_not_do_checksum_n
xor eax, eax
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
call fcn.140007140
xor r8d, r8d
cmp dword [rbx + 0x128], edi
je 0x14000cefb
mov r8, qword [rbx + 0x160]
lea rsi, [r8 + 0x8000]
jmp 0x14000cf00
mov qword [r15], rdi
call qword [0x140067e98]
mov r8, rax
mov rax, rsi
sub r8, rsi
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000cda3
inc rax
test ecx, ecx
jne 0x14000cd90
test edx, edx
jne 0x14000cdb0
lea rax, [0x140067e98]
jmp 0x14000ce12
call qword [0x140067ed0]
mov r8, rax
mov rax, rsi
sub r8, rsi
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000cdd3
inc rax
test ecx, ecx
jne 0x14000cdc0
test edx, edx
jne 0x14000cde0
lea rax, [0x140067ed0]
jmp 0x14000ce12
call qword [0x140067db0]
mov r8, rax
mov rax, rsi
sub r8, rsi
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000ce03
inc rax
test ecx, ecx
jne 0x14000cdf0
test edx, edx
jne 0x14000ced5
lea rax, [0x140067db0]
mov qword [r15], rax
lea r8, [0x14005e1b1]
cmp dword [r15 + 0x10], edi
lea rax, str._copy
mov rcx, r8
lea rdx, str._new
cmovne rcx, rax
mov r9, r8
cmp dword [r15 + 0xc], edi
mov rax, r8
mov qword [rsp + 0x28], rcx
lea rcx, str.hpatchz_run_with_checksum_plugin:___s___checksumSets:_s_s_s_s__n
cmovne rax, rdx
cmp dword [r15 + 8], edi
lea rdx, str._old
mov qword [rsp + 0x20], rax
cmovne r9, rdx
cmp dword [r15 + 0x14], edi
lea rdx, str._diff
cmovne r8, rdx
mov rdx, rsi
call fcn.140007140
mov rdx, r15
lea rcx, [rbp - 0x50]
call fcn.1400032b0
test eax, eax
jne 0x14000cd57
lea ecx, [rax + 2]
cmp dword [rbp + 0x3f0], edi
je 0x14000ceb7
call fcn.1400313a0
mov rcx, rax
lea rdx, str.diffFile_checksum_ERROR__n
call fcn.140002780
mov edi, 0x68
jmp 0x14000d220
call fcn.1400313a0
mov rcx, rax
lea rdx, str.diffFile_set_checksum_ERROR__n
call fcn.140002780
mov edi, 0x67
jmp 0x14000d220
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.not_found_checksumType___s__ERROR__n
mov r8, rsi
call fcn.140002780
mov edi, 0x66
jmp 0x14000d220
mov esi, 0x8000
mov r9, qword [rbx + 0x18]
lea rax, [rbp + 0x840]
mov rdx, qword [rbp + 0x860]
mov ecx, dword [rbp + 0x858]
mov qword [rsp + 0x20], rax
call fcn.14000bd30
mov r13, rax
test rax, rax
jne 0x14000cf4a
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.alloc_cache_memory_ERROR__n
call fcn.140002780
lea edi, [r13 + 8]
jmp 0x14000d220
mov rcx, qword [rbx + 0x18]
lea r8, [rsp + 0x38]
mov rbx, qword [rbp + 0x840]
add rcx, rsi
mov rdx, qword [rbp + 0x868]
cmp rbx, rcx
mov eax, 4
lea rcx, [rbp - 0x50]
cmovae rdx, rax
call fcn.140003f50
test eax, eax
jne 0x14000cf9e
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.open_oldFile_ERROR__n
call fcn.140002780
mov edi, 0x6e
jmp 0x14000d220
mov rdx, qword [rbp + 0x238]
lea r9, [rsp + 0x30]
mov rcx, qword [rbp + 0x6a0]
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x420], rax
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x428], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x430], rax
mov rax, qword [rbp + 0x380]
mov qword [rbp + 0x438], rax
mov rax, qword [rbp + 0x378]
mov qword [rbp + 0x440], rax
mov eax, dword [rbp + 0x694]
mov dword [rbp + 0x450], eax
mov eax, dword [rbp + 0x698]
mov dword [rbp + 0x454], eax
mov rax, qword [rbp + 0x688]
mov qword [rbp + 0x490], rax
lea rax, [rcx + rdx]
mov qword [rbp + 0x480], rax
lea rax, [rcx + rdx*4]
mov qword [rbp + 0x488], rax
lea rcx, [rbp + 0x3f8]
lea rax, [rbp - 0x50]
mov qword [rbp + 0x448], rdx
mov qword [rbp + 0x458], rax
mov rdx, r12
lea rax, [0x140004500]
mov qword [rbp + 0x460], rax
call fcn.140005470
test eax, eax
jne 0x14000d084
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.open_newFile_ERROR__n
call fcn.140002780
mov edi, 0x6f
jmp 0x14000d220
mov r8, qword [rsp + 0x38]
lea rax, [rbx + r13]
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x50]
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.140004540
test eax, eax
jne 0x14000d220
mov ecx, dword [rbp - 0x58]
test ecx, ecx
je 0x14000d14a
sub ecx, 1
je 0x14000d127
sub ecx, 1
je 0x14000d104
cmp ecx, 2
lea ecx, [rax + 2]
je 0x14000d0e6
call fcn.1400313a0
mov rcx, rax
lea rdx, str.decompressPlugin_decompress_ERROR__n
call fcn.140002780
mov edi, 0x17
jmp 0x14000d220
call fcn.1400313a0
mov rcx, rax
lea rdx, str.decompressPlugin_close_ERROR__n
call fcn.140002780
mov edi, 0x15
jmp 0x14000d220
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.decompressPlugin_open_ERROR__n
call fcn.140002780
mov edi, 0x14
jmp 0x14000d220
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.decompressPlugin_alloc_memory_ERROR__n
call fcn.140002780
mov edi, 0x16
jmp 0x14000d220
mov ecx, 2
cmp dword [rbp + 0x3f4], edi
je 0x14000d175
call fcn.1400313a0
mov rcx, rax
lea rdx, str.oldFile_checksum_ERROR__n
call fcn.140002780
mov edi, 0x69
jmp 0x14000d220
cmp dword [rbp + 0x594], edi
je 0x14000d19b
call fcn.1400313a0
mov rcx, rax
lea rdx, str.copyOldFile_checksum_ERROR__n
call fcn.140002780
mov edi, 0x6b
jmp 0x14000d220
cmp dword [rbp + 0x590], edi
je 0x14000d1be
call fcn.1400313a0
mov rcx, rax
lea rdx, str.newFile_checksum_ERROR__n
call fcn.140002780
mov edi, 0x6a
jmp 0x14000d220
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_run_ERROR__n
call fcn.140002780
mov edi, 0x6c
jmp 0x14000d220
mov ecx, 2
cmp dword [rsp + 0x78], edi
je 0x14000d1ff
call fcn.1400313a0
mov rcx, rax
lea rdx, str.read_diffFile_ERROR__n
call fcn.140002780
mov edi, 4
jmp 0x14000d220
call fcn.1400313a0
mov rcx, rax
lea rdx, str.is_hdiff_file__get_dir_diff_info_ERROR__n
call fcn.140002780
mov edi, 0x65
nop dword [rax + rax]
mov rbx, qword [rbp + 0x878]
xor esi, esi
mov edx, esi
test edi, edi
mov rcx, rbx
sete dl
call qword [rbx + 0x38]
test eax, eax
jne 0x14000d25b
lea ecx, [rsi + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_finish_ERROR__n
call fcn.140002780
test edi, edi
mov eax, 0x73
cmove edi, eax
lea rcx, [rbp + 0x3f8]
call fcn.140005780
test eax, eax
jne 0x14000d28c
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.newPath_close_ERROR__n
call fcn.140002780
test edi, edi
mov eax, 0x71
cmove edi, eax
lea rcx, [rbp - 0x50]
call fcn.140004430
test eax, eax
jne 0x14000d2ba
lea ecx, [rax + 2]
call fcn.1400313a0
mov rcx, rax
lea rdx, str.oldPath_close_ERROR__n
call fcn.140002780
test edi, edi
mov eax, 0x70
cmove edi, eax
lea rcx, [rbp + 0x3f8]
call fcn.140005780
lea rcx, [rbp - 0x50]
call fcn.140004430
mov rcx, qword [rbp + 0x6c0]
test rcx, rcx
je 0x14000d2e7
call fcn.1400335e8
mov qword [rbp + 0x6c0], rsi
lea rcx, [rbp + 0x3f8]
call fcn.140005780
mov rcx, qword [rbp + 0x6a0]
test rcx, rcx
je 0x14000d30b
call fcn.1400335e8
mov qword [rbp + 0x6a0], rsi
mov rcx, qword [rbp + 0x6b8]
test rcx, rcx
je 0x14000d323
call fcn.1400335e8
mov qword [rbp + 0x6b8], rsi
mov eax, dword [rbp + 0x6c8]
test eax, eax
je 0x14000d36b
mov ecx, 2
cmp eax, 0x1c
jne 0x14000d352
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_file_ERROR__n
call fcn.140002780
mov edi, 0x18
jmp 0x14000d36b
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_file_ERROR__n
call fcn.140002780
mov edi, 0x74
mov eax, dword [rbx + 0x40]
test eax, eax
je 0x14000d3b0
mov ecx, 2
cmp eax, 0x1c
jne 0x14000d397
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_file_ERROR__n
call fcn.140002780
mov edi, 0x18
jmp 0x14000d3b0
call fcn.1400313a0
mov rcx, rax
lea rdx, str.dir_patch_file_ERROR__n
call fcn.140002780
mov edi, 0x74
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14000d430
mov qword [rsp + 0x60], rsi
call fcn.14003457c
test eax, eax
je 0x14000d430
call fcn.1400335c8
mov esi, dword [rax]
mov eax, dword [rsp + 0x78]
cmp eax, esi
je 0x14000d40d
test esi, esi
je 0x14000d40d
test eax, eax
mov ecx, esi
cmove eax, esi
mov dword [rsp + 0x78], eax
call fcn.140033668
mov ecx, 2
mov rbx, rax
call fcn.1400313a0
mov rcx, rax
lea rdx, str.call_import_system_api_error__errno:__d__errmsg:__s._n
mov r9, rbx
mov r8d, esi
call fcn.140002780
mov ecx, 2
call fcn.1400313a0
mov rcx, rax
lea rdx, str.diffFile_close_ERROR__n
call fcn.140002780
test edi, edi
mov eax, 7
cmove edi, eax
test r13, r13
je 0x14000d43d
mov rcx, r13
call fcn.1400335e8
lea rcx, [rbp + 0x840]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x14000d479
lea rcx, [rbp + 0x878]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, qword [rbp + 0x878]
cvtsi2sd xmm0, qword [rbp + 0x840]
divsd xmm1, xmm0
jmp 0x14000d491
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm1, xmm1
mov ecx, eax
cvtsi2sd xmm1, rcx
mulsd xmm1, qword [0x1400619a8]
subsd xmm1, xmm6
lea rcx, str._ntime:__.3f_s_n
movq rdx, xmm1
call fcn.140007140
mov rbx, qword [rsp + 0x948]
mov eax, edi
movaps xmm6, xmmword [rsp + 0x8f0]
add rsp, 0x900
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret