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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4d8
mov qword [rsp + 0x440], 0xfffffffffffffffe
mov r14, r9
mov r12, rdx
xor ecx, ecx
call fcn.0045d5e0
mov ebx, 0x800
mov rcx, rbx
call fcn.0045d5a0
mov rdi, rax
xor eax, eax
cmp rdi, rax
jne 0x4245fc
mov rcx, rdi
call fcn.0045d5e0
jmp 0x424669
mov rdx, rbx
mov rcx, rdi
call fcn.0041e7d8
xor r15d, r15d
mov ebx, r15d
mov rbp, r15
mov rsi, r15
lea r13, [rdi + rbp]
mov r15d, 1
lea rcx, [rsi + r13]
mov rdx, rsi
call fcn.0045d920
rol ebx, 0xb
add eax, ebx
mov ebx, eax
add rsi, r15
cmp rsi, 0x40
jb 0x42461d
add rbp, 0x3f
cmp rbp, 0x780
mov r15d, 0
jb 0x424610
cmp eax, 0x28462c7c
sete bl
mov rcx, rdi
call fcn.0045d5e0
cmp bl, r15b
mov r15, qword [rsp + 0x530]
jne 0x424673
mov eax, 0x80004005
jmp 0x427bf1
movabs rax, 0x100000000
mov qword [rsp + 0x228], rax
mov edi, 1
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + 0x2c8], rdi
lea rcx, [rsp + 0x2c0]
call fcn.0040c7d8
xor ebx, ebx
cmp eax, ebx
je 0x4246d6
mov rcx, qword [rsp + 0x2c0]
call fcn.0040c7c0
cmp eax, ebx
je 0x4246d6
mov rcx, qword [rsp + 0x2c0]
call fcn.0040c7c0
mov ebx, eax
mov dword [rsp + 0xd8], eax
jmp 0x4246e4
call fcn.0040c800
mov ebx, eax
mov dword [rsp + 0xd8], eax
lea rcx, [rsp + 0x228]
call fcn.0040c84c
mov byte [rsp + 0xbd], al
mov dword [rsp + 0xa0], ebx
xor ebx, ebx
mov cl, bl
mov dword [rsp + 0x9c], ecx
mov dword [rsp + 0x118], 0xfa0
mov dword [rsp + 0xdc], 0x16
mov byte [rsp + 0x93], bl
mov qword [rsp + 0x108], rbx
mov byte [rsp + 0xbc], bl
movabs rax, 0x400000000
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x1a4], edi
mov dword [rsp + 0x230], ebx
mov dword [rsp + 0x234], ebx
mov dword [rsp + 0x238], edi
mov qword [rsp + 0x150], rbx
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x15c], ebx
lea rcx, [rsp + 0x160]
call fcn.00402d3c
nop
lea rcx, [rsp + 0x170]
call fcn.004034f4
nop
mov r13, rbx
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0x1b0], rbx
mov byte [rsp + 0x91], bl
mov byte [rsp + 0x90], bl
cmp r12, rbx
je 0x42488b
xor ebp, ebp
cmp dword [r14 + 8], ebp
jbe 0x424879
mov rdi, rbp
lea r15d, [rbx + 1]
mov rax, qword [r14]
mov rsi, qword [rdi + rax]
mov rax, qword [r12]
lea rdx, [0x004628c0]
mov rcx, r12
call qword [rax]
mov rdx, rsi
lea rcx, [rsp + 0x210]
call fcn.00412be0
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0x210]
call fcn.00402364
cmp dword [rsi + 0x18], ebp
je 0x424860
mov rax, qword [r12]
lea rdx, [0x004628bc]
mov rcx, r12
call qword [rax]
lea rdx, [rsi + 0x10]
lea rcx, [rsp + 0xa8]
call fcn.00412be0
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
add ebx, r15d
add rdi, 8
cmp ebx, dword [r14 + 8]
jb 0x4247db
mov r15, qword [rsp + 0x530]
xor ebx, ebx
cmp dword [r14 + 8], ebx
je 0x42488b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov ebp, ebx
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x2e0], rsi
cmp dword [r14 + 8], ebx
jbe 0x4253e3
mov rdi, rbx
mov rax, qword [r14]
mov rbx, qword [rdi + rax]
mov rdx, rbx
lea rcx, [rsp + 0xc8]
call fcn.00403650
nop
mov rcx, qword [rsp + 0xc8]
call fcn.0040282c
lea rdx, str.file
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
xor ecx, ecx
cmp al, cl
je 0x424a2c
cmp dword [rbx + 0x18], ecx
je 0x4250bd
mov qword [rsp + 0x258], rsi
mov byte [rsp + 0x260], cl
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x258]
call fcn.0040a040
xor edx, edx
cmp al, dl
je 0x4250de
lea rdx, [rsp + 0x2b8]
lea rcx, [rsp + 0x258]
call fcn.004096b4
xor ecx, ecx
cmp al, cl
je 0x42510f
cmp r12, rcx
je 0x424973
mov rax, qword [r12]
lea rdx, str.file_size_
mov rcx, r12
call qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x2b8]
mov rcx, r12
call fcn.0041e154
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
xor ecx, ecx
mov rbx, qword [rsp + 0x2b8]
cmp r13, rcx
je 0x42498a
cmp rbx, qword [rsp + 0xe0]
je 0x4249c1
mov rcx, r13
call fcn.0045d450
mov rcx, rbx
call fcn.0045d430
mov r13, rax
mov qword [rsp + 0x1a8], rax
xor ecx, ecx
cmp rax, rcx
mov rax, rcx
cmovne rax, rbx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x1b0], rax
cmp rbx, rcx
je 0x4249cf
cmp r13, rcx
je 0x425140
mov byte [rsp + 0x91], 1
lea r9, [rsp + 0x408]
mov r8, rbx
mov rdx, r13
lea rcx, [rsp + 0x258]
call fcn.00409884
xor edx, edx
cmp al, dl
je 0x42516e
cmp qword [rsp + 0x408], rbx
jne 0x42519f
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
xor ebx, ebx
jmp 0x4250a8
mov word [rsp + 0xf0], cx
mov word [rsp + 0xf2], cx
mov qword [rsp + 0xf8], rcx
cmp dword [rbx + 0x18], ecx
je 0x424aac
lea rdx, [rsp + 0x138]
mov rcx, qword [rbx + 0x10]
call fcn.0040478c
mov rcx, qword [rsp + 0x138]
xor edx, edx
cmp word [rcx], dx
jne 0x424a9b
cmp dword [rbx + 0x18], edx
je 0x424a9b
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x424a89
mov edx, eax
lea rcx, [rsp + 0xf0]
call fcn.0040c198
jmp 0x424aac
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.0040c1c8
jmp 0x424aac
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0xf0]
call fcn.0040c0b0
lea rdx, str.time
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
xor ebx, ebx
cmp al, bl
je 0x424b44
lea rcx, [rsp + 0xa8]
call fcn.004034f4
nop
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
cmp esi, ebx
jne 0x4251ce
mov cl, 1
mov dword [rsp + 0x9c], ecx
mov eax, dword [rsp + 0x118]
imul eax, eax, 0x3e8
mov dword [rsp + 0x118], eax
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
lea rsi, [rbx - 1]
jmp 0x4250a8
lea rdx, str.timems
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424bc9
lea rcx, [rsp + 0x128]
call fcn.004034f4
nop
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x128]
call fcn.00402364
cmp esi, ebx
jne 0x4251f8
mov cl, 1
mov dword [rsp + 0x9c], ecx
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rdx, [0x00462894]
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424c69
lea rcx, [rsp + 0x270]
call fcn.004034f4
nop
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x270]
call fcn.00402364
cmp esi, ebx
jne 0x425222
mov ecx, dword [rsp + 0x220]
cmp ecx, 0x40
jae 0x42524c
mov eax, 1
shl rax, cl
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rdx, [0x00462890]
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424c8e
mov byte [rsp + 0x90], 1
jmp 0x42502f
lea rdx, [0x0046288c]
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
jne 0x42502f
lea rdx, [0x00462888]
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424d26
lea rcx, [rsp + 0x190]
call fcn.004034f4
nop
lea r8, [rsp + 0x1a4]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x190]
call fcn.00402364
cmp esi, ebx
jne 0x42527b
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rdx, [0x00462884]
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424ddf
lea rcx, [rsp + 0x1b8]
call fcn.004034f4
nop
lea r8, [rsp + 0x1a0]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x1b8]
call fcn.00402364
cmp esi, ebx
jne 0x4252a5
mov eax, dword [rsp + 0x1a0]
cmp eax, ebx
jbe 0x424db8
mov ecx, dword [rsp + 0xd8]
cmp eax, ecx
jae 0x424db8
mov r8d, 2
mov edx, ecx
lea rcx, [rsp + 0x230]
call fcn.0041da4c
mov ecx, dword [rsp + 0x1a0]
mov dword [rsp + 0x230], ecx
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rdx, str.freq
mov rcx, qword [rsp + 0xc8]
call fcn.0040298c
cmp al, bl
je 0x424eb7
mov dword [rsp + 0x180], ebx
lea rcx, [rsp + 0x2d0]
call fcn.004034f4
nop
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x2d0]
call fcn.00402364
cmp esi, ebx
jne 0x4252cf
mov eax, dword [rsp + 0x180]
cmp eax, ebx
je 0x4252f9
imul rax, rax, 0xf4240
mov qword [rsp + 0x108], rax
cmp r12, rbx
je 0x424e90
mov rax, qword [r12]
lea rdx, [0x00462874]
mov rcx, r12
call qword [rax]
mov edx, dword [rsp + 0x180]
xor r8d, r8d
mov rcx, r12
call fcn.0041e154
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
nop
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rdx, [0x00460494]
lea rcx, [rsp + 0xc8]
call fcn.00402934
cmp al, bl
je 0x424fe4
mov rdx, qword [rsp + 0xc8]
add rdx, 4
lea rcx, [rsp + 0x210]
call fcn.00403560
nop
lea rdx, [0x0045f8d0]
mov rcx, qword [rsp + 0x210]
call fcn.0040298c
cmp al, bl
jne 0x424fae
cmp dword [rsp + 0x218], ebx
jne 0x424f35
cmp word [rsp + 0xf0], 8
jne 0x424f35
lea rdx, [0x0045f8d0]
mov rcx, qword [rsp + 0xf8]
call fcn.0040298c
cmp al, bl
jne 0x424fae
mov byte [rsp + 0x92], bl
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xa0], eax
lea r9, [rsp + 0x92]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x210]
call fcn.0040f9cc
mov esi, eax
cmp eax, ebx
jne 0x425328
mov rcx, qword [rsp + 0x210]
call fcn.00402364
nop
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
mov byte [rsp + 0xbc], 1
mov rcx, qword [rsp + 0x210]
call fcn.00402364
nop
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
jmp 0x4250a8
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x150]
call fcn.00410c8c
mov esi, eax
cmp eax, ebx
jne 0x425360
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
jmp 0x4250a8
lea rcx, [rsp + 0x2a8]
call fcn.004034f4
nop
lea r8, [rsp + 0xdc]
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.0040f97c
mov esi, eax
mov rcx, qword [rsp + 0x2a8]
call fcn.00402364
cmp esi, ebx
jne 0x42538a
mov eax, 0x20
cmp dword [rsp + 0xdc], eax
ja 0x4253b4
mov byte [rsp + 0x93], 1
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
mov rsi, 0xffffffffffffffff
inc ebp
add rdi, 8
cmp ebp, dword [r14 + 8]
jb 0x4248a9
jmp 0x4253e3
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80070057
jmp 0x426c91
call fcn.0040965c
mov esi, eax
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
call fcn.0040965c
mov esi, eax
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
xor ecx, ecx
call fcn.0045d450
nop
mov esi, 0x8007000e
jmp 0x426c91
call fcn.0040965c
mov esi, eax
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x258]
call fcn.00409688
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80004005
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80070057
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80070057
jmp 0x426c91
mov rcx, qword [rsp + 0x210]
call fcn.00402364
nop
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0xf0]
call fcn.0040be98
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80070057
jmp 0x426c91
mov rdi, qword [rsp + 0x550]
cmp r12, rbx
je 0x425449
lea rcx, [rsp + 0xa8]
call fcn.00402d3c
nop
lea rcx, [rsp + 0xa8]
call fcn.0040d4d8
mov r11, qword [r12]
mov rdx, qword [rsp + 0xa8]
mov rcx, r12
call qword [r11]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov r11, qword [r12]
lea rdx, str.1T_CPU_Freq__MHz_:
mov rcx, r12
call qword [r11]
jmp 0x425452
cmp rdi, rbx
je 0x425780
mov ebp, 0x40
mov rcx, qword [rsp + 0x108]
cmp rcx, rbx
je 0x425480
lea ebx, [rbp - 0x3f]
mov rax, rbp
imul rax, rax, 0xf4240
cmp rcx, rax
jae 0x42547e
shr rbp, 1
cmp rbp, rbx
ja 0x425467
xor ebx, ebx
mov dword [rsp + 0x94], ebx
cmp r12, rbx
je 0x4254a0
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
cmp eax, ebx
jne 0x42572d
lea rcx, [rsp + 0x138]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp eax, ebx
je 0x4254bc
mov r14, qword [rsp + 0x138]
jmp 0x4254c5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov rbx, rbp
imul rbx, rbx, 0xf4240
mov rdx, rbx
shr rdx, 7
mov r8d, dword [0x004806c4]
mov ecx, r14d
call fcn.0041def0
cmp eax, 0xf1541213
jne 0x425503
xor eax, eax
cmp r12, rax
je 0x425503
mov rax, qword [r12]
lea rdx, [0x004604ca]
mov rcx, r12
call qword [rax]
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xor edx, edx
cmp eax, edx
je 0x425521
mov rsi, qword [rsp + 0x270]
jmp 0x425529
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
sub rsi, r14
mov r15, rsi
mov ecx, 1
cmove r15, rcx
movabs rax, 0x2000000000000000
cmp r15, rax
cmova r15, rcx
lea rcx, [rsp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r14d, 0x3e8
xor r9d, r9d
cmp eax, r9d
cmovne r14, qword [rsp + 0x1b8]
mov rax, r15
cmp r15, r9
lea r10d, [r9 + 1]
cmove rax, r10
cvtsi2sd xmm0, r14
cvtsi2sd xmm1, rbx
mulsd xmm0, xmm1
cvtsi2sd xmm2, rax
divsd xmm0, xmm2
call fcn.0041d884
mov rcx, rax
mov qword [rsp + 0x190], rax
mov rax, r14
imul rax, rbp
xor edx, edx
div r15
mov rbx, rax
cmp r12, r9
je 0x4255fc
cmp rsi, r9
jne 0x4255dc
mov r8, qword [r12]
lea rdx, [0x0046285c]
mov rcx, r12
call qword [r8]
mov rcx, qword [rsp + 0x190]
xor r9d, r9d
lea r10d, [r9 + 1]
jmp 0x4255fc
mov r8d, 5
mov rdx, rax
mov rcx, r12
call fcn.0041e154
mov rcx, qword [rsp + 0x190]
xor r9d, r9d
lea r10d, [r9 + 1]
cmp rdi, r9
je 0x425623
mov rax, qword [rdi]
mov r9d, 0x10000
mov r8, rcx
mov edx, r10d
mov rcx, rdi
call qword [rax]
mov esi, eax
xor r9d, r9d
cmp eax, r9d
jne 0x42573b
mov r8d, dword [rsp + 0x94]
mov r10d, 1
cmp r8d, r10d
jl 0x42571b
cmp rbp, 0x800
setae cl
shl r14, 4
cmp r15, r14
jb 0x42568a
mov rax, qword [r12]
lea rdx, str.__Cmplx_
mov rcx, r12
call qword [rax]
mov esi, dword [rsp + 0x9c]
movzx esi, sil
xor r9d, r9d
cmp rdi, r9
lea r10d, [r9 + 1]
cmove esi, r10d
mov dword [rsp + 0x9c], esi
mov cl, r10b
mov r8d, dword [rsp + 0x94]
jmp 0x425691
mov esi, dword [rsp + 0x9c]
cmp sil, r9b
je 0x425710
imul rbx, rbx, 0xf4240
movabs rax, 0x400000000
mov qword [rsp + 0x110], rax
mov eax, 0x3d0900
cmp rbx, rax
cmovb rbx, rax
movabs rax, 0x4a817c800
cmp rbx, rax
jae 0x425710
mov eax, dword [rsp + 0x118]
cmp eax, r9d
je 0x425701
mov r9, rax
imul r9, rbx
movabs rax, 0x624dd2f1a9fbe77
mul r9
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 9
mov qword [rsp + 0x110], r9
jmp 0x425710
mov rax, rbx
shr rax, 2
mov qword [rsp + 0x110], rax
xor ebx, ebx
cmp cl, bl
jne 0x425749
add rbp, rbp
jmp 0x42571d
xor ebx, ebx
add r8d, r10d
mov dword [rsp + 0x94], r8d
jmp 0x425487
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
cmp rdi, rbx
je 0x42576e
mov rax, qword [rdi]
mov edx, r10d
mov rcx, rdi
call qword [rax + VariantCopy]
mov esi, eax
cmp eax, ebx
je 0x425778
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov r15, qword [rsp + 0x530]
jmp 0x425780
mov r15, qword [rsp + 0x530]
mov ebx, dword [rsp + 0xa0]
cmp ebx, 2
jb 0x4259a1
xor r14d, r14d
cmp r12, r14
jne 0x4257a3
cmp rdi, r14
je 0x425a3b
jmp 0x4257b4
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov ebx, dword [rsp + 0xa0]
mov eax, dword [rsp + 0xd8]
shr eax, 1
cmp ebx, eax
cmovae ebx, eax
mov esi, 1
cmp ebx, esi
cmovb ebx, esi
cmp r12, r14
je 0x425803
mov ecx, ebx
lea rdx, [rsp + 0x450]
call fcn.00401b8c
mov r11, qword [r12]
lea rdx, [rsp + 0x450]
mov rcx, r12
call qword [r11]
mov r11, qword [r12]
lea rdx, str.T_CPU_Freq__MHz_:
mov rcx, r12
call qword [r11]
mov ebp, 0x400
mov rcx, qword [rsp + 0x108]
cmp rcx, r14
je 0x42582c
mov rax, rbp
imul rax, rax, 0xf4240
cmp rcx, rax
jae 0x42582c
shr rbp, 1
cmp rbp, rsi
ja 0x425815
cmp r12, r14
je 0x42584b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
cmp eax, r14d
jne 0x425949
mov esi, 1
mov rax, rbp
imul rax, rax, 0xf4240
mov qword [rsp + 0x1c8], rax
mov dword [rsp + 0x1d0], ebx
mov byte [rsp + 0x1d4], sil
mov qword [rsp + 0x1d8], rsi
lea r8, [rsp + 0x230]
xor edx, edx
lea rcx, [rsp + 0x1c8]
call fcn.00422088
mov esi, eax
cmp eax, r14d
jne 0x425957
mov r14, qword [rsp + 0x1e8]
xor eax, eax
cmp rdi, rax
je 0x4258c6
mov rax, qword [rdi]
mov r9, r14
mov r8, qword [rsp + 0x1e0]
mov edx, ebx
mov rcx, rdi
call qword [rax]
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x425965
cmp r12, rax
je 0x42592b
imul r14, r14, 0x64
lea rdx, [r14 + 0x8000]
shr rdx, 0x10
mov r8d, 3
mov rcx, r12
call fcn.0041e154
mov r11, qword [r12]
lea rdx, [0x00462834]
mov rcx, r12
call qword [r11]
movabs rax, 0x431bde82d7b634db
mul qword [rsp + 0x1e0]
shr rdx, 0x12
xor r8d, r8d
mov rcx, r12
call fcn.0041e154
mov r11, qword [r12]
lea rdx, [0x00462830]
mov rcx, r12
call qword [r11]
cmp rbp, 0x800
setae al
xor r14d, r14d
cmp al, r14b
jne 0x425973
add rbp, rbp
lea esi, [r14 + 1]
jmp 0x42582c
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
cmp rdi, r14
je 0x425998
mov rax, qword [rdi]
mov edx, ebx
mov rcx, rdi
call qword [rax + VariantCopy]
mov esi, eax
cmp eax, r14d
je 0x425998
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov ebx, dword [rsp + 0xa0]
jmp 0x4259a4
xor r14d, r14d
cmp r12, r14
je 0x425a3b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x28], eax
lea rax, str.CPU_hardware_threads:
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x228]
mov r8b, byte [rsp + 0xbd]
lea rdx, str.size:
mov rcx, r12
call fcn.0041e500
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0xa8]
call fcn.0041e39c
nop
mov r8, qword [r12]
mov rdx, qword [rax]
mov rcx, r12
call qword [r8]
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov ebx, dword [rsp + 0xa0]
lea eax, [rbx - 1]
cmp eax, 0xfff
ja 0x427bd6
mov ecx, dword [rsp + 0xdc]
mov edi, 1
mov rbp, rdi
shl rbp, cl
mov qword [rsp + 0x120], rbp
cmp byte [rsp + 0x90], r14b
jne 0x425ad0
mov rbp, r14
mov qword [rsp + 0x120], r14
mov edx, edi
lea rcx, [rsp + 0x150]
call fcn.004100a8
cmp eax, r14d
jl 0x425ac3
mov ecx, eax
mov rax, qword [rsp + 0x150]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], 0x13
jne 0x425aae
mov ebp, dword [rdx + 0x10]
mov qword [rsp + 0x120], rbp
jmp 0x425ad0
cmp word [rdx + 8], 0x15
jne 0x425ac3
mov rbp, qword [rdx + 0x10]
mov qword [rsp + 0x120], rbp
jmp 0x425ad0
mov bl, r14b
mov byte [rsp + 0x92], r14b
jmp 0x425adb
mov bl, dil
mov byte [rsp + 0x92], dil
lea rcx, [rsp + 0x150]
call fcn.004100d8
mov esi, eax
mov dword [rsp + 0x94], eax
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x140]
call fcn.00402db8
nop
cmp dword [rsp + 0x168], r14d
jne 0x425b25
lea rdx, str.LZMA
lea rcx, [rsp + 0x160]
call fcn.00402dec
cmp r15, r14
je 0x425c2f
mov dword [rsp + 0x208], r14d
mov dword [rsp + 0x1fc], 0x4b0
mov dword [rsp + 0x204], 4
mov dword [rsp + 0x200], 0xbe
mov byte [rsp + 0x1f8], dil
lea rcx, [rsp + 0x150]
call fcn.0041011c
cmp byte [rsp + 0x91], r14b
je 0x425b80
mov rcx, qword [rsp + 0xe0]
jmp 0x425bad
lea rcx, [rax + 0x10000]
cmp rcx, rax
jae 0x425bad
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 0x80070057
jmp 0x426c91
lea rax, [rsp + 0x1f8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r12
mov eax, 0x20
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x150]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xa0]
mov r8b, dil
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
call fcn.00422e60
mov esi, eax
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rdx, [0x00462800]
mov rcx, qword [rsp + 0x160]
call fcn.004029b0
cmp al, r14b
je 0x425c5c
lea rdx, str.crc32
lea rcx, [rsp + 0x160]
call fcn.00402dec
lea r8, [rsp + 0x400]
lea rdx, [rsp + 0x160]
mov rdi, qword [rsp + 0x520]
mov rcx, rdi
call fcn.0040dbc4
mov r14b, al
mov byte [rsp + 0x90], al
mov r15, 0xffffffffffffffff
mov eax, r15d
xor ecx, ecx
mov byte [rsp + 0x98], cl
cmp r14b, cl
jne 0x425ce3
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x188]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x400]
mov r8b, 1
lea rdx, [rsp + 0x140]
mov rcx, rdi
call fcn.0040dab4
xor edi, edi
cmp byte [rsp + 0x98], dil
cmove eax, r15d
jmp 0x425ce5
xor edi, edi
lea rcx, [0x00462530]
mov qword [rsp + 0x2f0], rcx
mov r8d, 1
mov byte [rsp + 0x2f8], r8b
mov byte [rsp + 0x2f9], dil
mov byte [rsp + 0x2fa], dil
mov dword [rsp + 0x2fc], edi
mov dword [rsp + 0x300], r8d
mov dword [rsp + 0x304], r8d
mov qword [rsp + 0x308], rdi
mov byte [rsp + 0x320], dil
mov dword [rsp + 0x330], edi
mov edx, r8d
lea rcx, [rsp + 0x3b8]
mov qword [rcx], rdi
add rcx, 0x38
sub edx, r8d
jns 0x425d4b
mov qword [rsp + 0x338], rdi
mov qword [rsp + 0x340], rdi
mov qword [rsp + 0x348], rdi
mov qword [rsp + 0x350], rdi
mov qword [rsp + 0x358], rdi
mov qword [rsp + 0x360], rdi
mov qword [rsp + 0x368], rdi
mov qword [rsp + 0x370], rdi
mov qword [rsp + 0x378], rdi
mov qword [rsp + 0x380], rdi
mov qword [rsp + 0x318], r12
cmp r14b, dil
jne 0x426cd0
cmp eax, r15d
jne 0x426cd0
mov byte [rsp + 0x90], dil
lea rdx, str.hash
mov rcx, qword [rsp + 0x160]
call fcn.004029b0
mov ecx, 0x2a
xor edx, edx
cmp al, dl
je 0x425e1c
mov dil, 1
mov byte [rsp + 0x90], dil
lea rdx, [0x0045f8d0]
lea rcx, [rsp + 0x160]
call fcn.00402dec
mov r8d, 1
mov r15b, r8b
mov dword [rsp + 0x9c], r15d
xor edx, edx
jmp 0x425e43
mov dl, cl
mov rcx, qword [rsp + 0x160]
call fcn.004027c4
xor edx, edx
movzx r15d, dl
cmp eax, edx
lea r8d, [rdx + 1]
cmovge r15d, r8d
mov dword [rsp + 0x9c], r15d
mov eax, edx
mov dword [rsp + 0xe8], edx
mov r9d, 0x12
mov r14d, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], r14d
cmp byte [rsp + 0xbc], dl
jne 0x425e75
cmp eax, edx
jne 0x426ca5
jmp 0x425edd
mov r14d, r8d
mov dword [rsp + 0xb8], r8d
cmp eax, edx
je 0x425ebe
mov ecx, dword [rsp + 0xd8]
cmp ecx, 2
jb 0x426ca5
mov r14d, ecx
mov dword [rsp + 0xb8], ecx
cmp eax, r8d
jne 0x425eb5
cmp ecx, 4
jb 0x425ec2
shr r14d, 1
mov dword [rsp + 0xb8], r14d
jmp 0x425ec2
cmp ecx, 4
jb 0x426ca5
cmp eax, edx
jbe 0x425edd
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
xor edx, edx
lea r9d, [rdx + 0x12]
cmp bl, dl
jne 0x425fa5
cmp dil, dl
jne 0x425faa
mov al, r15b
neg al
sbb edi, edi
add edi, 0x19
mov ebx, edi
cmp byte [rsp + 0xbd], dl
je 0x425f4b
cmp edi, r9d
jbe 0x425f4b
mov r13d, 1
mov r12d, 0xffffffff
mov ecx, ebx
mov r8, r13
shl r8, cl
mov r9b, r15b
mov edx, esi
mov ecx, r14d
call fcn.0041dc44
add rax, 0x800000
cmp rax, qword [rsp + 0x228]
jbe 0x425f41
add ebx, r12d
cmp ebx, 0x12
ja 0x425f14
mov r12, qword [rsp + 0x528]
xor edx, edx
mov esi, ebx
mov ecx, ebx
mov ebp, 1
shl rbp, cl
mov qword [rsp + 0x120], rbp
cmp r15b, dl
je 0x425fca
cmp ebx, edi
je 0x425fc1
mov rax, qword [r12]
lea rdx, str.Dictionary_reduced_to:
mov rcx, r12
call qword [rax]
mov r8d, 1
mov rdx, rsi
mov rcx, r12
call fcn.0041e154
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov dil, byte [rsp + 0x90]
mov esi, dword [rsp + 0x94]
xor edx, edx
cmp dil, dl
je 0x425fd1
lea r9, [rbp + 0x8000]
mov eax, r14d
imul r9, rax
add r9, 0x200000
jmp 0x425fe4
mov esi, dword [rsp + 0x94]
jmp 0x425fd1
mov esi, dword [rsp + 0x94]
mov r9b, r15b
mov r8, rbp
mov edx, esi
mov ecx, r14d
call fcn.0041dc44
mov r9, rax
mov dword [rsp + 0x28], r14d
lea rax, str.Benchmark_threads:
mov qword [rsp + 0x20], rax
mov ebx, 1
mov r8b, bl
lea rdx, str.usage:
mov rcx, r12
call fcn.0041e500
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
xor eax, eax
cmp r15b, al
je 0x426041
lea r8d, [rbx + 0xb]
mov dword [rsp + 0x2fc], r8d
mov dil, al
mov byte [rsp + 0x93], al
jmp 0x426059
mov r8d, 4
mov dword [rsp + 0x2fc], r8d
mov dil, bl
mov byte [rsp + 0x93], bl
mov byte [rsp + 0x2f9], dil
movzx esi, al
cmp r15b, al
cmovne esi, ebx
mov dword [rsp + 0xc0], esi
mov ebx, 0x1e
cmp sil, al
lea ecx, [rbx + 0xc]
cmovne ebx, ecx
mov dword [rsp + 0x188], ebx
cmp dil, al
je 0x4260ca
mov dl, 0x20
mov rcx, r12
call fcn.0041e1c8
mov r8d, ebx
lea rdx, str.Compressing
mov rcx, r12
call fcn.0041e63c
mov r11, qword [r12]
lea rdx, [0x004621d8]
mov rcx, r12
call qword [r11]
mov r8d, ebx
lea rdx, str.Decompressing
mov rcx, r12
call fcn.0041e63c
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
lea rax, str.Method
lea rdx, str.Dict
xor r14d, r14d
cmp r15b, r14b
cmovne rdx, rax
mov r8d, dword [rsp + 0x2fc]
mov rcx, r12
call fcn.0041e5f8
mov ebx, r14d
lea ebp, [r14 + 1]
lea r15d, [r14 + 0xa]
mov r8d, r15d
lea rdx, str.Speed
mov rcx, r12
call fcn.0041e63c
mov r8d, 6
lea rdx, str.Usage
mov rcx, r12
call fcn.0041e63c
mov r8d, 7
lea rdx, [0x00462790]
mov rcx, r12
call fcn.0041e63c
mov r8d, 7
lea rdx, str.Rating
mov rcx, r12
call fcn.0041e63c
cmp sil, r14b
je 0x426187
mov r8d, 6
lea rdx, [0x00462784]
mov rcx, r12
call fcn.0041e63c
mov r8d, 6
lea rdx, str.Effec
mov rcx, r12
call fcn.0041e63c
cmp dil, r14b
je 0x4261ac
cmp ebx, r14d
jne 0x4261a1
mov rax, qword [r12]
lea rdx, [0x004621d8]
mov rcx, r12
call qword [rax]
add ebx, ebp
cmp ebx, 2
jl 0x426107
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov r8d, dword [rsp + 0x2fc]
mov dl, 0x20
mov rcx, r12
call fcn.0041e1c8
xor r13d, r13d
mov ebx, r13d
mov rbp, qword [rsp + 0x120]
lea r14d, [r13 + 1]
mov r8d, r15d
lea rdx, str.KiB_s
mov rcx, r12
call fcn.0041e63c
mov r8d, 6
lea rdx, [0x00462834]
mov rcx, r12
call fcn.0041e63c
mov r8d, 7
lea rdx, str.MIPS
mov rcx, r12
call fcn.0041e63c
mov r8d, 7
lea rdx, str.MIPS
mov rcx, r12
call fcn.0041e63c
cmp sil, r13b
je 0x42625a
mov r8d, 6
lea rdx, [0x00462834]
mov rcx, r12
call fcn.0041e63c
mov r8d, 6
lea rdx, [0x00462834]
mov rcx, r12
call fcn.0041e63c
cmp dil, r13b
je 0x426280
cmp ebx, r13d
jne 0x426274
mov rax, qword [r12]
lea rdx, [0x004621d8]
mov rcx, r12
call qword [rax]
add ebx, r14d
cmp ebx, 2
jl 0x4261da
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
xor ecx, ecx
mov r15, rcx
mov rax, qword [rsp + 0x108]
cmp rax, rcx
cmovne r15, rax
mov ebx, dword [rsp + 0x9c]
cmp bl, cl
mov r13, qword [rsp + 0x1a8]
mov r14d, dword [rsp + 0xb8]
je 0x4265d0
mov edi, ecx
cmp dword [rsp + 0x540], ecx
jbe 0x4269fd
jmp 0x4262db
xor ecx, ecx
cmp edi, ecx
je 0x4262eb
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
xor ecx, ecx
mov ebx, ecx
mov rsi, qword [rsp + 0x108]
mov r8d, 0xc
lea rdx, [0x00462770]
mov rcx, r12
call fcn.0041e5f8
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x1c8], rax
mov dword [rsp + 0x1d0], r14d
cmp ebx, 2
je 0x426339
xor r15d, r15d
cmp rsi, r15
jne 0x42633c
mov byte [rsp + 0x1d4], r15b
jmp 0x426348
xor r15d, r15d
mov eax, 1
mov byte [rsp + 0x1d4], al
mov qword [rsp + 0x1d8], rsi
lea r8, [rsp + 0x230]
mov rdx, r12
lea rcx, [rsp + 0x1c8]
call fcn.00422088
mov esi, eax
cmp eax, r15d
jne 0x426bcd
mov r15, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x318]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rsi, qword [rsp + 0x108]
xor eax, eax
cmp rsi, rax
cmovne r15, rsi
inc ebx
cmp ebx, 3
jb 0x4262f5
mov rcx, qword [rsp + 0x318]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r10d, 1
mov byte [rsp + 0x2fa], r10b
mov qword [rsp + 0x308], r15
xor r9d, r9d
cmp byte [rsp + 0x90], r9b
jne 0x426483
mov rax, rbp
mov r8b, byte [rsp + 0x91]
cmp r8b, r9b
je 0x42640a
mov rdx, qword [rsp + 0xe0]
mov rax, rdx
mov cl, byte [rsp + 0x92]
cmp cl, r9b
je 0x426416
cmp rdx, rbp
cmova rax, rbp
jmp 0x426411
mov cl, byte [rsp + 0x92]
cmp cl, r9b
jne 0x426420
cmp r8b, r9b
jne 0x426420
mov cl, r9b
jmp 0x426423
mov cl, r10b
lea rdx, [rsp + 0x2f0]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], cl
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov rbx, qword [rsp + 0x110]
mov r8, rbx
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x520]
call fcn.004242a8
mov esi, eax
xor r9d, r9d
cmp eax, r9d
jne 0x426be9
jmp 0x42648d
mov rbx, qword [rsp + 0x110]
jmp 0x426493
mov r10d, 1
mov eax, 0x20000
mov cl, byte [rsp + 0x92]
cmp cl, r9b
cmovne rax, rbp
cmp byte [rsp + 0x91], r9b
je 0x4264c7
mov rdx, qword [rsp + 0xe0]
mov rax, rdx
cmp cl, r9b
je 0x4264c7
cmp rdx, rbp
cmova rax, rbp
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x50], r10b
lea rcx, [rsp + 0x338]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x230]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x2f0]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rbx
lea rdx, [rsp + 0x150]
mov rcx, qword [rsp + 0x520]
call fcn.0042277c
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x426c05
mov rcx, qword [rsp + 0x318]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8d, 0xc
lea rdx, [0x00462770]
mov rcx, r12
call fcn.0041e5f8
mov qword [rsp + 0x1c8], rbx
mov dword [rsp + 0x1d0], r14d
mov rax, qword [rsp + 0x108]
xor ebx, ebx
cmp rax, rbx
setne byte [rsp + 0x1d4]
mov qword [rsp + 0x1d8], rax
lea r8, [rsp + 0x230]
mov rdx, r12
lea rcx, [rsp + 0x1c8]
call fcn.00422088
mov esi, eax
cmp eax, ebx
jne 0x426c1e
mov rcx, qword [rsp + 0x318]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
inc edi
cmp edi, dword [rsp + 0x540]
jb 0x4262d9
mov ebx, dword [rsp + 0x9c]
mov esi, dword [rsp + 0xc0]
jmp 0x4269fd
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x160]
call fcn.004029b0
xor r14d, r14d
cmp al, r14b
jne 0x426731
mov esi, r14d
lea rdi, [0x00461e10]
mov rdx, qword [rdi + 0x18]
lea rcx, [rsp + 0xa8]
call fcn.00402d74
nop
lea rcx, [rsp + 0x128]
call fcn.00402d3c
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xa8]
call fcn.004027c4
mov ebx, eax
cmp eax, r14d
jl 0x426664
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x128]
call fcn.00402dec
cmp ebx, dword [rsp + 0xb0]
jae 0x426664
mov dword [rsp + 0xb0], ebx
mov rax, qword [rsp + 0xa8]
mov byte [rbx + rax], r14b
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0xa8]
call fcn.004029b0
cmp al, r14b
je 0x4266c5
cmp dword [rsp + 0x130], r14d
je 0x4266f1
lea rdx, [0x0046276c]
mov rcx, qword [rsp + 0x128]
call sub.msvcrt.dll_strcmp
cmp eax, r14d
jne 0x4266ab
cmp dword [rsp + 0x178], r14d
je 0x4266f1
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x170]
call fcn.00402934
cmp al, r14b
jne 0x4266f1
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
inc esi
add rdi, 0x20
cmp esi, 0x15
jb 0x4265fa
jmp 0x426731
mov eax, dword [rdi + 8]
mov dword [rsp + 0x324], eax
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x328], eax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x32c], eax
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov esi, 1
jmp 0x42675f
mov dword [rsp + 0x324], 0x4b0
mov dword [rsp + 0x32c], 4
mov dword [rsp + 0x328], 0xbe
mov esi, 1
mov byte [rsp + 0x320], sil
mov edx, dword [rsp + 0xdc]
mov r8d, 0x12
cmp edx, r8d
cmovb edx, r8d
mov dword [rsp + 0xdc], edx
xor edi, edi
cmp dword [rsp + 0x540], edi
jbe 0x4269ef
mov ecx, edx
mov rax, rsi
shl rax, cl
mov ebx, edx
cmp rbp, rax
cmovb ebx, r8d
cmp byte [rsp + 0x548], dil
mov eax, 0x20
cmove ebx, eax
mov ecx, ebx
mov rax, rsi
shl rax, cl
cmp rax, rbp
jbe 0x4267d9
mov r13d, 0xffffffff
cmp ebx, edi
jbe 0x4267d1
add ebx, r13d
mov ecx, ebx
mov rax, rsi
shl rax, cl
cmp rax, rbp
ja 0x4267bd
mov r13, qword [rsp + 0x1a8]
mov ecx, ebx
mov rdi, rsi
shl rdi, cl
cmp rdi, rbp
ja 0x4269cc
mov edx, ebx
mov rcx, r12
call fcn.0041e728
mov qword [rsp + 0x310], rdi
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x410]
call fcn.00420f30
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x420]
call fcn.00402db8
nop
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x430]
call fcn.00403650
nop
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x420]
call fcn.004029b0
xor edi, edi
cmp al, dil
je 0x4268c6
mov word [rsp + 0x1f8], 0x13
mov word [rsp + 0x1fa], di
mov dword [rsp + 0x200], ebx
lea rdx, [0x004604c8]
lea rcx, [rsp + 0x2e0]
call fcn.004035a8
nop
lea r8, [rsp + 0x1f8]
mov rdx, rax
lea rcx, [rsp + 0x410]
call fcn.00410c8c
mov esi, eax
mov rcx, qword [rsp + 0x2e0]
call fcn.00402364
cmp esi, edi
jne 0x426c37
lea rcx, [rsp + 0x1f8]
call fcn.0040be98
lea esi, [rdi + 1]
cmp byte [rsp + 0x91], dil
je 0x4268da
mov rax, qword [rsp + 0xe0]
jmp 0x4268f0
mov rax, qword [rsp + 0x310]
cmp rax, 0x40000
jb 0x4268f0
add rax, 0x10000
lea rcx, [rsp + 0x320]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x2f0]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x40], 0x20
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x410]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xb8]
mov r8b, sil
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
call fcn.00422e60
mov esi, eax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
cmp esi, edi
jne 0x426c6c
cmp byte [rsp + 0x548], dil
je 0x4269ad
lea rcx, [rsp + 0x410]
call fcn.00422494
mov esi, 1
add ebx, esi
mov ecx, ebx
mov rdi, rsi
shl rdi, cl
cmp rdi, rbp
jbe 0x4267ea
mov edx, dword [rsp + 0xdc]
xor edi, edi
lea r8d, [rsi + 0x11]
jmp 0x4269ce
lea rcx, [rsp + 0x410]
call fcn.00422494
mov edx, dword [rsp + 0xdc]
mov esi, 1
lea r8d, [rsi + 0x11]
jmp 0x4269ce
xor edi, edi
add r14d, esi
cmp r14d, dword [rsp + 0x540]
jb 0x426789
mov ebx, dword [rsp + 0x9c]
mov esi, dword [rsp + 0xc0]
jmp 0x4269fd
mov ebx, dword [rsp + 0x9c]
mov esi, dword [rsp + 0xc0]
mov eax, dword [rsp + 0x2fc]
mov r14d, dword [rsp + 0x188]
lea r8d, [r14 + rax]
mov dl, 0x2d
mov rcx, r12
call fcn.0041e1c8
mov dil, byte [rsp + 0x93]
xor eax, eax
cmp dil, al
je 0x426a46
mov rax, qword [r12]
lea rdx, [0x004621d8]
mov rcx, r12
call qword [rax]
mov r8d, r14d
mov dl, 0x2d
mov rcx, r12
call fcn.0041e1c8
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
xor r14d, r14d
cmp dil, r14b
je 0x426acd
mov r8d, dword [rsp + 0x2fc]
lea rdx, str.Avr:
mov rcx, r12
call fcn.0041e5f8
cmp bl, r14b
sete bl
lea rax, [rsp + 0x338]
mov qword [rsp + 0x20], rax
mov r9b, bl
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041e2fc
mov r11, qword [r12]
lea rdx, [0x004621d8]
mov rcx, r12
call qword [r11]
lea r11, [rsp + 0x360]
mov qword [rsp + 0x20], r11
mov r9b, bl
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041e2fc
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov r8d, dword [rsp + 0x2fc]
lea rdx, str.Tot:
mov rcx, r12
call fcn.0041e5f8
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x338]
mov r8d, 0x28
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x340]
add rcx, rax
mov qword [rsp + 0x288], rcx
mov rax, qword [rsp + 0x370]
add qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x378]
add qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x380]
add qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x360]
add qword [rsp + 0x280], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
mov dl, sil
mov rcx, r12
call fcn.0041e2fc
mov r11, qword [r12]
mov rcx, r12
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0xe8]
mov r8d, 1
add eax, r8d
mov dword [rsp + 0xe8], eax
cmp eax, 3
mov r15d, dword [rsp + 0x9c]
mov bl, byte [rsp + 0x92]
mov dil, byte [rsp + 0x90]
mov esi, dword [rsp + 0x94]
mov rdx, r14
lea r9d, [r8 + 0x11]
jb 0x425e52
jmp 0x426ca5
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x1f8]
call fcn.0040be98
nop
lea rcx, [rsp + 0x410]
call fcn.00422494
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x410]
call fcn.00422494
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
lea rcx, [rsp + 0x150]
call fcn.00422494
mov eax, esi
jmp 0x427bf1
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
lea rcx, [rsp + 0x150]
call fcn.00422494
xor eax, eax
jmp 0x427bf1
cmp r12, rdi
jne 0x426cf3
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, 1
jmp 0x426c91
mov eax, 0x8000000
cmp bl, dil
cmove rbp, rax
mov qword [rsp + 0x120], rbp
cmp byte [rsp + 0x91], dil
je 0x426d44
cmp bl, dil
jne 0x426d2b
mov r15, qword [rsp + 0xe0]
mov rbp, r15
mov qword [rsp + 0x120], r15
jmp 0x426d4c
mov r15, qword [rsp + 0xe0]
cmp rbp, r15
cmova rbp, r15
mov qword [rsp + 0x120], rbp
jmp 0x426d4c
mov r15, qword [rsp + 0xe0]
mov edx, r8d
lea rcx, [rsp + 0x150]
call fcn.004100a8
mov ebx, eax
cmp eax, edi
jl 0x426dee
mov ebp, 0xffffffff
mov r15d, 1
mov esi, ebx
mov r9, qword [rsp + 0x150]
mov rdi, qword [r9 + rsi*8]
xor r13d, r13d
cmp rdi, r13
je 0x426da0
lea rcx, [rdi + 8]
call fcn.0040be98
mov rcx, rdi
call fcn.00402364
mov r9, qword [rsp + 0x150]
lea ecx, [rbx + 1]
mov r8d, dword [rsp + 0x158]
sub r8d, ecx
shl r8, 3
lea rdx, [r9 + rcx*8]
lea rcx, [r9 + rsi*8]
call sub.msvcrt.dll_memmove
add dword [rsp + 0x158], ebp
mov edx, r15d
lea rcx, [rsp + 0x150]
call fcn.004100a8
mov ebx, eax
xor edi, edi
cmp eax, edi
jge 0x426d71
mov rbp, qword [rsp + 0x120]
mov r15, qword [rsp + 0xe0]
mov dword [rsp + 0x9c], 0x1000
mov qword [rsp + 0x270], rdi
cmp r14b, dil
je 0x426f23
mov esi, edi
lea rdi, [0x004620b4]
mov rdx, qword [rdi + 0xc]
lea rcx, [rsp + 0xa8]
call fcn.00402d74
nop
lea rcx, [rsp + 0x128]
call fcn.00402d3c
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xa8]
call fcn.004027c4
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x426e7f
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x128]
call fcn.00402dec
cmp ebx, dword [rsp + 0xb0]
jae 0x426e7f
mov dword [rsp + 0xb0], ebx
mov rax, qword [rsp + 0xa8]
xor edx, edx
mov byte [rbx + rax], dl
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0xa8]
call fcn.004029b0
xor ecx, ecx
cmp al, cl
je 0x426eca
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x170]
call fcn.004029f4
mov ecx, dword [rdi]
mov dword [rsp + 0x9c], ecx
lea rcx, [rdi + 4]
mov qword [rsp + 0x270], rcx
xor ecx, ecx
cmp al, cl
jne 0x426efe
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov ebx, 1
add esi, ebx
add rdi, 0x18
cmp esi, 0xc
jb 0x426e13
jmp 0x427023
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov ebx, 1
jmp 0x427023
lea rsi, str.LZMA:x1
mov rdx, qword [rsi]
lea rcx, [rsp + 0xa8]
call fcn.00402d74
nop
lea rcx, [rsp + 0x128]
call fcn.00402d3c
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xa8]
call fcn.004027c4
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x426f95
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x128]
call fcn.00402dec
cmp ebx, dword [rsp + 0xb0]
jae 0x426f95
mov dword [rsp + 0xb0], ebx
mov rax, qword [rsp + 0xa8]
xor edx, edx
mov byte [rbx + rax], dl
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0xa8]
call fcn.004029b0
xor ecx, ecx
cmp al, cl
je 0x426fd2
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x170]
call fcn.004029f4
mov dword [rsp + 0x2e0], edi
xor ecx, ecx
cmp al, cl
jne 0x427003
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov ebx, 1
add edi, ebx
add rsi, 0x20
cmp edi, 0x15
jb 0x426f2a
jmp 0x427023
mov rcx, qword [rsp + 0x128]
call fcn.00402364
nop
mov rcx, qword [rsp + 0xa8]
call fcn.00402364
mov ebx, 1
mov r9d, 0x100000
mov rdx, rbp
mov al, r14b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 3
mov r8d, dword [rsp + 0xa0]
xor esi, esi
cmp byte [rsp + 0x91], sil
je 0x427068
lea r9, [r15 + 0x100000]
cmp rbp, r15
cmova rdx, r15
cmp r14b, sil
je 0x427068
mov ecx, esi
cmp r8d, ebx
cmovne ecx, ebx
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, bl
lea rdx, str.usage:
mov rcx, r12
call fcn.0041e500
mov r15, rsi
mov qword [rsp + 0xa8], rsi
mov r14d, esi
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xb4], esi
mov edi, dword [rsp + 0x1a4]
cmp edi, dword [rsp + 0xa0]
ja 0x427192
jmp 0x4270cd
mov ebx, 1
lea rcx, [rsp + 0xa8]
call fcn.00428958
mov r14d, dword [rsp + 0xb0]
mov rax, r14
add r14d, ebx
mov dword [rsp + 0xb0], r14d
mov r15, qword [rsp + 0xa8]
mov dword [r15 + rax*4], edi
lea ebp, [rdi + rdi]
mov ebx, dword [rsp + 0xa0]
mov esi, ebx
shr esi, 1
cmp esi, edi
jbe 0x427148
cmp esi, ebp
jae 0x427148
lea rcx, [rsp + 0xa8]
call fcn.00428958
mov r14d, dword [rsp + 0xb0]
mov rax, r14
inc r14d
mov dword [rsp + 0xb0], r14d
mov r15, qword [rsp + 0xa8]
mov dword [r15 + rax*4], esi
mov ebx, dword [rsp + 0xa0]
cmp ebx, edi
jbe 0x427186
cmp ebx, ebp
jae 0x427186
lea rcx, [rsp + 0xa8]
call fcn.00428958
mov r14d, dword [rsp + 0xb0]
mov rax, r14
inc r14d
mov dword [rsp + 0xb0], r14d
mov r15, qword [rsp + 0xa8]
mov dword [r15 + rax*4], ebx
mov ebx, dword [rsp + 0xa0]
mov edi, ebp
cmp ebp, ebx
jbe 0x4270c8
xor esi, esi
mov al, byte [rsp + 0x90]
neg al
sbb eax, eax
add eax, 2
mov dword [rsp + 0xb8], eax
mov qword [rsp + 0x2a8], rsi
mov qword [rsp + 0x250], rsi
mov esi, r14d
imul esi, eax
mov ebp, esi
mov ebx, esi
shl rbx, 3
mov rcx, rbx
call fcn.0040232c
mov rdi, rax
mov qword [rsp + 0x2a8], rax
mov rcx, rbx
call fcn.0040232c
mov rbx, rax
mov qword [rsp + 0x250], rax
xor edx, edx
cmp esi, edx
jbe 0x427207
mov rcx, rdi
sub rcx, rax
mov qword [rcx + rax], rdx
mov qword [rax], rdx
add rax, 8
dec rbp
jne 0x4271f7
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
xor edi, edi
mov esi, edi
mov dword [rsp + 0xe8], edi
mov ebp, dword [rsp + 0xb8]
lea rbx, str.Usage
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov r11, qword [r12]
lea rax, [0x00462754]
lea rdx, str.Size
cmp esi, 1
cmove rdx, rax
lea rax, str.THRD
cmp esi, edi
cmove rdx, rax
mov rcx, r12
call qword [r11]
xor ecx, ecx
mov eax, ecx
mov dword [rsp + 0x94], ecx
cmp r14d, ecx
jbe 0x427384
mov r13, r15
mov qword [rsp + 0x190], r15
cmp eax, ecx
je 0x42729c
mov rax, qword [r12]
lea rdx, [0x00462480]
mov rcx, r12
call qword [rax]
mov eax, dword [rsp + 0x94]
xor ecx, ecx
cmp esi, ecx
jne 0x4272d2
lea r8d, [rbp - 1]
imul r8d, r8d, 0xf
mov dl, 0x20
mov rcx, r12
call fcn.0041e1c8
mov edx, dword [r13]
mov r8d, 0xe
mov rcx, r12
call fcn.0041e154
mov eax, dword [rsp + 0x94]
xor ecx, ecx
jmp 0x42735e
cmp ebp, ecx
jbe 0x42735e
lea r13, [0x00462834]
mov edx, 1
cmp esi, edx
cmove r13, rbx
lea rcx, [0x00462740]
lea rax, str.MB_s
cmp esi, edx
cmove rax, rcx
mov qword [rsp + 0x138], rax
mov eax, ebp
mov r15, qword [rsp + 0x138]
mov rbp, rax
mov rsi, rdx
mov r8d, 6
mov rdx, r13
mov rcx, r12
call fcn.0041e63c
mov r8d, 9
mov rdx, r15
mov rcx, r12
call fcn.0041e63c
sub rbp, rsi
jne 0x427318
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x94]
mov r13, qword [rsp + 0x190]
xor ecx, ecx
inc eax
mov dword [rsp + 0x94], eax
add r13, 4
mov qword [rsp + 0x190], r13
cmp eax, r14d
jb 0x42727f
mov r15, qword [rsp + 0xa8]
inc esi
mov dword [rsp + 0xe8], esi
cmp esi, 3
mov edi, 0
jb 0x42722a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
xor ebp, ebp
mov rdx, rbp
mov qword [rsp + 0x190], rbp
lea ecx, [rdi + 0xa]
cmp byte [rsp + 0x93], bpl
cmovne ecx, dword [rsp + 0xdc]
mov dword [rsp + 0x94], ecx
mov rbx, qword [rsp + 0x250]
mov rdi, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x1a8]
mov r8, qword [rsp + 0xe0]
mov r9b, byte [rsp + 0x91]
lea r10d, [rbp + 1]
mov rax, r10
shl rax, cl
mov qword [rsp + 0x188], r8
cmp r8, rax
ja 0x427410
cmp r9b, bpl
jne 0x427418
mov qword [rsp + 0x188], rax
mov esi, ebp
mov dword [rsp + 0xd8], ebp
cmp dword [rsp + 0x540], ebp
jbe 0x42798a
mov edx, ecx
mov rcx, r12
call fcn.0041e728
mov dword [rsp + 0xc0], ebp
xor eax, eax
cmp r14d, eax
jbe 0x427935
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x2d0], rbx
mov rax, rdi
sub rax, rbx
mov qword [rsp + 0x128], rax
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x4279af
xor esi, esi
cmp byte [rsp + 0x90], sil
je 0x4275b9
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0x138], rsi
cmp dword [rsp + 0x94], 0x11
jne 0x4274c2
cmp byte [rsp + 0x91], sil
jne 0x4274c2
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x80], rsi
mov byte [rsp + 0x78], sil
mov qword [rsp + 0x70], rsi
mov byte [rsp + 0x68], sil
lea rcx, [rsp + 0x230]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
mov eax, 1
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9, qword [rsp + 0x188]
mov rax, qword [rsp + 0x108]
mov r8d, dword [rax]
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
call fcn.004211d8
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x4279e6
cmp ebp, eax
je 0x427578
mov rax, qword [r12]
lea rdx, [0x00462480]
mov rcx, r12
call qword [rax]
mov rbp, qword [rsp + 0xe8]
mov r8, rbp
mov rsi, qword [rsp + 0x138]
mov rdx, rsi
mov rcx, r12
call fcn.0041e784
mov rax, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x128]
add qword [rax + rcx], rbp
add qword [rax], rsi
mov ebp, dword [rsp + 0xc0]
jmp 0x4278fe
lea rdx, str.AES128
mov rcx, qword [rsp + 0x160]
call fcn.0040284c
cmp al, sil
je 0x4275d9
mov ecx, 0x10
jmp 0x4275fb
lea rdx, str.AES192
mov rcx, qword [rsp + 0x160]
call fcn.0040284c
mov ecx, 0x20
cmp al, sil
lea eax, [rcx - 8]
cmovne ecx, eax
mov dword [rsp + 0x330], ecx
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x1c8]
call fcn.00420f30
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x1d8]
call fcn.00402db8
nop
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x1e8]
call fcn.00403650
nop
mov rax, qword [rsp + 0x2e0]
cdqe
cmp rax, rsi
jl 0x427690
mov rcx, rax
shl rcx, 5
lea rax, [0x00461e10]
add rcx, rax
mov eax, dword [rcx + 8]
mov dword [rsp + 0x324], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x32c], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x328], eax
mov esi, dword [rcx + 4]
mov dword [rsp + 0xe8], esi
xor esi, esi
jmp 0x4276da
mov dword [rsp + 0xe8], 0x20
cmp byte [rsp + 0x98], sil
je 0x4276bd
mov dword [rsp + 0x324], 4
mov dword [rsp + 0x32c], 4
jmp 0x4276d3
mov dword [rsp + 0x324], 0x400
mov dword [rsp + 0x32c], 0x40
mov dword [rsp + 0x328], esi
mov byte [rsp + 0x2f8], sil
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x1d8]
call fcn.004029b0
cmp al, sil
je 0x42776e
mov word [rsp + 0x280], 0x13
mov word [rsp + 0x282], si
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x288], eax
lea rdx, [0x004604c8]
lea rcx, [rsp + 0x1f8]
call fcn.004035a8
nop
lea r8, [rsp + 0x280]
mov rdx, rax
lea rcx, [rsp + 0x1c8]
call fcn.00410c8c
mov esi, eax
mov rcx, qword [rsp + 0x1f8]
call fcn.00402364
xor eax, eax
cmp esi, eax
jne 0x427a1d
lea rcx, [rsp + 0x280]
call fcn.0040be98
lea rax, [rsp + 0x320]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r12
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x108]
mov r9d, dword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
call fcn.00422e60
mov esi, eax
xor eax, eax
cmp esi, eax
jne 0x427a70
cmp ebp, eax
je 0x427807
mov rax, qword [r12]
lea rdx, [0x00462480]
mov rcx, r12
call qword [rax]
mov r13, qword [rsp + 0x1b8]
lea r15, [rsp + 0x3a0]
mov rsi, rbx
sub rsi, rdi
mov ebp, 2
xor ebx, ebx
lea edi, [rbp - 1]
mov rcx, qword [r15]
mov r8, qword [r15 - 0x18]
cmp rcx, rbx
cmove rcx, rdi
mov rax, r8
cmp r8, rbx
cmove rax, rdi
cvtsi2sd xmm0, qword [r15 - 0x10]
cvtsi2sd xmm1, rax
divsd xmm0, xmm1
cvtsi2sd xmm3, qword [r15 - 8]
cvtsi2sd xmm2, rcx
divsd xmm3, xmm2
mulsd xmm0, xmm3
mulsd xmm0, qword [0x00462390]
call fcn.0041d884
mov rdx, rax
cmp r8, rbx
cmove r8, rdi
mov rcx, qword [r15 + 0x18]
imul rcx, qword [r15 + 8]
cvtsi2sd xmm0, rcx
cvtsi2sd xmm1, qword [r15 - 0x10]
mulsd xmm0, xmm1
cvtsi2sd xmm2, r8
divsd xmm0, xmm2
call fcn.0041d884
add qword [rsi + r13], rdx
add qword [r13], rax
mov r8, rax
mov rcx, r12
call fcn.0041e784
add r13, 8
add r15, 0x38
sub rbp, rdi
jne 0x427827
lea rcx, [rsp + 0x1c8]
call fcn.00422494
mov rbx, qword [rsp + 0x250]
mov rdi, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x1a8]
mov r15, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x2d0]
mov ebp, dword [rsp + 0xc0]
inc ebp
mov dword [rsp + 0xc0], ebp
add rax, 8
mov qword [rsp + 0x2d0], rax
add qword [rsp + 0x108], 4
add qword [rsp + 0x1b8], 0x10
cmp ebp, r14d
jb 0x427470
mov esi, dword [rsp + 0xd8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov rdx, qword [rsp + 0x190]
mov r10d, 1
add rdx, r10
mov qword [rsp + 0x190], rdx
add esi, r10d
mov dword [rsp + 0xd8], esi
cmp esi, dword [rsp + 0x540]
mov ecx, dword [rsp + 0x94]
lea ebp, [r10 - 1]
jb 0x42742e
mov r8, qword [rsp + 0xe0]
mov r9b, byte [rsp + 0x91]
mov rax, qword [rsp + 0x188]
cmp rax, qword [rsp + 0x120]
jae 0x427ab5
add ecx, r10d
mov dword [rsp + 0x94], ecx
jmp 0x4273f8
mov rcx, rbx
call fcn.00402364
nop
mov rcx, rdi
call fcn.00402364
nop
mov rcx, r15
call fcn.00402364
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
mov rcx, rbx
call fcn.00402364
nop
mov rcx, rdi
call fcn.00402364
nop
mov rcx, r15
call fcn.00402364
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x280]
call fcn.0040be98
nop
lea rcx, [rsp + 0x1c8]
call fcn.00422494
nop
mov rcx, rbx
call fcn.00402364
nop
mov rcx, rdi
call fcn.00402364
nop
mov rcx, r15
call fcn.00402364
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
lea rcx, [rsp + 0x1c8]
call fcn.00422494
nop
mov rcx, rbx
call fcn.00402364
nop
mov rcx, rdi
call fcn.00402364
nop
mov rcx, r15
call fcn.00402364
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
jmp 0x426c91
cmp rdx, rbp
je 0x427b9d
mov rax, qword [r12]
lea rdx, str.Avg:
mov rcx, r12
call qword [rax]
mov esi, ebp
mov dword [rsp + 0xe8], ebp
cmp r14d, ebp
jbe 0x427b92
mov dword [rsp + 0xc0], ebp
mov eax, dword [rsp + 0xb8]
xor r13d, r13d
cmp esi, r13d
je 0x427b0d
mov rax, qword [r12]
lea rdx, [0x00462480]
mov rcx, r12
call qword [rax]
mov eax, dword [rsp + 0xb8]
cmp eax, r13d
jbe 0x427b65
mov r15d, ebp
mov r13d, eax
mov rsi, qword [rsp + 0x190]
mov ebp, 1
mov ecx, r15d
xor edx, edx
mov rax, qword [rdi + rcx*8]
div rsi
mov r8, rax
xor edx, edx
mov rax, qword [rbx + rcx*8]
div rsi
mov rdx, rax
mov rcx, r12
call fcn.0041e784
add r15d, ebp
sub r13, rbp
jne 0x427b25
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xb8]
inc esi
mov dword [rsp + 0xe8], esi
add ebp, eax
mov dword [rsp + 0xc0], ebp
cmp esi, r14d
jb 0x427af1
mov r13, qword [rsp + 0x1a8]
mov r15, qword [rsp + 0xa8]
xor ebp, ebp
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
nop
mov rcx, rbx
call fcn.00402364
nop
mov rcx, rdi
call fcn.00402364
nop
mov rcx, r15
call fcn.00402364
nop
mov rcx, qword [rsp + 0x140]
call fcn.00402364
nop
mov rcx, r13
call fcn.0045d450
nop
mov esi, ebp
jmp 0x426c91
mov rcx, r13
call fcn.0045d450
nop
lea rcx, [rsp + 0x150]
call fcn.00422494
mov eax, 0x80070057
add rsp, 0x4d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret