Function at 0x14001bef4
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x398]
sub rsp, 0x468
mov rsi, rdx
xor ecx, ecx
call fcn.14005b2c0
mov edi, 0x800
mov ecx, edi
call fcn.14005b280
mov r15, rax
test rax, rax
jne 0x14001bf48
xor ecx, ecx
call fcn.14005b2c0
jmp 0x14001bfad
mov rdx, rdi
mov rcx, r15
call fcn.140022228
xor r13d, r13d
mov ebx, r13d
mov r14d, r13d
mov rdi, r13
lea r12, [r15 + r14]
mov r13d, 1
lea rcx, [r12 + rdi]
mov rdx, rdi
call fcn.14005b630
rol ebx, 0xb
add ebx, eax
add rdi, r13
cmp rdi, 0x40
jb 0x14001bf69
add r14, 0x3f
cmp r14, 0x780
mov r13d, 0
jb 0x14001bf5c
mov rcx, r15
call fcn.14005b2c0
cmp ebx, 0x28462c7c
mov r13, qword [rbp + 0x3b8]
je 0x14001bfb7
mov eax, 0x80004005
jmp 0x14001e60f
movabs rax, 0x100000000
mov qword [rbp + 0xe8], rax
mov edi, 1
mov qword [rbp + 0x120], rdi
mov qword [rbp + 0x128], rdi
lea rcx, [rbp + 0x120]
call fcn.14000c8f0
xor ebx, ebx
test eax, eax
je 0x14001c00b
mov rcx, qword [rbp + 0x120]
call fcn.14000c8d8
test eax, eax
je 0x14001c00b
mov rcx, qword [rbp + 0x120]
call fcn.14000c8d8
jmp 0x14001c010
call fcn.14000c920
mov r15d, eax
mov dword [rbp - 0x30], eax
lea rcx, [rbp + 0xe8]
call fcn.14000c96c
mov byte [rbp - 0x53], al
mov dword [rbp - 0x58], r15d
mov cl, bl
mov dword [rbp - 0x70], ecx
mov dword [rbp - 0x10], 0xfa0
mov dword [rbp - 0x40], 0x16
mov byte [rbp - 0x7d], bl
mov r12, rbx
mov qword [rbp - 8], rbx
mov byte [rbp - 0x54], bl
movabs rax, 0x400000000
mov qword [rbp - 0x20], rax
mov dword [rbp + 0x40], edi
mov qword [rbp + 0xf0], rbx
mov dword [rbp + 0xf8], edi
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x50], rbx
lea rcx, [rbp + 0x58]
call fcn.140002634
nop
lea rcx, [rbp + 0x68]
call fcn.1400029b0
nop
mov qword [rbp], rbx
mov r14, rbx
mov qword [rbp + 8], rbx
mov byte [rbp - 0x80], bl
mov byte [rbp - 0x7f], bl
test rsi, rsi
je 0x14001c152
mov eax, dword [r13 + 8]
test eax, eax
je 0x14001c143
xor r12d, r12d
lea r15d, [r12 + 1]
mov ecx, ebx
mov rax, qword [r13]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rsi]
lea rdx, [0x14007252c]
mov rcx, rsi
call qword [rax]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.14000492c
nop
mov rax, qword [rsi]
mov rdx, qword [rbp - 0x68]
mov rcx, rsi
call qword [rax]
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
cmp dword [rdi + 0x18], r12d
je 0x14001c12c
mov rax, qword [rsi]
lea rdx, [0x140072530]
mov rcx, rsi
call qword [rax]
lea rdx, [rdi + 0x10]
xor r8d, r8d
lea rcx, [rbp - 0x50]
call fcn.14000492c
nop
mov rax, qword [rsi]
mov rdx, qword [rbp - 0x50]
mov rcx, rsi
call qword [rax]
nop
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
add ebx, r15d
mov eax, dword [r13 + 8]
cmp ebx, eax
jb 0x14001c0b1
mov r15d, dword [rbp - 0x30]
mov r12, qword [rbp - 8]
xor ebx, ebx
test eax, eax
je 0x14001c152
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov edi, ebx
cmp dword [r13 + 8], ebx
jbe 0x14001c6fe
mov ecx, edi
mov rax, qword [r13]
mov rbx, qword [rax + rcx*8]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140002810
nop
mov rcx, qword [rbp - 0x50]
call fcn.140003bc0
lea rdx, str.file
mov rcx, qword [rbp - 0x50]
call fcn.140004518
xor ecx, ecx
test al, al
je 0x14001c292
cmp dword [rbx + 0x18], ecx
je 0x14001c6da
or qword [rbp + 0x90], 0xffffffffffffffff
mov byte [rbp + 0x98], cl
mov rdx, qword [rbx + 0x10]
lea rcx, [rbp + 0x90]
call fcn.140009538
test al, al
je 0x14001c6c5
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x90]
call fcn.140009474
test al, al
je 0x14001c6c5
test rsi, rsi
je 0x14001c20b
mov rax, qword [rsi]
lea rdx, str.file_size_
mov rcx, rsi
call qword [rax]
xor r8d, r8d
mov rdx, qword [rbp - 0x18]
mov rcx, rsi
call fcn.140021ca0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbp]
test rax, rax
je 0x14001c21d
cmp rbx, r14
je 0x14001c241
mov rcx, rax
call fcn.14005b210
xor eax, eax
mov r14d, eax
mov rcx, rbx
call fcn.14005b1f0
mov qword [rbp], rax
test rax, rax
cmovne r14, rbx
mov qword [rbp + 8], r14
test rbx, rbx
je 0x14001c24f
test rax, rax
je 0x14001c6b7
mov byte [rbp - 0x80], 1
lea r9, [rbp + 0x80]
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140009698
test al, al
je 0x14001c6c5
cmp qword [rbp + 0x80], rbx
jne 0x14001c6be
lea rcx, [rbp + 0x90]
call fcn.1400091f8
jmp 0x14001c69b
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rcx
cmp dword [rbx + 0x18], ecx
je 0x14001c2e9
lea rdx, [rbp + 0x78]
mov rcx, qword [rbx + 0x10]
call fcn.140004ac4
mov rcx, qword [rbp + 0x78]
xor edx, edx
cmp word [rcx], dx
jne 0x14001c2dc
cmp dword [rbx + 0x18], edx
je 0x14001c2dc
mov ecx, 0xffffffff
cmp rax, rcx
lea rcx, [rbp + 0x10]
ja 0x14001c2d2
mov edx, eax
call fcn.14000b598
jmp 0x14001c2e9
mov rdx, rax
call fcn.14000b640
jmp 0x14001c2e9
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14000b530
lea rdx, str.time
mov rcx, qword [rbp - 0x50]
call fcn.140004518
xor ebx, ebx
test al, al
je 0x14001c347
lea rcx, [rbp + 0x110]
call fcn.1400029b0
nop
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0x110]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
lea ecx, [rbx + 1]
mov dword [rbp - 0x70], ecx
imul eax, dword [rbp - 0x10], 0x3e8
mov dword [rbp - 0x10], eax
jmp 0x14001c691
lea rdx, str.timems
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c399
lea rcx, [rbp + 0xc0]
call fcn.1400029b0
nop
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0xc0]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
lea ecx, [rbx + 1]
mov dword [rbp - 0x70], ecx
jmp 0x14001c691
lea rdx, [0x14007255c]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c3fb
lea rcx, [rbp + 0x288]
call fcn.1400029b0
nop
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0x288]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
mov ecx, dword [rbp - 0x38]
cmp ecx, 0x40
jae 0x14001c6e1
lea eax, [rbx + 1]
shl rax, cl
mov qword [rbp - 0x20], rax
jmp 0x14001c691
lea rdx, [0x140072560]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c41e
mov r14d, 1
mov byte [rbp - 0x7f], r14b
jmp 0x14001c656
lea rdx, [0x140072564]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
jne 0x14001c650
lea rdx, [0x140072568]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c482
lea rcx, [rbp + 0x2b8]
call fcn.1400029b0
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0x2b8]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
jmp 0x14001c691
lea rdx, [0x14007256c]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c50b
lea rcx, [rbp + 0x298]
call fcn.1400029b0
nop
lea r8, [rbp - 0x3c]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0x298]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
mov eax, dword [rbp - 0x3c]
xor ebx, ebx
test eax, eax
je 0x14001c4f3
cmp eax, r15d
jae 0x14001c4f3
lea r8d, [rbx + 2]
mov edx, r15d
lea rcx, [rbp + 0xf0]
call fcn.140022600
mov eax, dword [rbp - 0x3c]
mov dword [rbp + 0xf0], eax
lea rcx, [rbp + 0x10]
call fcn.14000b45c
nop
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
jmp 0x14001c6a6
lea rdx, [0x140072570]
mov rcx, qword [rbp - 0x50]
call fcn.140004518
test al, al
je 0x14001c59d
mov dword [rbp - 0x78], ebx
lea rcx, [rbp + 0x2a8]
call fcn.1400029b0
nop
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0x2a8]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
mov eax, dword [rbp - 0x78]
xor ebx, ebx
test eax, eax
je 0x14001c6e1
imul r12, rax, 0xf4240
mov qword [rbp - 8], r12
test rsi, rsi
je 0x14001c4f3
mov rax, qword [rsi]
lea rdx, str.freq
mov rcx, rsi
call qword [rax]
mov edx, dword [rbp - 0x78]
xor r8d, r8d
mov rcx, rsi
call fcn.140021ca0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp 0x14001c4f3
lea rdx, [0x140070f68]
lea rcx, [rbp - 0x50]
call fcn.140003900
test al, al
je 0x14001c638
mov rdx, qword [rbp - 0x50]
add rdx, 4
lea rcx, [rbp - 0x68]
call fcn.140002958
nop
lea rdx, [0x140070900]
mov rcx, qword [rbp - 0x68]
call fcn.140004518
test al, al
jne 0x14001c626
cmp dword [rbp - 0x60], ebx
jne 0x14001c5ff
mov eax, 8
cmp word [rbp + 0x10], ax
jne 0x14001c5ff
lea rdx, [0x140070900]
mov rcx, qword [rbp + 0x18]
call fcn.140004518
test al, al
jne 0x14001c626
mov byte [rbp - 0x7e], bl
mov dword [rbp - 0x58], r15d
lea r9, [rbp - 0x7e]
lea r8, [rbp - 0x58]
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x68]
call fcn.14001080c
mov ebx, eax
mov rcx, qword [rbp - 0x68]
jmp 0x14001c470
mov byte [rbp - 0x54], 1
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
jmp 0x14001c4f3
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x48]
call fcn.140010688
mov ebx, eax
jmp 0x14001c475
mov r14d, 1
lea rcx, [rbp + 0xd0]
call fcn.1400029b0
nop
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140010c94
mov ebx, eax
mov rcx, qword [rbp + 0xd0]
call fcn.14005bd4c
test ebx, ebx
jne 0x14001c6e6
lea eax, [rbx + 0x20]
cmp dword [rbp - 0x40], eax
ja 0x14001c6e1
mov byte [rbp - 0x7d], r14b
lea rcx, [rbp + 0x10]
call fcn.14000b45c
nop
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
xor ebx, ebx
inc edi
cmp edi, dword [r13 + 8]
jae 0x14001c6fe
mov r14, qword [rbp + 8]
jmp 0x14001c15e
mov ebx, 0x8007000e
jmp 0x14001c6cc
mov ebx, 0x80004005
jmp 0x14001c6cc
call fcn.140009448
mov ebx, eax
lea rcx, [rbp + 0x90]
call fcn.1400091f8
jmp 0x14001c6f0
mov ebx, 0x80070057
jmp 0x14001c6f0
mov ebx, 0x80070057
lea rcx, [rbp + 0x10]
call fcn.14000b45c
nop
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
jmp 0x14001e5e8
mov r14, qword [rbp + 0x3d0]
test rsi, rsi
je 0x14001c784
lea rcx, [rbp - 0x68]
call fcn.140002634
nop
lea rdx, str.Compiler:
lea rcx, [rbp - 0x68]
call fcn.140002de4
lea rcx, [rbp - 0x68]
call fcn.14000cdb0
mov rax, qword [rsi]
mov rdx, qword [rbp - 0x68]
mov rcx, rsi
call qword [rax]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov dword [rbp - 0x60], ebx
mov rax, qword [rbp - 0x68]
mov byte [rax], bl
lea rcx, [rbp - 0x68]
call fcn.14000d0ac
mov rax, qword [rsi]
mov rdx, qword [rbp - 0x68]
mov rcx, rsi
call qword [rax]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
mov rax, qword [rsi]
lea rdx, str.1T_CPU_Freq__MHz_:
mov rcx, rsi
call qword [rax]
jmp 0x14001c78d
test r14, r14
je 0x14001cc4c
mov edi, 0x40
test r12, r12
je 0x14001c7b0
lea ebx, [rdi - 0x3f]
imul rax, rdi, 0xf4240
cmp r12, rax
jae 0x14001c7ae
shr rdi, 1
cmp rdi, rbx
ja 0x14001c79a
xor ebx, ebx
mov dword [rbp - 0x78], ebx
test rsi, rsi
je 0x14001c7cb
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + InitCommonControls]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14001c7e5
mov r15, qword [rbp + 0x80]
jmp 0x14001c7ee
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
imul r13, rdi, 0xf4240
mov rdx, r13
shr rdx, 7
mov r8d, dword [0x14008b618]
mov ecx, r15d
call fcn.140023000
cmp eax, 0xf1541213
jne 0x14001c826
test rsi, rsi
je 0x14001c826
mov rax, qword [rsi]
lea rdx, [0x140070f30]
mov rcx, rsi
call qword [rax]
lea rcx, [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14001c83a
mov rbx, qword [rbp + 0x78]
jmp 0x14001c842
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub rbx, r15
jne 0x14001c84d
lea r12d, [rbx + 1]
jmp 0x14001c866
mov r12, rbx
movabs rax, 0x2000000000000000
cmp rbx, rax
mov eax, 1
cmova r12, rax
lea rcx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r15d, 0x3e8
test eax, eax
cmovne r15, qword [rbp + 0x110]
mov r8, r12
mov rdx, r15
mov rcx, r13
call fcn.140021af0
mov rcx, rax
mov qword [rbp - 0x18], rax
mov rax, r15
imul rax, rdi
xor edx, edx
div r12
mov r13, rax
test rsi, rsi
je 0x14001c8d5
mov rcx, rsi
test rbx, rbx
jne 0x14001c8c3
mov r8, qword [rsi]
lea rdx, [0x1400725a4]
call qword [r8]
jmp 0x14001c8d1
mov r8d, 5
mov rdx, r13
call fcn.140021ca0
mov rcx, qword [rbp - 0x18]
xor ebx, ebx
test r14, r14
je 0x14001c8fc
mov rax, qword [r14]
mov r9d, 0x10000
mov r8, rcx
lea edx, [rbx + 1]
mov rcx, r14
call qword [rax]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
xor ebx, ebx
mov r9d, dword [rbp - 0x78]
mov r10d, 1
cmp r9d, r10d
jl 0x14001c9c9
cmp rdi, 0x800
setae r8b
shl r15, 4
cmp r12, r15
jb 0x14001c954
mov rax, qword [rsi]
lea rdx, str.__Cmplx_
mov rcx, rsi
call qword [rax]
mov r15d, dword [rbp - 0x70]
movzx r15d, r15b
test r14, r14
mov r10d, 1
cmove r15d, r10d
mov dword [rbp - 0x70], r15d
mov r8b, r10b
mov r9d, dword [rbp - 0x78]
jmp 0x14001c958
mov r15d, dword [rbp - 0x70]
test r15b, r15b
je 0x14001c9c1
imul rax, r13, 0xf4240
movabs rcx, 0x400000000
mov qword [rbp - 0x20], rcx
mov ecx, 0x3d0900
cmp rax, rcx
jae 0x14001c980
mov eax, ecx
jmp 0x14001c98f
movabs rcx, 0x4a817c800
cmp rax, rcx
jae 0x14001c9c1
mov ecx, dword [rbp - 0x10]
test ecx, ecx
je 0x14001c9b6
imul rcx, rax
movabs rax, 0x624dd2f1a9fbe77
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
jmp 0x14001c9bd
mov rcx, rax
shr rcx, 2
mov qword [rbp - 0x20], rcx
test r8b, r8b
jne 0x14001c9d5
add rdi, rdi
add r9d, r10d
mov dword [rbp - 0x78], r9d
jmp 0x14001c7b3
test r14, r14
je 0x14001c9f2
mov rax, qword [r14]
mov edx, r10d
mov rcx, r14
call qword [rax + VariantCopy]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
xor ebx, ebx
test rsi, rsi
jne 0x14001ca00
test r14, r14
je 0x14001cc4c
mov r12d, ebx
mov r13, qword [rbp - 8]
mov r15d, dword [rbp - 0x30]
cmp dword [rbp - 0x58], 2
jb 0x14001cbcf
cmp r12d, 2
jne 0x14001ca25
cmp dword [rbp - 0x58], r15d
jbe 0x14001cbcf
test rsi, rsi
je 0x14001ca33
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov edi, dword [rbp - 0x58]
mov eax, edi
cmp r12d, 2
jae 0x14001ca4c
cmp eax, r15d
cmovae edi, r15d
test r12d, r12d
jne 0x14001ca4c
shr edi, 1
mov ecx, 1
cmp edi, ecx
cmovb edi, ecx
test rsi, rsi
je 0x14001ca8c
mov ecx, edi
lea rdx, [rbp + 0x2d0]
call fcn.140001c0c
mov rax, qword [rsi]
lea rdx, [rbp + 0x2d0]
mov rcx, rsi
call qword [rax]
mov rax, qword [rsi]
lea rdx, str.T_CPU_Freq__MHz_:
mov rcx, rsi
call qword [rax]
mov ecx, 1
mov r15d, 0x400
test r13, r13
je 0x14001caab
imul rax, r15, 0xf4240
cmp r13, rax
jae 0x14001caab
shr r15, 1
cmp r15, rcx
ja 0x14001ca97
test rsi, rsi
je 0x14001cac3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + InitCommonControls]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
imul rax, r15, 0xf4240
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x98], edi
mov eax, 1
mov byte [rbp + 0x9c], al
mov qword [rbp + 0xa0], rax
lea r8, [rbp + 0xf0]
xor edx, edx
lea rcx, [rbp + 0x90]
call fcn.14001fcd8
mov ebx, eax
test eax, eax
jne 0x14001e5e8
test r14, r14
je 0x14001cb2f
mov rax, qword [r14]
mov r9, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xa8]
mov edx, edi
mov rcx, r14
call qword [rax]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
test rsi, rsi
je 0x14001cb93
imul rdx, qword [rbp + 0xb0], 0x64
add rdx, 0x8000
shr rdx, 0x10
mov r8d, 3
mov rcx, rsi
call fcn.140021ca0
mov rax, qword [rsi]
lea rdx, [0x1400725cc]
mov rcx, rsi
call qword [rax]
movabs rax, 0x431bde82d7b634db
mul qword [rbp + 0xa8]
shr rdx, 0x12
xor r8d, r8d
mov rcx, rsi
call fcn.140021ca0
mov rax, qword [rsi]
lea rdx, [0x1400725d0]
mov rcx, rsi
call qword [rax]
cmp r15, 0x800
jae 0x14001cba4
add r15, r15
jmp 0x14001caab
test r14, r14
je 0x14001cbbe
mov rax, qword [r14]
mov edx, edi
mov rcx, r14
call qword [rax + VariantCopy]
mov ebx, eax
test eax, eax
jne 0x14001e5e8
inc r12d
cmp r12d, 3
jb 0x14001ca07
mov r15d, dword [rbp - 0x30]
xor r14d, r14d
test rsi, rsi
je 0x14001cc4f
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov dword [rsp + 0x28], r15d
lea rax, str.CPU_hardware_threads:
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0xe8]
mov r8b, byte [rbp - 0x53]
lea rdx, str.size:
mov rcx, rsi
call fcn.140021d28
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0xd0]
call fcn.140020c04
nop
mov r8, qword [rsi]
mov rdx, qword [rax]
mov rcx, rsi
call qword [r8]
nop
mov rcx, qword [rbp + 0xd0]
call fcn.14005bd4c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp 0x14001cc4f
xor r14d, r14d
mov eax, dword [rbp - 0x58]
dec eax
cmp eax, 0xfff
ja 0x14001e5e3
mov ecx, dword [rbp - 0x40]
mov r13d, 1
mov r15d, r13d
shl r15, cl
mov qword [rbp + 0xc0], r15
lea ebx, [r13 + 0x12]
cmp byte [rbp - 0x7f], r14b
jne 0x14001ccbc
mov r15, r14
mov qword [rbp + 0xc0], r14
mov edx, r13d
lea rcx, [rbp + 0x48]
call fcn.140010460
test eax, eax
js 0x14001cdae
mov ecx, eax
mov rax, qword [rbp + 0x48]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], bx
jne 0x14001cd9e
mov r15d, dword [rdx + 0x10]
mov qword [rbp + 0xc0], r15
mov dil, r13b
mov byte [rbp - 0x7e], dil
lea rcx, [rbp + 0x48]
call fcn.1400104d0
mov dword [rbp - 0x3c], eax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x278]
call fcn.1400025b4
nop
cmp dword [rbp + 0x60], r14d
jne 0x14001ccf6
lea rdx, str.LZMA
lea rcx, [rbp + 0x58]
call fcn.140002a58
mov rbx, qword [rbp + 0x3b0]
test rbx, rbx
je 0x14001cdd0
mov qword [rbp + 0xdc], 4
mov dword [rbp + 0xd4], 0x4b0
mov dword [rbp + 0xd8], 0xbe
mov byte [rbp + 0xd0], r13b
lea rcx, [rbp + 0x48]
call fcn.140010514
cmp byte [rbp - 0x80], 0
je 0x14001cdb6
mov rcx, qword [rbp + 8]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x20
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp - 0x58]
mov r8b, r13b
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x3a0]
call fcn.140020f7c
mov ebx, eax
jmp 0x14001e5d7
cmp word [rdx + 8], 0x15
jne 0x14001cdae
mov r15, qword [rdx + 0x10]
jmp 0x14001ccb5
mov dil, r14b
jmp 0x14001ccbf
lea rcx, [rax + 0x10000]
cmp rcx, rax
jae 0x14001cd3f
mov ebx, 0x80070057
jmp 0x14001e5d7
lea rdx, [0x140072600]
mov rcx, qword [rbp + 0x58]
call fcn.140004444
test al, al
je 0x14001cdf4
lea rdx, str.crc32
lea rcx, [rbp + 0x58]
call fcn.140002a58
lea r8, [rbp + 0x270]
lea rdx, [rbp + 0x58]
mov rbx, qword [rbp + 0x3a0]
mov rcx, rbx
call fcn.14000e77c
movzx r12d, al
mov byte [rbp - 0x7f], r12b
or eax, 0xffffffff
mov byte [rbp - 0x74], r14b
test r12b, r12b
jne 0x14001ce5d
lea rax, [rbp - 0x74]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x270]
mov r8b, r13b
lea rdx, [rbp + 0x278]
mov rcx, rbx
call fcn.14000e828
cmp byte [rbp - 0x74], r14b
mov rbx, 0xffffffffffffffff
cmove eax, ebx
jmp 0x14001ce61
or rbx, 0xffffffffffffffff
lea rcx, [0x1400724e8]
mov qword [rbp + 0x160], rcx
mov word [rbp + 0x168], 1
mov byte [rbp + 0x16a], r14b
mov dword [rbp + 0x16c], r14d
mov dword [rbp + 0x170], r13d
mov dword [rbp + 0x174], r13d
mov qword [rbp + 0x178], r14
mov byte [rbp + 0x190], r14b
mov dword [rbp + 0x1a0], r14d
mov ecx, 2
lea rdx, [rbp + 0x228]
mov qword [rdx], r14
lea rdx, [rdx + 0x38]
sub rcx, r13
jne 0x14001ceb5
mov qword [rbp + 0x1a8], r14
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x1b8], r14
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x1c8], r14
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], r14
mov qword [rbp + 0x1e0], r14
mov qword [rbp + 0x1e8], r14
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x188], rsi
test r12b, r12b
jne 0x14001db9b
cmp eax, ebx
jne 0x14001db9b
mov bl, r14b
mov byte [rbp - 0x7f], bl
lea rdx, str.hash
mov rcx, qword [rbp + 0x58]
call fcn.140004444
test al, al
je 0x14001cf56
mov bl, r13b
mov byte [rbp - 0x7f], bl
lea rdx, [0x140070900]
lea rcx, [rbp + 0x58]
call fcn.140002a58
mov r14b, r13b
xor edx, edx
jmp 0x14001cf6d
mov dl, 0x2a
mov rcx, qword [rbp + 0x58]
call fcn.140003414
movzx r14d, r14b
xor edx, edx
test eax, eax
cmovns r14d, r13d
mov dword [rbp - 0x78], r14d
mov eax, edx
mov dword [rbp - 0x38], edx
mov r8d, 1
lea r13, str.Benchmark_threads:
mov ecx, 0x18
mov r12d, dword [rbp - 0x58]
mov dword [rbp - 0x70], r12d
cmp byte [rbp - 0x54], dl
jne 0x14001cfa0
test eax, eax
je 0x14001cfee
mov ebx, edx
jmp 0x14001e5d7
mov r12d, r8d
mov dword [rbp - 0x70], r8d
test eax, eax
je 0x14001cfee
mov ecx, dword [rbp - 0x30]
cmp ecx, 2
jb 0x14001cf99
mov r12d, ecx
mov dword [rbp - 0x70], ecx
cmp eax, r8d
jne 0x14001cfc8
cmp ecx, 4
jb 0x14001cfd1
shr r12d, 1
jmp 0x14001cfcd
cmp ecx, 4
jb 0x14001cf99
mov dword [rbp - 0x70], r12d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov ecx, 0x18
xor edx, edx
lea r8d, [rcx - 0x17]
test dil, dil
jne 0x14001d128
test bl, bl
jne 0x14001d137
movzx edi, r14b
xor edi, r8d
add edi, ecx
mov dword [rbp - 0x28], edi
mov ebx, edi
cmp byte [rbp - 0x53], dl
je 0x14001d066
mov r15d, dword [rbp - 0x3c]
mov esi, 0x12
mov edi, 0xffffffff
lea r13d, [rsi - 0x11]
mov ecx, ebx
mov r8, r13
shl r8, cl
mov r9b, r14b
mov edx, r15d
mov ecx, r12d
call fcn.140020abc
add rax, 0x800000
cmp rax, qword [rbp + 0xe8]
jbe 0x14001d04f
add ebx, edi
cmp ebx, esi
ja 0x14001d024
mov rsi, qword [rbp + 0x3a8]
mov edi, dword [rbp - 0x28]
lea r13, str.Benchmark_threads:
mov r8d, 1
mov ecx, ebx
mov r15, r8
shl r15, cl
mov qword [rbp + 0xc0], r15
test r14b, r14b
je 0x14001d0a6
cmp ebx, edi
je 0x14001d0a6
mov rax, qword [rsi]
lea rdx, str.Dictionary_reduced_to:
mov rcx, rsi
call qword [rax]
mov edx, ebx
mov r8d, 1
mov rcx, rsi
call fcn.140021ca0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r9b, r14b
mov r8, r15
mov edx, dword [rbp - 0x3c]
mov ecx, r12d
call fcn.140020abc
mov r9, rax
mov r15, qword [rbp - 0x20]
mov qword [rbp - 0x20], r15
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r13
mov ebx, 1
mov r8b, bl
lea rdx, str.usage:
mov rcx, rsi
call fcn.140021d28
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
xor r12d, r12d
mov qword [rbp - 0x18], r12
test r14b, r14b
je 0x14001d151
mov dword [rbp + 0x16c], InitCommonControls
mov dil, r12b
mov byte [rbp - 0x7d], r12b
mov byte [rbp + 0x169], r12b
mov byte [rbp - 0x7c], bl
mov dword [rbp - 0x28], 0x2a
jmp 0x14001d1b9
mov qword [rbp + 0xc0], r15
test bl, bl
je 0x14001d0a6
lea r9, [r15 + 0x8000]
mov eax, r12d
imul r9, rax
add r9, 0x200000
jmp 0x14001d0ba
mov dword [rbp + 0x16c], 4
mov dil, bl
mov byte [rbp - 0x7d], bl
mov byte [rbp + 0x169], bl
mov byte [rbp - 0x7c], r12b
mov ebx, 0x1e
mov dword [rbp - 0x28], ebx
lea edx, [rbx + 2]
lea r8d, [rbx - 0x1a]
mov rcx, rsi
call fcn.140021c04
mov r8d, ebx
lea rdx, [0x140072660]
mov rcx, rsi
call fcn.140022018
mov rax, qword [rsi]
lea rdx, str.__
mov rcx, rsi
call qword [rax]
mov r8d, ebx
lea rdx, [0x140072670]
mov rcx, rsi
call fcn.140022018
mov qword [rbp - 0x20], r15
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
lea rax, [0x140072680]
lea rdx, str.Dict
test r14b, r14b
cmovne rdx, rax
mov r8d, dword [rbp + 0x16c]
mov rcx, rsi
call fcn.140021c4c
mov ebx, r12d
mov r15b, byte [rbp - 0x7c]
mov r12d, 6
xor r13d, r13d
mov r8d, 0xa
lea rdx, [0x140072690]
mov rcx, rsi
call fcn.140022018
mov r8d, r12d
lea rdx, str.Usage
mov rcx, rsi
call fcn.140022018
mov r8d, 7
lea rdx, [0x140072698]
mov rcx, rsi
call fcn.140022018
mov r8d, 7
lea rdx, [0x14007269c]
mov rcx, rsi
call fcn.140022018
test r15b, r15b
je 0x14001d270
mov r8d, r12d
lea rdx, [0x1400726a4]
mov rcx, rsi
call fcn.140022018
mov r8d, r12d
lea rdx, str.Effec
mov rcx, rsi
call fcn.140022018
test dil, dil
je 0x14001d29a
test ebx, ebx
jne 0x14001d28f
mov rax, qword [rsi]
lea rdx, str.__
mov rcx, rsi
call qword [rax]
inc ebx
jmp 0x14001d1f6
inc ebx
cmp ebx, 2
jl 0x14001d1f6
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, dword [rbp + 0x16c]
mov edx, 0x20
mov rcx, rsi
call fcn.140021c04
mov ebx, r13d
mov r14b, r15b
mov r15d, r12d
mov r13d, 1
mov r8d, 0xa
lea rdx, str.KiB_s
mov rcx, rsi
call fcn.140022018
mov r8d, r15d
lea rdx, [0x1400725cc]
mov rcx, rsi
call fcn.140022018
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.140022018
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.140022018
test r14b, r14b
je 0x14001d340
mov r8d, r15d
lea rdx, [0x1400725cc]
mov rcx, rsi
call fcn.140022018
mov r8d, r15d
lea rdx, [0x1400725cc]
mov rcx, rsi
call fcn.140022018
test dil, dil
je 0x14001d36b
test ebx, ebx
jne 0x14001d35f
mov rax, qword [rsi]
lea rdx, str.__
mov rcx, rsi
call qword [rax]
inc ebx
jmp 0x14001d2c6
add ebx, r13d
cmp ebx, 2
jl 0x14001d2c6
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rbx, qword [rbp - 8]
xor eax, eax
test rbx, rbx
mov r13, qword [rbp - 0x18]
cmovne r13, rbx
cmp byte [rbp - 0x78], al
mov r15, qword [rbp + 0xc0]
mov r12d, dword [rbp - 0x70]
je 0x14001d627
mov r14d, eax
cmp dword [rbp + 0x3c0], eax
jbe 0x14001d9d2
jmp 0x14001d3b5
xor eax, eax
test r14d, r14d
je 0x14001d3c5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
xor eax, eax
mov edi, eax
mov r8d, InitCommonControls
lea rdx, [0x1400726b8]
mov rcx, rsi
call fcn.140021c4c
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x98], r12d
cmp edi, 2
je 0x14001d404
xor r13d, r13d
test rbx, rbx
jne 0x14001d404
mov byte [rbp + 0x9c], r13b
jmp 0x14001d40f
mov eax, 1
mov byte [rbp + 0x9c], al
mov qword [rbp + 0xa0], rbx
lea r8, [rbp + 0xf0]
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.14001fcd8
mov ebx, eax
test eax, eax
jne 0x14001e5d7
mov r13, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rbp - 8]
test rbx, rbx
cmovne r13, rbx
inc edi
cmp edi, 3
jb 0x14001d3c7
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r9d, 1
mov byte [rbp + 0x16a], r9b
mov qword [rbp + 0x178], r13
xor r8d, r8d
cmp byte [rbp - 0x7f], r8b
jne 0x14001d61e
cmp byte [rbp - 0x80], r8b
je 0x14001d4a8
mov rax, qword [rbp + 8]
cmp byte [rbp - 0x7e], r8b
je 0x14001d4b4
cmp rax, r15
jbe 0x14001d4b4
mov rax, r15
jmp 0x14001d4b4
mov rax, r15
cmp byte [rbp - 0x7e], r8b
mov cl, r8b
je 0x14001d4b7
mov cl, r9b
lea rdx, [rbp + 0x160]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rsi
mov rdx, qword [rbp]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], cl
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov rdi, qword [rbp - 0x20]
mov r8, rdi
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x3a0]
call fcn.1400228d8
mov ebx, eax
xor r8d, r8d
test eax, eax
jne 0x14001e5d7
lea r9d, [rax + 1]
mov eax, 0x20000
mov dl, byte [rbp - 0x7e]
test dl, dl
cmovne rax, r15
cmp byte [rbp - 0x80], r8b
je 0x14001d534
mov rax, qword [rbp + 8]
test dl, dl
je 0x14001d534
cmp rax, r15
cmova rax, r15
mov qword [rsp + 0x58], r13
mov byte [rsp + 0x50], r9b
lea rcx, [rbp + 0x1a8]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0xf0]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0x160]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rsi
mov rcx, qword [rbp]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8, rdi
lea rdx, [rbp + 0x48]
mov rcx, qword [rbp + 0x3a0]
call fcn.140022ba0
mov ebx, eax
test eax, eax
jne 0x14001e5d7
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea r8d, [rbx + 0xc]
lea rdx, [0x1400726b8]
mov rcx, rsi
call fcn.140021c4c
mov qword [rbp + 0x90], rdi
mov dword [rbp + 0x98], r12d
mov rax, qword [rbp - 8]
test rax, rax
setne byte [rbp + 0x9c]
mov qword [rbp + 0xa0], rax
lea r8, [rbp + 0xf0]
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.14001fcd8
mov ebx, eax
test eax, eax
jne 0x14001e5d7
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
inc r14d
cmp r14d, dword [rbp + 0x3c0]
mov rbx, qword [rbp - 8]
jb 0x14001d3b3
jmp 0x14001d9ce
mov rdi, qword [rbp - 0x20]
jmp 0x14001d511
lea rdx, str.LZMA
mov rcx, qword [rbp + 0x58]
call fcn.140004444
xor ebx, ebx
test al, al
jne 0x14001d76d
mov edi, ebx
mov r14d, edi
shl r14, 5
lea rax, [0x140000000]
mov rdx, qword [r14 + rax + 0x71ea8]
lea rcx, [rbp - 0x68]
call fcn.1400025f0
nop
lea rcx, [rbp + 0x80]
call fcn.140002634
nop
mov dl, 0x3a
mov rcx, qword [rbp - 0x68]
call fcn.140003414
mov ebx, eax
test ebx, ebx
js 0x14001d6a9
lea edx, [rbx + 1]
add rdx, qword [rbp - 0x68]
lea rcx, [rbp + 0x80]
call fcn.140002a58
cmp ebx, dword [rbp - 0x60]
jae 0x14001d6a9
mov dword [rbp - 0x60], ebx
mov ecx, ebx
mov rax, qword [rbp - 0x68]
xor ebx, ebx
mov byte [rcx + rax], bl
jmp 0x14001d6ab
xor ebx, ebx
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x68]
call fcn.140004444
test al, al
je 0x14001d6f4
cmp dword [rbp + 0x88], ebx
je 0x14001d71e
lea rdx, [0x1400726bc]
mov rcx, qword [rbp + 0x80]
call fcn.140061aa0
test eax, eax
jne 0x14001d6e0
cmp dword [rbp + 0x70], ebx
je 0x14001d71e
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x68]
call fcn.140003900
test al, al
jne 0x14001d71e
mov rcx, qword [rbp + 0x80]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
mov r8d, 1
add edi, r8d
cmp edi, 0x16
jb 0x14001d643
jmp 0x14001d773
lea rcx, [0x140000000]
mov eax, dword [r14 + rcx + 0x71e98]
mov dword [rbp + 0x194], eax
mov eax, dword [r14 + rcx + 0x71e9c]
mov dword [rbp + 0x198], eax
mov eax, dword [r14 + rcx + 0x71ea0]
mov dword [rbp + 0x19c], eax
mov rcx, qword [rbp + 0x80]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
mov r8d, 1
jmp 0x14001d798
mov r8d, 1
mov dword [rbp + 0x194], 0x4b0
mov dword [rbp + 0x19c], 4
mov dword [rbp + 0x198], 0xbe
mov byte [rbp + 0x190], r8b
mov edx, dword [rbp - 0x40]
mov r9d, 0x12
cmp edx, r9d
jae 0x14001d7ac
mov edx, r9d
mov dword [rbp - 0x40], edx
mov r14d, ebx
cmp dword [rbp + 0x3c0], ebx
jbe 0x14001d9ce
mov ecx, edx
mov rax, r8
shl rax, cl
mov edi, edx
cmp r15, rax
cmovb edi, r9d
cmp byte [rbp + 0x3c8], bl
mov eax, 0x20
cmove edi, eax
mov ecx, edi
mov rax, r8
shl rax, cl
cmp rax, r15
jbe 0x14001d807
mov r9d, 0xffffffff
test edi, edi
je 0x14001d801
add edi, r9d
mov ecx, edi
mov rax, r8
shl rax, cl
cmp rax, r15
ja 0x14001d7ed
mov r9d, 0x12
mov ecx, edi
mov rbx, r8
shl rbx, cl
cmp rbx, r15
ja 0x14001d9bc
mov edx, edi
mov rcx, rsi
call fcn.14002211c
mov qword [rbp + 0x180], rbx
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x130]
call fcn.14001b7a4
nop
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x140]
call fcn.1400025b4
nop
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x150]
call fcn.140002810
nop
lea rdx, str.LZMA
mov rcx, qword [rbp + 0x140]
call fcn.140004444
xor ecx, ecx
test al, al
je 0x14001d8d4
mov dword [rbp + 0x90], 0x13
mov dword [rbp + 0x98], edi
lea rdx, [0x140070f34]
lea rcx, [rbp + 0xd0]
call fcn.1400028e4
nop
lea r8, [rbp + 0x90]
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.140010688
mov ebx, eax
mov rcx, qword [rbp + 0xd0]
call fcn.14005bd4c
nop
lea rcx, [rbp + 0x90]
call fcn.14000b45c
test ebx, ebx
jne 0x14001db72
xor ecx, ecx
cmp byte [rbp - 0x80], cl
je 0x14001d8df
mov rax, qword [rbp + 8]
jmp 0x14001d8f4
mov rax, qword [rbp + 0x180]
cmp rax, 0x40000
jb 0x14001d8f4
add rax, 0x10000
lea rcx, [rbp + 0x190]
mov qword [rsp + 0x58], rcx
lea rcx, [rbp + 0x160]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x20
mov rcx, qword [rbp]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, r12d
mov r8d, 1
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x3a0]
call fcn.140020f7c
mov ebx, eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
test ebx, ebx
jne 0x14001db72
xor ebx, ebx
mov rcx, qword [rbp + 0x150]
call fcn.14005bd4c
mov rcx, qword [rbp + 0x140]
call fcn.14005bd4c
lea rcx, [rbp + 0x130]
call fcn.14001ba70
lea r8d, [rbx + 1]
cmp byte [rbp + 0x3c8], bl
je 0x14001da94
add edi, r8d
mov ecx, edi
mov ebx, r8d
shl rbx, cl
cmp rbx, r15
jbe 0x14001d818
mov edx, dword [rbp - 0x40]
lea r9d, [r8 + 0x11]
xor ebx, ebx
add r14d, r8d
cmp r14d, dword [rbp + 0x3c0]
jb 0x14001d7bb
mov dil, byte [rbp - 0x7d]
mov r8d, dword [rbp + 0x16c]
mov ebx, dword [rbp - 0x28]
add r8d, ebx
mov dl, 0x2d
mov rcx, rsi
call fcn.140021c04
test dil, dil
je 0x14001da0a
mov rax, qword [rsi]
lea rdx, str.__
mov rcx, rsi
call qword [rax]
mov r8d, ebx
mov dl, 0x2d
mov rcx, rsi
call fcn.140021c04
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
test dil, dil
je 0x14001daa2
mov r8d, dword [rbp + 0x16c]
lea rdx, str.Avr:
mov rcx, rsi
call fcn.140021c4c
mov r14d, dword [rbp - 0x78]
mov bl, r14b
xor bl, 1
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x20], rax
mov r9b, bl
mov r8, r13
mov dil, byte [rbp - 0x7c]
mov dl, dil
mov rcx, rsi
call fcn.140022060
mov rax, qword [rsi]
lea rdx, str.__
mov rcx, rsi
call qword [rax]
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
mov r9b, bl
mov r8, r13
mov dl, dil
mov rcx, rsi
call fcn.140022060
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp 0x14001daaa
mov edx, dword [rbp - 0x40]
mov r9d, 0x12
jmp 0x14001d9be
mov r14d, dword [rbp - 0x78]
mov dil, byte [rbp - 0x7c]
mov r8d, dword [rbp + 0x16c]
lea rdx, str.Tot:
mov rcx, rsi
call fcn.140021c4c
movups xmm1, xmmword [rbp + 0x1a8]
movups xmmword [rbp + 0x10], xmm1
movups xmm2, xmmword [rbp + 0x1b8]
movups xmmword [rbp + 0x20], xmm2
movsd xmm0, qword [rbp + 0x1c8]
movsd qword [rbp + 0x30], xmm0
psrldq xmm1, 8
movq rcx, xmm1
add rcx, qword [rbp + 0x1d8]
mov qword [rbp + 0x18], rcx
movq rax, xmm2
add rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x1e8]
add qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x1f0]
add qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x1d0]
add qword [rbp + 0x10], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r13
mov dl, dil
mov rcx, rsi
call fcn.140022060
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov eax, dword [rbp - 0x38]
mov r8d, 1
add eax, r8d
mov dword [rbp - 0x38], eax
xor edx, edx
cmp eax, 3
jae 0x14001cf99
mov dil, byte [rbp - 0x7e]
mov bl, byte [rbp - 0x7f]
jmp 0x14001cf7c
mov rcx, qword [rbp + 0x150]
call fcn.14005bd4c
mov rcx, qword [rbp + 0x140]
call fcn.14005bd4c
lea rcx, [rbp + 0x130]
call fcn.14001ba70
jmp 0x14001e5d7
test rsi, rsi
jne 0x14001dba8
mov ebx, r13d
jmp 0x14001e5d7
mov eax, 0x8000000
test dil, dil
cmove r15, rax
mov qword [rbp + 0xc0], r15
cmp byte [rbp - 0x80], r14b
je 0x14001dbe9
test dil, dil
jne 0x14001dbcc
mov r15, qword [rbp + 8]
jmp 0x14001dbd5
cmp r15, qword [rbp + 8]
cmova r15, qword [rbp + 8]
mov qword [rbp + 0xc0], r15
jmp 0x14001dbe9
mov edx, eax
lea rcx, [rbp + 0x48]
call fcn.14001f730
mov edx, r13d
lea rcx, [rbp + 0x48]
call fcn.140010460
test eax, eax
jns 0x14001dbde
mov dword [rbp - 0x28], 0x1000
mov qword [rbp - 8], r14
mov dword [rbp - 0x38], ebx
test r12b, r12b
je 0x14001decf
lea r13, [0x140000000]
mov eax, r14d
lea rdi, [rax + rax*2]
shl rdi, 3
mov rdx, qword [rdi + r13 + 0x72160]
lea rcx, [rbp - 0x68]
call fcn.1400025f0
nop
lea rcx, [rbp - 0x50]
call fcn.140002634
nop
mov dl, 0x3a
mov rcx, qword [rbp - 0x68]
call fcn.140003414
mov ebx, eax
test ebx, ebx
js 0x14001dc70
lea edx, [rbx + 1]
add rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x50]
call fcn.140002a58
cmp ebx, dword [rbp - 0x60]
jae 0x14001dc70
mov dword [rbp - 0x60], ebx
mov rax, qword [rbp - 0x68]
xor edx, edx
mov byte [rbx + rax], dl
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x68]
call fcn.140004444
test al, al
je 0x14001dcb6
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x68]
call fcn.14000449c
mov ecx, dword [rdi + r13 + 0x72154]
mov dword [rbp - 0x28], ecx
lea r13, [r13 + 0x72158]
add r13, rdi
mov qword [rbp - 8], r13
test al, al
jne 0x14001deb3
lea r13, [0x140000000]
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
inc r14d
cmp r14d, 0xc
jb 0x14001dc17
mov r13d, 1
xor r14d, r14d
mov r9d, 0x100000
mov rdx, r15
mov eax, r12d
xor eax, r13d
lea eax, [rax*2 + 1]
mov r8d, dword [rbp - 0x58]
cmp byte [rbp - 0x80], r14b
je 0x14001dd20
mov rcx, qword [rbp + 8]
lea r9, [rcx + 0x100000]
cmp r15, rcx
cmova rdx, rcx
test r12b, r12b
je 0x14001dd20
mov eax, r14d
cmp r8d, r13d
cmovne eax, r13d
mov ecx, eax
imul rcx, r8
imul rcx, rdx
add r9, rcx
mov dword [rsp + 0x28], r8d
lea rax, str.Benchmark_threads:
mov qword [rsp + 0x20], rax
mov r8b, r13b
lea rdx, str.usage:
mov rcx, rsi
call fcn.140021d28
mov qword [rbp - 0x68], r14
mov r13d, r14d
and qword [rbp - 0x60], 0
mov ebx, dword [rbp + 0x40]
cmp ebx, dword [rbp - 0x58]
ja 0x14001ddad
mov edx, ebx
lea rcx, [rbp - 0x68]
call fcn.140001d10
lea edi, [rbx + rbx]
mov eax, dword [rbp - 0x58]
mov edx, eax
shr edx, 1
cmp edx, ebx
jbe 0x14001dd8d
cmp edx, edi
jae 0x14001dd8d
lea rcx, [rbp - 0x68]
call fcn.140001d10
mov eax, dword [rbp - 0x58]
cmp eax, ebx
jbe 0x14001dda3
cmp eax, edi
jae 0x14001dda3
mov edx, eax
lea rcx, [rbp - 0x68]
call fcn.140001d10
mov eax, dword [rbp - 0x58]
mov ebx, edi
cmp edi, eax
jbe 0x14001dd64
mov r13d, dword [rbp - 0x60]
mov r15d, r12d
mov eax, 1
xor r15d, eax
add r15d, eax
mov dword [rbp - 0x70], r15d
mov qword [rbp - 0x30], r14
mov qword [rbp + 0x110], r14
mov edi, r13d
imul edi, r15d
mov ebx, edi
mov eax, 8
mul rbx
mov r12, 0xffffffffffffffff
cmovb rax, r12
mov rcx, rax
call fcn.14005bd54
mov r15, rax
mov qword [rbp - 0x30], rax
lea eax, [r12 + 9]
mul rbx
cmovb rax, r12
mov rcx, rax
call fcn.14005bd54
mov r12, rax
mov qword [rbp + 0x110], rax
mov r8d, r14d
test edi, edi
je 0x14001df90
cmp edi, 2
jb 0x14001de87
lea ecx, [rdi - 1]
mov edx, ecx
lea rcx, [rax + rcx*8]
lea rax, [r15 + rdx*8]
cmp r12, rax
ja 0x14001de3a
cmp rcx, r15
jae 0x14001de87
mov eax, edi
and eax, 0xfffffffe
add r8d, 2
mov r14d, r8d
cmp r8d, eax
jb 0x14001de3f
lea ebx, [rax + 1]
and rbx, 0xfffffffffffffffe
shl rbx, 3
mov r8, rbx
and r8, 0xfffffffffffffff8
xor edx, edx
mov rcx, r15
call fcn.14006bcd0
and rbx, 0xfffffffffffffff8
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.14006bcd0
mov r8d, r14d
cmp r14d, edi
jae 0x14001df8d
xor r14d, r14d
mov eax, r8d
lea rcx, [r12 + rax*8]
mov rax, r15
sub rax, r12
sub edi, r8d
mov edx, edi
mov edi, 1
mov qword [rax + rcx], r14
mov qword [rcx], r14
lea rcx, [rcx + 8]
sub rdx, rdi
jne 0x14001de9e
jmp 0x14001df95
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
mov qword [rbp - 8], r13
jmp 0x14001dcd6
mov edi, r14d
lea rax, [0x140000000]
mov edx, edi
shl rdx, 5
mov rdx, qword [rdx + rax + 0x71ea8]
lea rcx, [rbp - 0x68]
call fcn.1400025f0
nop
lea rcx, [rbp - 0x50]
call fcn.140002634
nop
mov dl, 0x3a
mov rcx, qword [rbp - 0x68]
call fcn.140003414
mov ebx, eax
test eax, eax
js 0x14001df2c
lea edx, [rbx + 1]
add rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x50]
call fcn.140002a58
cmp ebx, dword [rbp - 0x60]
jae 0x14001df2c
mov dword [rbp - 0x60], ebx
mov rax, qword [rbp - 0x68]
mov byte [rbx + rax], r14b
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x68]
call fcn.140004444
test al, al
je 0x14001df51
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x68]
call fcn.14000449c
mov dword [rbp - 0x38], edi
test al, al
jne 0x14001df75
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
add edi, r13d
cmp edi, 0x16
jae 0x14001dcdf
jmp 0x14001ded2
mov rcx, qword [rbp - 0x50]
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
jmp 0x14001dcdf
xor r14d, r14d
mov edi, 1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov ebx, r14d
lea r15, str.Usage
mov r12d, dword [rbp - 0x70]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rax, qword [rsi]
lea rcx, [0x140072614]
lea rdx, [0x14007261c]
cmp ebx, edi
cmove rdx, rcx
lea rcx, str.THRD
test ebx, ebx
cmove rdx, rcx
mov rcx, rsi
call qword [rax]
mov edi, r14d
test r13d, r13d
je 0x14001e098
test edi, edi
je 0x14001dffd
mov rax, qword [rsi]
lea rdx, [0x140072528]
mov rcx, rsi
call qword [rax]
test ebx, ebx
jne 0x14001e02b
imul r8d, r12d, 0xf
sub r8d, 0xf
lea edx, [rbx + 0x20]
mov rcx, rsi
call fcn.140021c04
mov eax, edi
mov rcx, qword [rbp - 0x68]
mov edx, dword [rcx + rax*4]
lea r8d, [rbx + 0xe]
mov rcx, rsi
call fcn.140021ca0
jmp 0x14001e08d
test r12d, r12d
je 0x14001e08d
lea r14, [0x1400725cc]
mov ecx, 1
cmp ebx, ecx
cmove r14, r15
lea rax, [0x14007262c]
lea r15, str.MB_s
cmove r15, rax
mov r13, r12
mov r8d, 6
mov rdx, r14
mov rcx, rsi
call fcn.140022018
mov r8d, 9
mov rdx, r15
mov rcx, rsi
call fcn.140022018
sub r13, 1
jne 0x14001e057
mov r13d, dword [rbp - 0x60]
lea r15, str.Usage
xor r14d, r14d
inc edi
cmp edi, r13d
jb 0x14001dfea
mov edi, 1
add ebx, edi
cmp ebx, 3
jb 0x14001dfac
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rdx, r14
mov qword [rbp - 0x18], rdx
lea ecx, [rdi + 9]
cmp byte [rbp - 0x7d], r14b
cmovne ecx, dword [rbp - 0x40]
movsxd rdi, dword [rbp - 0x38]
mov qword [rbp - 0x50], rdi
mov r12, qword [rbp + 0x110]
mov r8, qword [rbp + 8]
mov r9b, byte [rbp - 0x80]
mov eax, 1
mov dword [rbp - 0x78], ecx
shl rax, cl
mov r15, r8
mov qword [rbp + 0x80], r8
cmp r8, rax
ja 0x14001e0f9
test r9b, r9b
jne 0x14001e103
mov r15, rax
mov qword [rbp + 0x80], rax
mov ebx, r14d
mov dword [rbp - 0x3c], ebx
cmp dword [rbp + 0x3c0], r14d
jbe 0x14001e4e2
mov edx, ecx
mov rcx, rsi
call fcn.14002211c
mov dword [rbp - 0x38], r14d
test r13d, r13d
je 0x14001e4a7
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + InitCommonControls]
mov ebx, eax
test eax, eax
jne 0x14001e512
mov eax, r14d
mov rcx, qword [rbp - 0x68]
mov r8d, dword [rcx + rax*4]
xor ebx, ebx
cmp byte [rbp - 0x7f], bl
je 0x14001e229
mov qword [rbp - 0x38], rbx
mov qword [rbp + 0x78], rbx
cmp dword [rbp - 0x78], 0x11
jne 0x14001e16d
cmp byte [rbp - 0x80], bl
mov rax, qword [rbp - 8]
je 0x14001e170
mov rax, rbx
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x78], bl
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x68], bl
lea rcx, [rbp + 0xf0]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rsi
lea rcx, [rbp + 0x48]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 1
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp]
mov qword [rsp + 0x20], rax
mov r9, r15
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x3a0]
call fcn.14001e6f4
mov ebx, eax
test eax, eax
jne 0x14001e512
test r14d, r14d
je 0x14001e1ff
mov rax, qword [rsi]
lea rdx, [0x140072528]
mov rcx, rsi
call qword [rax]
mov rbx, qword [rbp - 0x38]
mov r8, rbx
mov rdi, qword [rbp + 0x78]
mov rdx, rdi
mov rcx, rsi
call fcn.14001e624
mov eax, r14d
mov rcx, qword [rbp - 0x30]
add qword [rcx + rax*8], rbx
add qword [r12 + rax*8], rdi
jmp 0x14001e490
lea rdx, str.AES128
mov rcx, qword [rbp + 0x58]
call fcn.140003954
test al, al
je 0x14001e248
mov ecx, InitCommonControls
lea r13d, [rcx + 0x10]
jmp 0x14001e26a
lea rdx, str.AES192
mov rcx, qword [rbp + 0x58]
call fcn.140003954
mov r13d, 0x20
mov ecx, r13d
test al, al
lea eax, [r13 - 8]
cmovne ecx, eax
mov dword [rbp + 0x1a0], ecx
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x10]
call fcn.14001b7a4
nop
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x20]
call fcn.1400025b4
nop
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x30]
call fcn.140002810
nop
test rdi, rdi
js 0x14001e2dd
mov rcx, rdi
shl rcx, 5
lea rdx, [0x140000000]
mov eax, dword [rcx + rdx + 0x71e98]
mov dword [rbp + 0x194], eax
mov eax, dword [rcx + rdx + 0x71ea0]
mov dword [rbp + 0x19c], eax
mov eax, dword [rcx + rdx + 0x71e9c]
mov dword [rbp + 0x198], eax
mov edi, dword [rcx + rdx + 0x71e94]
jmp 0x14001e312
mov edi, r13d
cmp byte [rbp - 0x74], bl
je 0x14001e2f8
mov eax, 4
mov dword [rbp + 0x194], eax
mov dword [rbp + 0x19c], eax
jmp 0x14001e30c
mov dword [rbp + 0x194], 0x400
mov dword [rbp + 0x19c], 0x40
mov dword [rbp + 0x198], ebx
mov byte [rbp + 0x168], bl
lea rdx, str.LZMA
mov rcx, qword [rbp + 0x20]
call fcn.140004444
test al, al
je 0x14001e389
mov dword [rbp + 0x90], 0x13
mov eax, dword [rbp - 0x78]
mov dword [rbp + 0x98], eax
lea rdx, [0x140070f34]
lea rcx, [rbp + 0xd0]
call fcn.1400028e4
nop
lea r8, [rbp + 0x90]
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140010688
mov ebx, eax
mov rcx, qword [rbp + 0xd0]
call fcn.14005bd4c
nop
lea rcx, [rbp + 0x90]
call fcn.14000b45c
test ebx, ebx
jne 0x14001e4f7
mov r9d, r14d
lea rax, [rbp + 0x190]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], edi
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x68]
mov r9d, dword [rax + r9*4]
xor r8d, r8d
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x3a0]
call fcn.140020f7c
mov ebx, eax
test eax, eax
jne 0x14001e4f7
test r14d, r14d
je 0x14001e409
mov rax, qword [rsi]
lea rdx, [0x140072528]
mov rcx, rsi
call qword [rax]
lea r15d, [r14 + r14]
lea rdi, [rbp + 0x228]
mov r13d, 2
mov r14, qword [rbp - 0x30]
lea rcx, [rdi - 0x30]
call fcn.140020ee4
mov r9, rax
mov rcx, qword [rdi - 0x10]
imul rcx, qword [rdi]
mov r8, qword [rdi - 0x30]
mov rdx, qword [rdi - 0x28]
call fcn.140021af0
add qword [r12 + r15*8], r9
add qword [r14 + r15*8], rax
mov r8, rax
mov rdx, r9
mov rcx, rsi
call fcn.14001e624
mov eax, 1
add r15d, eax
lea rdi, [rdi + 0x38]
sub r13, rax
jne 0x14001e41e
mov rcx, qword [rbp + 0x30]
call fcn.14005bd4c
mov rcx, qword [rbp + 0x20]
call fcn.14005bd4c
lea rcx, [rbp + 0x10]
call fcn.14001ba70
mov r14d, dword [rbp - 0x38]
mov r13d, dword [rbp - 0x60]
mov r15, qword [rbp + 0x80]
inc r14d
mov dword [rbp - 0x38], r14d
cmp r14d, r13d
mov rdi, qword [rbp - 0x50]
jb 0x14001e12d
mov ebx, dword [rbp - 0x3c]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rdx, qword [rbp - 0x18]
mov eax, 1
add rdx, rax
mov qword [rbp - 0x18], rdx
add ebx, eax
mov dword [rbp - 0x3c], ebx
cmp ebx, dword [rbp + 0x3c0]
mov ecx, dword [rbp - 0x78]
lea r14d, [rax - 1]
jb 0x14001e116
mov r8, qword [rbp + 8]
mov r9b, byte [rbp - 0x80]
jmp 0x14001e4e7
mov eax, 1
cmp r15, qword [rbp + 0xc0]
jae 0x14001e51b
add ecx, eax
jmp 0x14001e0df
mov rcx, qword [rbp + 0x30]
call fcn.14005bd4c
mov rcx, qword [rbp + 0x20]
call fcn.14005bd4c
lea rcx, [rbp + 0x10]
call fcn.14001ba70
mov r13, qword [rbp - 0x30]
jmp 0x14001e5bb
test rdx, rdx
je 0x14001e5b4
mov rax, qword [rsi]
lea rdx, str.Avg:
mov rcx, rsi
call qword [rax]
mov ebx, r14d
mov dword [rbp - 0x38], ebx
test r13d, r13d
mov r13, qword [rbp - 0x30]
je 0x14001e5a9
mov r15d, dword [rbp - 0x70]
test ebx, ebx
je 0x14001e559
mov rax, qword [rsi]
lea rdx, [0x140072528]
mov rcx, rsi
call qword [rax]
test r15d, r15d
je 0x14001e59f
mov edi, ebx
imul edi, r15d
mov r14d, r15d
mov r15, qword [rbp - 0x18]
mov ebx, 1
xor edx, edx
mov rax, qword [r13 + rdi*8]
div r15
mov r8, rax
xor edx, edx
mov rax, qword [r12 + rdi*8]
div r15
mov rdx, rax
mov rcx, rsi
call fcn.14001e624
add edi, ebx
sub r14, rbx
jne 0x14001e570
mov ebx, dword [rbp - 0x38]
mov r15d, dword [rbp - 0x70]
inc ebx
mov dword [rbp - 0x38], ebx
cmp ebx, dword [rbp - 0x60]
jb 0x14001e546
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp 0x14001e5b8
mov r13, qword [rbp - 0x30]
mov ebx, r14d
mov rcx, r12
call fcn.14005bd4c
nop
mov rcx, r13
call fcn.14005bd4c
nop
mov rcx, qword [rbp - 0x68]
call fcn.14005bd4c
nop
mov rcx, qword [rbp + 0x278]
jmp 0x14001c6f4
mov ebx, 0x80070057
mov rcx, qword [rbp]
call fcn.14005b210
nop
mov rcx, qword [rbp + 0x68]
call fcn.14005bd4c
mov rcx, qword [rbp + 0x58]
call fcn.14005bd4c
lea rcx, [rbp + 0x48]
call fcn.14001ba70
mov eax, ebx
add rsp, 0x468
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret