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

Disassembly:
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, 0x288
mov qword [rsp + 0x268], 0xfffffffffffffffe
mov rdi, r9
mov r15, r8
mov rsi, rdx
call fcn.004194ec
xor r12d, r12d
cmp al, r12b
jne 0x41d361
lea eax, [r12 + 1]
jmp 0x41eb4b
call fcn.0040b5e8
mov ebx, eax
mov dword [rsp + 0x80], eax
call fcn.0040b600
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x7c], ebx
mov dword [rsp + 0xc0], 4
mov byte [rsp + 0x73], r12b
mov qword [rsp + 0x138], r12
mov dword [rsp + 0x140], r12d
mov dword [rsp + 0x144], r12d
lea rcx, [rsp + 0x148]
call fcn.00402ab8
nop
lea rcx, [rsp + 0x158]
call fcn.004030d4
nop
mov r13d, r12d
mov ebp, 1
cmp dword [rdi + 8], r12d
jbe 0x41d714
mov r14d, ebx
mov rax, qword [rdi]
mov rbx, qword [r12 + rax]
xor eax, eax
mov word [rsp + 0xf0], ax
mov word [rsp + 0xf2], ax
mov qword [rsp + 0xf8], rax
mov rdx, rbx
lea rcx, [rsp + 0xc8]
call fcn.0040318c
nop
mov rcx, qword [rsp + 0xc8]
call fcn.00402690
xor r11d, r11d
cmp dword [rbx + 0x18], r11d
je 0x41d484
lea rdx, [rsp + 0xa0]
mov rcx, qword [rbx + 0x10]
call fcn.00403e24
mov rcx, qword [rsp + 0xa0]
xor edx, edx
cmp word [rcx], dx
jne 0x41d473
cmp dword [rbx + 0x18], edx
je 0x41d473
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x41d461
mov edx, eax
lea rcx, [rsp + 0xf0]
call fcn.0040b164
jmp 0x41d484
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.0040b190
jmp 0x41d484
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0xf0]
call fcn.0040b054
lea rdx, str.testtime
mov rcx, qword [rsp + 0xc8]
call fcn.00402780
xor ebx, ebx
cmp al, bl
je 0x41d50b
lea rdx, [0x0044e8ec]
lea rcx, [rsp + 0x90]
call fcn.00403144
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x90]
call fcn.0040d5ac
mov ebx, eax
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
xor r11d, r11d
cmp ebx, r11d
jne 0x41d6a3
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
jmp 0x41d689
lea rdx, [0x0044d0a4]
lea rcx, [rsp + 0xc8]
call fcn.00402740
cmp al, bl
je 0x41d643
mov rdx, qword [rsp + 0xc8]
add rdx, 4
lea rcx, [rsp + 0x120]
call fcn.00403144
nop
lea rdx, [0x0044c6f0]
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.msvcrt.dll_wcscmp]
cmp eax, ebx
jne 0x41d58d
mov byte [rsp + 0x73], bpl
mov rcx, qword [rsp + 0x120]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
jmp 0x41d689
cmp dword [rsp + 0x128], ebx
jne 0x41d5ed
cmp word [rsp + 0xf0], 8
jne 0x41d5ed
lea rdx, [0x0044c6f0]
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.msvcrt.dll_wcscmp]
cmp eax, ebx
jne 0x41d5ed
mov byte [rsp + 0x73], bpl
mov rcx, qword [rsp + 0x120]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
jmp 0x41d689
lea r9, [rsp + 0x7c]
mov r8d, r14d
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x120]
call fcn.0040d5fc
mov ebx, eax
xor r11d, r11d
cmp eax, r11d
jne 0x41d6c4
mov rcx, qword [rsp + 0x120]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
jmp 0x41d689
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x138]
call fcn.0040e444
mov ebx, eax
xor r11d, r11d
cmp eax, r11d
jne 0x41d6f3
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
add r13d, ebp
add r12, 8
cmp r13d, dword [rdi + 8]
jb 0x41d3d9
mov ebx, dword [rsp + 0x80]
jmp 0x41d714
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
nop
jmp 0x41eb09
mov rcx, qword [rsp + 0x120]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
nop
jmp 0x41eb09
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xf0]
call fcn.0040aedc
nop
jmp 0x41eb09
xor r13d, r13d
cmp rsi, r13
je 0x41d770
lea rcx, [rsp + 0x90]
call fcn.00402ab8
nop
lea rcx, [rsp + 0x90]
call fcn.00418e50
mov r11, qword [rsi]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call qword [r11]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
mov r11, qword [rsi]
lea rdx, str.CPU_Freq:
mov rcx, rsi
call qword [r11]
movabs rax, 0x400000000
mov r14, rax
mov qword [rsp + 0xd8], rax
cmp rsi, r13
je 0x41d8e0
mov r14d, 0x40
mov r12d, r13d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
cmp eax, r13d
jne 0x41d892
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov rdx, r14
imul rdx, rdx, 0xf4240
shr rdx, 7
mov r8d, dword [0x00467690]
mov ecx, eax
call fcn.00418484
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
sub r13, rbx
cmove r13, rbp
mov rax, r14
imul rax, rax, 0x3e8
xor edx, edx
div r13
mov rbx, rax
xor eax, eax
mov r8d, eax
cmp edi, 0xf1541213
sete r8b
add r8d, 5
mov rdx, rbx
mov rcx, rsi
call fcn.00418700
cmp r12d, 3
jl 0x41d887
imul rbx, rbx, 0xf4240
movabs rax, 0x400000000
mov qword [rsp + 0xd8], rax
mov edi, 0x1c9c380
cmp rbx, rdi
cmovb rbx, rdi
movabs rax, 0x4a817c800
cmp rbx, rax
jae 0x41d875
mov eax, dword [rsp + 0xc0]
xor r11d, r11d
cmp eax, r11d
je 0x41d866
imul rax, rbx
mov qword [rsp + 0xd8], rax
jmp 0x41d875
mov rax, rbx
shr rax, 2
mov qword [rsp + 0xd8], rax
cmp r12d, 8
jge 0x41d899
cmp r13, 0x3e8
jae 0x41d899
add r14, r14
add r12d, ebp
xor r13d, r13d
jmp 0x41d797
mov ebx, eax
jmp 0x41eb09
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov ebx, dword [rsp + 0x80]
mov dword [rsp + 0x20], ebx
lea r9, str.CPU_hardware_threads:
mov r8, qword [rsp + 0xe0]
lea rdx, str.size:
mov rcx, rsi
call fcn.00418a20
mov r14, qword [rsp + 0xd8]
xor r13d, r13d
mov eax, dword [rsp + 0x7c]
dec eax
cmp eax, 0xfff
ja 0x41eb39
mov r12d, r13d
mov dword [rsp + 0x74], r13d
mov edx, ebp
lea rcx, [rsp + 0x138]
call fcn.0040da88
cmp eax, r13d
jl 0x41d935
mov ecx, eax
mov rax, qword [rsp + 0x138]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], 0x13
jne 0x41d935
mov r12d, dword [rdx + 0x10]
mov dword [rsp + 0x74], r12d
mov dil, bpl
mov byte [rsp + 0x72], bpl
jmp 0x41d93d
mov dil, r13b
mov byte [rsp + 0x72], r13b
cmp dword [rsp + 0x150], r13d
jne 0x41d95b
lea rdx, str.LZMA
lea rcx, [rsp + 0x148]
call fcn.00402b68
cmp r15, r13
je 0x41d9ef
mov dword [rsp + 0x94], 0x4b0
mov dword [rsp + 0x9c], 4
mov dword [rsp + 0x98], 0xbe
mov byte [rsp + 0x90], bpl
lea rcx, [rsp + 0x138]
call fcn.00419618
add eax, 0x10000
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x1e
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x7c]
mov r8b, bpl
mov rdx, r14
mov rcx, qword [rsp + 0x2d0]
call fcn.0041c1d4
nop
mov ebx, eax
jmp 0x41eb09
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0xb0]
call fcn.00402b34
nop
lea rdx, [0x0044e8b4]
mov rcx, qword [rsp + 0xb0]
call fcn.004027a4
cmp al, r13b
je 0x41da32
lea rdx, str.crc32
lea rcx, [rsp + 0xb0]
call fcn.00402b68
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x148]
call fcn.00402bcc
lea r8, [rsp + 0x270]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x2d0]
call fcn.0040b9e4
cmp al, r13b
je 0x41df24
cmp rsi, r13
jne 0x41da87
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, ebp
jmp 0x41eb09
mov eax, 0x1000000
cmp dil, r13b
cmove r12d, eax
mov dword [rsp + 0x74], r12d
mov dword [rsp + 0x80], 0x2710
mov qword [rsp + 0xa0], r13
mov r12d, r13d
lea rdi, [0x0044e380]
mov rdx, qword [rdi + 0x10]
lea rcx, [rsp + 0xe0]
call fcn.00402af0
nop
lea rcx, [rsp + 0x90]
call fcn.00402ab8
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xe0]
call fcn.00402640
mov ebx, eax
cmp eax, r13d
jl 0x41db22
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x90]
call fcn.00402b68
cmp ebx, dword [rsp + 0xe8]
jae 0x41db22
mov dword [rsp + 0xe8], ebx
mov rcx, rbx
mov rax, qword [rsp + 0xe0]
mov byte [rbx + rax], r13b
mov r9, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xb0]
mov cl, byte [rax]
lea r8, [rax + 1]
cmp cl, r13b
je 0x41db66
mov dl, byte [r9]
add r9, rbp
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x41db4d
add dl, 0x20
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x41db57
add cl, 0x20
cmp dl, cl
jne 0x41db96
mov cl, byte [r8]
add r8, rbp
cmp cl, r13b
jne 0x41db3d
mov eax, dword [rdi + 4]
mov dword [rsp + 0x80], eax
lea rax, [rdi + 8]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x158]
call fcn.004027e8
cmp al, r13b
jne 0x41dbc4
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
add r12d, ebp
add rdi, 0x18
cmp r12d, 6
jb 0x41dab5
jmp 0x41dbdf
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
lea rdx, str.Size
mov rcx, rsi
call qword [r11]
mov r12d, r13d
mov edi, 0xffffffff
mov r8d, dword [rsp + 0x7c]
cmp r12d, 2
jae 0x41dc10
lea ebx, [rdi + 2]
jmp 0x41dc26
mov edx, edi
and edx, ebp
add edx, 2
mov ecx, edi
shr ecx, 1
shl edx, cl
mov ebx, r8d
cmp edx, r8d
cmovbe ebx, edx
mov edx, ebx
mov r8d, 6
mov rcx, rsi
call fcn.00418700
add r12d, ebp
add edi, ebp
mov r8d, dword [rsp + 0x7c]
cmp ebx, r8d
jb 0x41dc05
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r15d, r12d
mov ecx, r12d
shl rcx, 3
call fcn.004020b4
mov rbx, rax
mov qword [rsp + 0xe0], rax
cmp r12d, r13d
jbe 0x41dc88
mov r8, r15
shl r8, 3
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov r14, r13
mov dword [rsp + 0x78], r13d
cmp dword [rsp + 0x2f0], r13d
jbe 0x41df05
mov r13d, 0xa
mov ecx, r13d
mov eax, ebp
shl eax, cl
mov dword [rsp + 0xa8], eax
cmp eax, dword [rsp + 0x74]
ja 0x41de52
lea rdx, [rsp + 0x110]
call fcn.004018b4
xor edi, edi
mov rax, rdi
cmp byte [rsp + 0x110], dil
je 0x41dce5
add rax, rbp
cmp byte [rsp + rax + 0x110], dil
jne 0x41dcd8
mov byte [rsp + rax + 0x110], 0x3a
inc rax
mov byte [rsp + rax + 0x110], 0x20
add rax, rbp
mov byte [rsp + rax + 0x110], dil
mov rax, qword [rsi]
lea rdx, [rsp + 0x110]
mov rcx, rsi
call qword [rax]
cmp r12d, edi
jbe 0x41de39
mov edi, 0xffffffff
mov qword [rsp + 0x108], rbx
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov dword [rsp + 0x88], eax
xor edx, edx
cmp eax, edx
jne 0x41de6b
lea eax, [rdi + 1]
mov dword [rsp + 0x88], eax
cmp eax, 2
jae 0x41dd58
lea r8d, [rdi + 2]
jmp 0x41dd72
mov eax, edi
and eax, ebp
add eax, 2
shr edi, 1
mov cl, dil
shl eax, cl
mov r8d, dword [rsp + 0x7c]
cmp eax, r8d
cmovbe r8d, eax
mov qword [rsp + 0x130], rdx
mov rax, rdx
cmp r13d, 0x11
cmove rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rdx
mov byte [rsp + 0x58], dl
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rdx
lea rcx, [rsp + 0x138]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebp
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x2d0]
call fcn.0041ae94
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x41de8e
mov rdi, qword [rsp + 0x130]
mov rdx, rdi
shr rdx, 0x14
lea r8d, [rax + 6]
mov rcx, rsi
call fcn.00418700
mov rax, qword [rsp + 0x108]
add qword [rax], rdi
mov edi, dword [rsp + 0x88]
add rax, 8
mov qword [rsp + 0x108], rax
lea eax, [rdi + 1]
cmp eax, r12d
jb 0x41dd29
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
add r14, rbp
add r13d, ebp
cmp r13d, 0x20
jb 0x41dca4
mov eax, dword [rsp + 0x78]
add eax, ebp
mov dword [rsp + 0x78], eax
cmp eax, dword [rsp + 0x2f0]
jb 0x41dc9e
jmp 0x41deac
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, dword [rsp + 0x88]
jmp 0x41eb09
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x41eb09
xor r13d, r13d
cmp r14, r13
je 0x41df05
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
lea rdx, str.Avg:
mov rcx, rsi
call qword [r11]
cmp r12d, r13d
jbe 0x41defb
mov rdi, rbx
xor edx, edx
mov rax, qword [rdi]
div r14
shr rax, 0x14
mov r8d, 6
mov rdx, rax
mov rcx, rsi
call fcn.00418700
add rdi, 8
sub r15, rbp
jne 0x41ded5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
nop
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, r13d
jmp 0x41eb09
lea rdx, [0x0044e898]
mov rcx, qword [rsp + 0x148]
call fcn.004027a4
mov r15b, al
mov byte [rsp + 0x70], al
mov eax, r13d
mov dword [rsp + 0xa8], r13d
mov r13d, dword [rsp + 0x7c]
mov dword [rsp + 0x88], r13d
xor edx, edx
cmp byte [rsp + 0x73], dl
jne 0x41df69
cmp eax, edx
jne 0x41eb1a
jmp 0x41dfa9
mov r13d, ebp
mov dword [rsp + 0x88], ebp
cmp eax, edx
je 0x41dfa9
cmp ebx, 2
jb 0x41eb1a
mov r13d, ebx
mov dword [rsp + 0x88], ebx
cmp eax, ebp
jne 0x41dfa0
cmp ebx, 4
jb 0x41dfa9
shr r13d, 1
mov dword [rsp + 0x88], r13d
jmp 0x41dfa9
cmp ebx, 4
jb 0x41eb1a
lea rcx, [0x0044e5f0]
mov qword [rsp + 0x170], rcx
mov byte [rsp + 0x178], dl
mov byte [rsp + 0x1d4], dl
mov dword [rsp + 0x1d8], edx
mov byte [rsp + 0x1dc], dl
mov qword [rsp + 0x1e0], rdx
mov dword [rsp + 0x1e8], ebp
mov dword [rsp + 0x1ec], ebp
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1c8], rsi
cmp eax, edx
jbe 0x41e04b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor edx, edx
cmp dil, dl
jne 0x41e0a6
mov al, r15b
neg al
sbb ebx, ebx
add ebx, 0x19
cmp ebx, 0x12
jbe 0x41e099
mov r15, qword [rsp + 0xe0]
mov esi, 0xffffffff
mov ecx, ebx
mov edx, ebp
shl edx, cl
mov ecx, r13d
call fcn.00418310
add rax, 0x800000
cmp rax, r15
jbe 0x41e08c
add ebx, esi
cmp ebx, 0x12
ja 0x41e06c
mov rsi, qword [rsp + 0x2d8]
mov r15b, byte [rsp + 0x70]
mov ecx, ebx
mov r12d, ebp
shl r12d, cl
mov dword [rsp + 0x74], r12d
mov edx, r12d
mov ecx, r13d
call fcn.00418310
mov r8, rax
mov dword [rsp + 0x20], r13d
lea r9, str.Benchmark_threads:
lea rdx, str.usage:
mov rcx, rsi
call fcn.00418a20
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor edx, edx
cmp r15b, dl
je 0x41e0f5
lea r8d, [rdx + 0xc]
mov dword [rsp + 0x1d8], r8d
mov dil, dl
mov byte [rsp + 0x71], dl
jmp 0x41e10b
mov r8d, 4
mov dword [rsp + 0x1d8], r8d
mov dil, bpl
mov byte [rsp + 0x71], bpl
mov byte [rsp + 0x1d4], dil
mov qword [rsp + 0xa0], rdx
movzx eax, dl
cmp byte [rsp + 0x70], dl
cmovne eax, ebp
mov dword [rsp + 0x78], eax
mov ebx, 0x1e
lea ecx, [rbx + 0xc]
cmp al, dl
cmovne ebx, ecx
mov dword [rsp + 0x108], ebx
cmp dil, dl
je 0x41e180
mov dl, 0x20
mov rcx, rsi
call fcn.00418774
mov r8d, ebx
lea rdx, str.Compressing
mov rcx, rsi
call fcn.00418c78
mov r11, qword [rsi]
mov rdx, qword [0x00467698]
mov rcx, rsi
call qword [r11]
mov r8d, ebx
lea rdx, str.Decompressing
mov rcx, rsi
call fcn.00418c78
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
lea rax, str.Method
lea rdx, str.Dict
xor r12d, r12d
cmp byte [rsp + 0x70], r12b
cmovne rdx, rax
mov r8d, dword [rsp + 0x1d8]
mov rcx, rsi
call fcn.00418c34
mov ebx, r12d
mov r15d, dword [rsp + 0x78]
mov r8d, 0xa
lea rdx, str.Speed
mov rcx, rsi
call fcn.00418c78
mov r8d, 6
lea rdx, str.Usage
mov rcx, rsi
call fcn.00418c78
mov r8d, 7
lea rdx, [0x0044e830]
mov rcx, rsi
call fcn.00418c78
mov r8d, 7
lea rdx, str.Rating
mov rcx, rsi
call fcn.00418c78
cmp r15b, r12b
je 0x41e23e
mov r8d, 6
lea rdx, [0x0044e824]
mov rcx, rsi
call fcn.00418c78
mov r8d, 6
lea rdx, str.Effec
mov rcx, rsi
call fcn.00418c78
cmp dil, r12b
je 0x41e262
cmp ebx, r12d
jne 0x41e257
mov rax, qword [rsi]
mov rdx, qword [0x00467698]
mov rcx, rsi
call qword [rax]
add ebx, ebp
cmp ebx, 2
jl 0x41e1bb
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, dword [rsp + 0x1d8]
mov dl, 0x20
mov rcx, rsi
call fcn.00418774
mov ebx, r12d
mov r12d, dword [rsp + 0x74]
mov r13d, dword [rsp + 0x78]
xor r15d, r15d
mov r8d, 0xa
lea rdx, str.KiB_s
mov rcx, rsi
call fcn.00418c78
mov r8d, 6
lea rdx, [0x0044e810]
mov rcx, rsi
call fcn.00418c78
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.00418c78
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.00418c78
cmp r13b, r15b
je 0x41e310
mov r8d, 6
lea rdx, [0x0044e810]
mov rcx, rsi
call fcn.00418c78
mov r8d, 6
lea rdx, [0x0044e810]
mov rcx, rsi
call fcn.00418c78
cmp dil, r15b
je 0x41e334
cmp ebx, r15d
jne 0x41e329
mov rax, qword [rsi]
mov rdx, qword [0x00467698]
mov rcx, rsi
call qword [rax]
add ebx, ebp
cmp ebx, 2
jl 0x41e28d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor ebx, ebx
cmp byte [rsp + 0x70], bl
mov r13d, dword [rsp + 0x88]
mov r15, qword [rsp + 0xa0]
je 0x41e594
cmp byte [rsp + 0x72], bl
mov eax, 0x1000000
cmove r12d, eax
mov dword [rsp + 0x74], r12d
mov r12d, ebx
cmp dword [rsp + 0x2f0], ebx
jbe 0x41e8ed
jmp 0x41e389
xor ebx, ebx
cmp r12d, ebx
je 0x41e397
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov edi, ebx
mov r8d, 0xc
lea rdx, [0x0044e804]
mov rcx, rsi
call fcn.00418c34
cmp edi, 2
sete r9b
lea rax, [rsp + 0x130]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8, rsi
mov edx, r13d
mov rcx, r14
call fcn.0041abb8
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x41ea7d
mov rcx, qword [rsp + 0x1c8]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
cmp edi, 2
jne 0x41e44d
movabs r14, 0x400000000
mov r15, qword [rsp + 0xa0]
mov rax, r15
mov ecx, 0x1c9c380
cmp r15, rcx
cmovb rax, rcx
movabs rcx, 0x4a817c800
cmp rax, rcx
jae 0x41e455
mov ecx, dword [rsp + 0xc0]
xor r11d, r11d
cmp ecx, r11d
je 0x41e444
mov r14, rcx
imul r14, rax
jmp 0x41e455
mov r14, rax
shr r14, 2
jmp 0x41e455
mov r15, qword [rsp + 0xa0]
add edi, ebp
cmp edi, 3
jl 0x41e399
mov rcx, qword [rsp + 0x1c8]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov byte [rsp + 0x1dc], bpl
mov qword [rsp + 0x1e0], r15
lea rax, [rsp + 0x170]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
mov r9b, byte [rsp + 0x72]
mov r8d, r13d
mov rdx, r14
mov rdi, qword [rsp + 0x2d0]
mov rcx, rdi
call fcn.0041d090
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x41ea8d
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x38], bpl
lea rax, [rsp + 0x188]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9d, 0x20000
mov r8d, r13d
mov rdx, r14
mov rcx, rdi
call fcn.0041bba0
mov ebx, eax
xor edi, edi
cmp eax, edi
jne 0x41ea9d
mov rcx, qword [rsp + 0x1c8]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea r8d, [rdi + 0xc]
lea rdx, [0x0044e804]
mov rcx, rsi
call fcn.00418c34
mov qword [rsp + 0x88], r15
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
mov edx, r13d
mov rcx, r14
call fcn.0041abb8
mov ebx, eax
cmp eax, edi
jne 0x41eaad
mov rcx, qword [rsp + 0x1c8]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
add r12d, ebp
cmp r12d, dword [rsp + 0x2f0]
jb 0x41e387
mov r12d, dword [rsp + 0x74]
mov dil, byte [rsp + 0x71]
jmp 0x41e8f9
lea rdx, str.LZMA
mov rcx, qword [rsp + 0xb0]
call fcn.004027a4
cmp al, bl
jne 0x41e654
mov edi, ebx
lea rbx, str.LZMA:x1
mov rdx, qword [rbx]
lea rcx, [rsp + 0x110]
call fcn.00402af0
mov r11, qword [rbx]
mov rax, qword [rsp + 0xb0]
mov cl, byte [rax]
lea r8, [rax + 1]
xor r9d, r9d
cmp cl, r9b
je 0x41e627
mov dl, byte [r11]
add r11, rbp
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x41e5f2
add dl, 0x20
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x41e5fc
add cl, 0x20
cmp dl, cl
jne 0x41e60d
mov cl, byte [r8]
add r8, rbp
cmp cl, r9b
je 0x41e627
jmp 0x41e5e2
mov rcx, qword [rsp + 0x110]
call sub.msvcrt.dll_free
add edi, ebp
add rbx, 0x20
cmp edi, 0x11
jae 0x41e654
jmp 0x41e5b9
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x17c], eax
mov eax, dword [rbx - 0xc]
mov dword [rsp + 0x180], eax
mov eax, dword [rbx - 8]
mov dword [rsp + 0x184], eax
mov rcx, qword [rsp + 0x110]
call sub.msvcrt.dll_free
jmp 0x41e67d
mov dword [rsp + 0x17c], 0x4b0
mov dword [rsp + 0x184], 4
mov dword [rsp + 0x180], 0xbe
mov byte [rsp + 0x178], bpl
xor edx, edx
mov r13d, edx
cmp dword [rsp + 0x2f0], edx
jbe 0x41e8f4
cmp r12d, 0x400000
sbb r12d, r12d
and r12d, 0xfffffffc
mov r15d, dword [rsp + 0x74]
lea ebx, [r12 + 0x16]
mov eax, 0x1f
cmp byte [rsp + 0x2f8], dl
cmove ebx, eax
mov ecx, ebx
mov eax, ebp
shl eax, cl
cmp eax, r15d
jbe 0x41e6df
mov esi, 0xffffffff
cmp ebx, edx
jbe 0x41e6d7
add ebx, esi
mov ecx, ebx
mov eax, ebp
shl eax, cl
cmp eax, r15d
ja 0x41e6c6
mov rsi, qword [rsp + 0x2d8]
mov ecx, ebx
mov edi, ebp
shl edi, cl
cmp edi, r15d
ja 0x41e8c8
lea rdx, [rsp + 0x90]
mov ecx, ebx
call fcn.004018b4
xor eax, eax
mov r11, rax
cmp byte [rsp + 0x90], al
je 0x41e718
add r11, rbp
cmp byte [rsp + r11 + 0x90], al
jne 0x41e70b
mov byte [rsp + r11 + 0x90], 0x3a
mov byte [rsp + r11 + 0x91], al
mov r8d, 4
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00418c34
mov dword [rsp + 0x1d0], edi
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x208]
call fcn.0041a998
nop
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x218]
call fcn.00402b34
nop
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x228]
call fcn.0040318c
nop
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x218]
call fcn.004027a4
xor ecx, ecx
cmp al, cl
je 0x41e813
mov word [rsp + 0x1f0], 0x13
mov word [rsp + 0x1f2], cx
mov dword [rsp + 0x1f8], ebx
lea rdx, [0x0044e800]
lea rcx, [rsp + 0x238]
call fcn.00403144
nop
lea r8, [rsp + 0x1f0]
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0x208]
call fcn.0040e444
mov edi, eax
mov rcx, qword [rsp + 0x238]
call sub.msvcrt.dll_free
xor eax, eax
cmp edi, eax
jne 0x41eabd
lea rcx, [rsp + 0x1f0]
call fcn.0040aedc
mov eax, dword [rsp + 0x1d0]
cmp eax, 0x40000
jb 0x41e826
add eax, 0x10000
lea rcx, [rsp + 0x178]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x1e
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x208]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x88]
mov r8b, bpl
mov rdx, r14
mov rcx, qword [rsp + 0x2d0]
call fcn.0041c1d4
mov edi, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + VariantCopy]
xor eax, eax
cmp edi, eax
jne 0x41eaeb
cmp byte [rsp + 0x2f8], al
je 0x41e8b9
lea rcx, [rsp + 0x208]
call fcn.0041b8b8
add ebx, ebp
mov ecx, ebx
mov edi, ebp
shl edi, cl
cmp edi, r15d
jbe 0x41e6ee
xor edx, edx
jmp 0x41e8c8
lea rcx, [rsp + 0x208]
call fcn.0041b8b8
xor edx, edx
add r13d, ebp
cmp r13d, dword [rsp + 0x2f0]
jb 0x41e6a2
mov r12d, dword [rsp + 0x74]
mov r15, qword [rsp + 0xa0]
mov dil, byte [rsp + 0x71]
jmp 0x41e8f9
mov r12d, dword [rsp + 0x74]
jmp 0x41e8f9
mov dil, byte [rsp + 0x71]
mov eax, dword [rsp + 0x1d8]
mov ebx, dword [rsp + 0x108]
lea r8d, [rbx + rax]
mov dl, 0x2d
mov rcx, rsi
call fcn.00418774
xor r13d, r13d
cmp dil, r13b
je 0x41e939
mov rax, qword [rsi]
mov rdx, qword [0x00467698]
mov rcx, rsi
call qword [rax]
mov r8d, ebx
mov dl, 0x2d
mov rcx, rsi
call fcn.00418774
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
cmp dil, r13b
je 0x41e9a8
mov r8d, dword [rsp + 0x1d8]
lea rdx, str.Avr:
mov rcx, rsi
call fcn.00418c34
lea r9, [rsp + 0x188]
mov r8, r15
mov ebx, dword [rsp + 0x78]
mov dl, bl
mov rcx, rsi
call fcn.004189b0
mov r11, qword [rsi]
mov rdx, qword [0x00467698]
mov rcx, rsi
call qword [r11]
lea r9, [rsp + 0x1a8]
mov r8, r15
mov dl, bl
mov rcx, rsi
call fcn.004189b0
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
jmp 0x41e9ac
mov ebx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x1d8]
lea rdx, str.Tot:
mov rcx, rsi
call fcn.00418c34
mov r11, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x1b0]
add rcx, r11
mov qword [rsp + 0x250], rcx
mov rcx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1b8]
add rcx, rax
mov qword [rsp + 0x258], rcx
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1c0]
add rcx, rax
mov qword [rsp + 0x260], rcx
mov rcx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x1a8]
add rcx, rax
mov qword [rsp + 0x248], rcx
lea r9, [rsp + 0x248]
mov r8, r15
mov dl, bl
mov rcx, rsi
call fcn.004189b0
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0xa8]
add eax, ebp
mov dword [rsp + 0xa8], eax
cmp eax, 3
mov ebx, dword [rsp + 0x80]
mov dil, byte [rsp + 0x72]
mov r15b, byte [rsp + 0x70]
jb 0x41df4a
jmp 0x41eb1a
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
jmp 0x41eb09
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
jmp 0x41eb09
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
jmp 0x41eb09
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
jmp 0x41eb09
lea rcx, [rsp + 0x1f0]
call fcn.0040aedc
nop
lea rcx, [rsp + 0x208]
call fcn.0041b8b8
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x41eb09
lea rcx, [rsp + 0x208]
call fcn.0041b8b8
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
mov ebx, edi
lea rcx, [rsp + 0x138]
call fcn.0041b8b8
mov eax, ebx
jmp 0x41eb4b
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x138]
call fcn.0041b8b8
xor eax, eax
jmp 0x41eb4b
lea rcx, [rsp + 0x138]
call fcn.0041b8b8
mov eax, 0x80070057
add rsp, 0x288
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret