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

Disassembly:
mov eax, 0x485c8a
call fcn.00483210
sub esp, 0x1dc
push ebx
push esi
push edi
mov dword [ebp - 0x44], edx
mov ebx, ecx
call fcn.0041e1ff
test al, al
jne 0x41e944
push 1
pop eax
jmp 0x41fcb5
xor edi, edi
mov dword [ebp - 0xb0], SysReAllocStringLen
mov dword [ebp - 0xac], edi
call fcn.0040899c
mov esi, eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x78], esi
call fcn.004089b1
and byte [ebp - 0x25], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xa4], al
mov dword [ebp - 0x60], esi
mov dword [ebp - 0xa8], 4
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
call fcn.0040dfbb
mov dword [ebp - 4], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], edi
mov eax, dword [eax + 4]
cmp eax, edi
jbe 0x41ecc8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x50]
push esi
call fcn.00402b14
mov ecx, dword [ebp - 0x50]
call fcn.00402097
mov ecx, dword [ebp - 0x50]
mov edx, str.file
call fcn.00402157
test al, al
je 0x41eabb
cmp dword [esi + 0x10], edi
je 0x41ee1b
or dword [ebp - 0xe4], 0xffffffff
push dword [esi + 0xc]
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 3
call fcn.00406db2
test al, al
je 0x41ee22
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0xe4]
push eax
call fcn.004069a3
test al, al
je 0x41ee30
cmp dword [ebp - 0x20], edi
ja 0x41ee22
jb 0x41ea3b
cmp dword [ebp - 0x24], 0x80000000
jae 0x41ee22
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x20]
je 0x41ee22
push dword [ebp - 0x24]
lea ecx, [ebp - 0x3c]
call fcn.0041cf6f
test al, al
je 0x41ee29
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0xe4]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x38]
call fcn.00406e0f
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
jne 0x41ee30
cmp ecx, dword [ebp - 0x20]
jne 0x41ee30
cmp ebx, edi
je 0x41eaab
mov eax, dword [ebx]
push str.file_size_
mov ecx, ebx
call dword [eax]
xor edx, edx
mov ecx, ebx
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.0041e497
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
lea ecx, [ebp - 0xe4]
call fcn.00406983
jmp 0x41eca9
mov word [ebp - 0x88], di
mov word [ebp - 0x86], di
mov dword [ebp - 0x80], edi
cmp dword [esi + 0x10], edi
mov byte [ebp - 4], 4
je 0x41eae3
lea edx, [ebp - 0x88]
lea ecx, [esi + 0xc]
call fcn.00421745
mov ecx, dword [ebp - 0x50]
mov edx, str.time
call fcn.00402157
test al, al
je 0x41eb32
push 0x48ce18
lea ecx, [ebp - 0x34]
call fcn.00402ad1
lea eax, [ebp - 0xa8]
lea edx, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 5
call fcn.0040b80e
mov esi, eax
push dword [ebp - 0x34]
call fcn.00401bf2
cmp esi, edi
pop ecx
jne 0x41ee59
jmp 0x41ec9e
mov ecx, dword [ebp - 0x50]
mov edx, str.freq
call fcn.00402157
test al, al
je 0x41ebd7
push 0x48ce18
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x18], edi
call fcn.00402ad1
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 6
call fcn.0040b80e
mov esi, eax
mov byte [ebp - 4], 4
push dword [ebp - 0xf0]
call fcn.00401bf2
cmp esi, edi
pop ecx
jne 0x41ee59
cmp dword [ebp - 0x18], edi
je 0x41ee48
push edi
push 0xf4240
push edi
push dword [ebp - 0x18]
call fcn.00483550
cmp ebx, edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
je 0x41ec9e
mov eax, dword [ebx]
push 0x48ce08
mov ecx, ebx
call dword [eax]
xor edx, edx
mov ecx, ebx
push edi
push dword [ebp - 0x18]
call fcn.0041e497
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
jmp 0x41ec9e
push 0x48b874
lea ecx, [ebp - 0x50]
call fcn.00402116
test al, al
je 0x41ec80
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0xa0]
add eax, 4
push eax
call fcn.00402ad1
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
push 0x48b35c
push dword [ebp - 0xa0]
mov byte [ebp - 4], 7
call esi
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp - 0x19], al
je 0x41ec34
push dword [ebp - 0xa0]
mov byte [ebp - 0x25], 1
call fcn.00401bf2
pop ecx
jmp 0x41ec9e
cmp dword [ebp - 0x9c], edi
jne 0x41ec56
cmp word [ebp - 0x88], 8
jne 0x41ec56
push 0x48b35c
push dword [ebp - 0x80]
call esi
pop ecx
test eax, eax
pop ecx
je 0x41ec22
lea eax, [ebp - 0x60]
lea edx, [ebp - 0x88]
push eax
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x78]
call fcn.0040b85a
mov esi, eax
push dword [ebp - 0xa0]
cmp esi, edi
jne 0x41ee4f
jmp 0x41ec2c
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040c182
cmp eax, edi
jne 0x41ee57
lea ecx, [ebp - 0x88]
call fcn.004086af
push dword [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.00401bf2
inc dword [ebp - 0x14]
mov eax, dword [ebp + 8]
pop ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 4]
jb 0x41e9b1
cmp ebx, edi
je 0x41ed09
lea ecx, [ebp - 0x50]
call fcn.0040244f
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call fcn.0041e7d7
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0x50]
call dword [eax]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 1
push dword [ebp - 0x50]
call fcn.00401bf2
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp], str.CPU_Freq:
call dword [eax]
cmp ebx, edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], 4
je 0x41ef25
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], 0x40
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], edi
je 0x41ed69
push edi
push 0xf4240
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.00483550
cmp dword [ebp - 0x54], edx
ja 0x41ed69
jb 0x41ed4a
cmp dword [ebp - 0x58], eax
jae 0x41ed69
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
push 1
pop ecx
call fcn.004834b0
cmp edx, edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
ja 0x41ed2d
jb 0x41ed69
cmp eax, 1
ja 0x41ed2d
mov dword [ebp + 8], edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
cmp eax, edi
jne 0x41efb7
call fcn.0041c604
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
push dword [0x49e4d4]
push 0
push 0xf4240
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.00483550
push 7
pop ecx
call fcn.004834b0
mov ecx, dword [ebp - 0x24]
mov edx, eax
call fcn.0042089f
mov dword [ebp - 0x18], eax
call fcn.0041c604
mov esi, eax
mov edi, edx
sub esi, dword [ebp - 0x24]
sbb edi, dword [ebp - 0x20]
mov eax, esi
mov dword [ebp - 0x24], esi
or eax, edi
mov dword [ebp - 0x20], edi
jne 0x41edd9
and dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 1
call fcn.0041c60d
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push edx
push eax
call fcn.00483550
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push edx
push eax
call fcn.004833c0
or esi, edi
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], edx
jne 0x41ee66
mov eax, dword [ebx]
push 0x48cdf8
mov ecx, ebx
call dword [eax]
jmp 0x41ee88
mov esi, 0x80070057
jmp 0x41ee40
mov esi, 0x80070057
jmp 0x41ee35
mov esi, 0x8007000e
jmp 0x41ee35
mov esi, 0x80004005
lea ecx, [ebp - 0xe4]
call fcn.00406983
push dword [ebp - 0x50]
jmp 0x41fc4e
mov esi, 0x80070057
jmp 0x41ee59
call fcn.00401bf2
pop ecx
jmp 0x41ee59
mov esi, eax
lea ecx, [ebp - 0x88]
call fcn.004086af
jmp 0x41ee40
push dword [ebp - 0x98]
xor edx, edx
cmp dword [ebp - 0x18], 0xf1541213
mov ecx, ebx
push dword [ebp - 0x9c]
sete dl
add edx, 5
call fcn.0041e497
cmp dword [ebp + 8], 3
jl 0x41eee5
lea eax, [ebp - 0x70]
push eax
push 0
push 0xf4240
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
call fcn.00483550
mov ecx, dword [ebp - 0xa8]
push edx
push eax
xor dl, dl
call fcn.0041fd47
cmp dword [ebp + 8], 8
jge 0x41eeef
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x20], eax
ja 0x41eeef
jb 0x41eed1
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x24], eax
jae 0x41eeef
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
push 1
pop ecx
call fcn.00483590
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
inc dword [ebp + 8]
xor edi, edi
jmp 0x41ed6c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov edx, str.size:
mov ecx, ebx
push dword [ebp - 0x78]
push str.CPU_hardware_threads:
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xa4]
call fcn.00420a27
xor edi, edi
push 1
pop esi
cmp dword [ebp - 0x60], esi
jb 0x41fc97
cmp dword [ebp - 0x60], 0x1000
ja 0x41fc97
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0xd4]
push eax
call fcn.0041fcc6
cmp dword [ebp - 0xc4], edi
mov byte [ebp - 0x1a], al
jne 0x41ef68
push str.LZMA
lea ecx, [ebp - 0xc8]
call fcn.004024d0
cmp dword [ebp - 0x44], edi
je 0x41efbe
and byte [ebp - 0xe4], 0
lea ecx, [ebp - 0xe4]
call fcn.0041c958
lea ecx, [ebp - 0xd4]
call fcn.0041fcf8
lea ecx, [ebp - 0xe4]
add eax, 0x10000
push ecx
mov edx, dword [ebp - 0x60]
push dword [ebp - 0x44]
mov cl, 1
push ebx
push 0x1e
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xd4]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.0041fdba
mov esi, eax
jmp 0x41fc9c
lea eax, [ebp - 0xc8]
lea ecx, [ebp - 0x94]
push eax
call fcn.004024ab
mov ecx, dword [ebp - 0x94]
mov edx, 0x48cdcc
mov byte [ebp - 4], 9
call fcn.00402174
test al, al
je 0x41eff8
push str.crc32
lea ecx, [ebp - 0x94]
call fcn.004024d0
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0xc8]
push eax
call fcn.0040252d
lea edx, [ebp - 0x1e8]
lea ecx, [ebp - 0x94]
call fcn.00408c84
test al, al
je 0x41f36e
cmp ebx, edi
je 0x41fc48
cmp byte [ebp - 0x1a], 0
jne 0x41f038
mov dword [ebp - 0x74], 0x1000000
mov dword [ebp - 0x14], 0x2710
mov dword [ebp - 0x78], edi
mov esi, 0x48cb74
push dword [esi + 8]
lea ecx, [ebp - 0x50]
call fcn.00402471
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xa
call fcn.0040244f
mov ecx, dword [ebp - 0x50]
mov dl, 0x3a
mov byte [ebp - 4], 0xb
call fcn.00402055
mov edi, eax
test edi, edi
jl 0x41f091
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x5c]
lea eax, [edi + eax + 1]
push eax
call fcn.004024d0
cmp edi, dword [ebp - 0x4c]
jae 0x41f091
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], edi
and byte [edi + eax], 0
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x50]
call fcn.004217b0
test al, al
je 0x41f0c0
mov eax, dword [esi]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x14], eax
lea eax, [esi + 4]
mov dword [ebp - 0x78], eax
call fcn.004021b2
test al, al
jne 0x41f0e7
push dword [ebp - 0x5c]
call fcn.00401bf2
push dword [ebp - 0x50]
mov byte [ebp - 4], 9
call fcn.00401bf2
add esi, 0x10
pop ecx
cmp esi, 0x48cbe4
pop ecx
jb 0x41f047
jmp 0x41f0fd
push dword [ebp - 0x5c]
call fcn.00401bf2
push dword [ebp - 0x50]
mov byte [ebp - 4], 9
call fcn.00401bf2
pop ecx
pop ecx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
push str.Size
call dword [eax]
mov edx, dword [ebp - 0x60]
xor ecx, ecx
call fcn.00421794
mov edi, eax
mov ecx, ebx
push 6
pop edx
push 0
push edi
call fcn.0041e497
cmp edi, dword [ebp - 0x60]
push 1
pop esi
mov dword [ebp + 8], esi
jae 0x41f155
mov edx, dword [ebp - 0x60]
mov ecx, esi
call fcn.00421794
mov edi, eax
mov ecx, ebx
push 6
pop edx
push 0
push edi
call fcn.0041e497
inc esi
cmp edi, dword [ebp - 0x60]
jb 0x41f133
mov dword [ebp + 8], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, esi
shl eax, 3
push eax
call fcn.00401bcb
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], eax
test esi, esi
mov byte [ebp - 4], 0xc
jbe 0x41f198
mov esi, eax
mov eax, dword [ebp + 8]
and dword [esi], 0
and dword [esi + 4], 0
lea ecx, [eax*8 - 5]
lea edi, [esi + 8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
xor eax, eax
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x44], eax
jbe 0x41f337
mov dword [ebp + 0x10], 0xa
xor edi, edi
mov ecx, dword [ebp + 0x10]
push 1
pop eax
shl eax, cl
cmp eax, dword [ebp - 0x74]
mov dword [ebp - 0xa4], eax
ja 0x41f2d3
lea edx, [ebp - 0x88]
call fcn.004016db
xor eax, eax
cmp byte [ebp - 0x88], al
je 0x41f1ec
inc eax
cmp byte [ebp + eax - 0x88], 0
jne 0x41f1e1
mov byte [ebp + eax - 0x88], 0x3a
inc eax
lea ecx, [ebp - 0x88]
mov byte [ebp + eax - 0x88], 0x20
and byte [ebp + eax - 0x87], 0
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax]
cmp dword [ebp + 8], edi
mov dword [ebp - 0x64], edi
jbe 0x41f2b8
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
cmp eax, edi
jne 0x41f353
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.00421794
lea ecx, [ebp - 0xd4]
mov edx, dword [ebp - 0xa4]
push edi
push edi
push edi
push edi
push edi
push ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x24], edi
sub ecx, 0x11
mov dword [ebp - 0x20], edi
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [ebp - 0x78]
push ecx
push 1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.00420f4b
cmp eax, edi
jne 0x41f353
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
push 0x14
pop ecx
call fcn.004834b0
mov ecx, ebx
push edx
push eax
push 6
pop edx
call fcn.0041e497
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add dword [esi], eax
adc dword [esi + 4], ecx
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add esi, 8
cmp eax, dword [ebp + 8]
jb 0x41f221
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
add dword [ebp - 0x58], 1
adc dword [ebp - 0x54], edi
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], 0x20
jb 0x41f1b5
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp + 0xc]
jb 0x41f1ac
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x41f337
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
push str.Avg:
call dword [eax]
mov edi, dword [ebp + 8]
test edi, edi
jbe 0x41f330
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push dword [esi + 4]
push dword [esi]
call fcn.004833c0
push 0x14
pop ecx
call fcn.004834b0
mov ecx, ebx
push edx
push eax
push 6
pop edx
call fcn.0041e497
add esi, 8
dec edi
jne 0x41f306
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push dword [ebp - 0x18]
call fcn.00401bf2
push dword [ebp - 0x94]
call fcn.00401bf2
pop ecx
pop ecx
xor esi, esi
jmp 0x41fc9c
push dword [ebp - 0x18]
mov esi, eax
call fcn.00401bf2
push dword [ebp - 0x94]
call fcn.00401bf2
pop ecx
jmp 0x41fc53
mov ecx, dword [ebp - 0xc8]
mov edx, 0x48cdb0
call fcn.00402174
mov ecx, dword [ebp - 0xc8]
and byte [ebp - 0x19], 0
mov edx, str.hash
mov byte [ebp - 0x64], al
call fcn.00402174
test al, al
je 0x41f3a1
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x64], 1
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x60]
cmp byte [ebp - 0x25], 0
mov dword [ebp - 0x40], eax
jne 0x41f3bc
cmp dword [ebp - 0x18], 0
jne 0x41fc38
jmp 0x41f3f4
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x40], 1
je 0x41f3f4
cmp dword [ebp - 0x78], 2
jb 0x41fc38
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x18], 1
mov dword [ebp - 0x40], eax
jne 0x41f3eb
cmp eax, 4
jb 0x41f3f4
shr eax, 1
mov dword [ebp - 0x40], eax
jmp 0x41f3f4
cmp eax, 4
jb 0x41fc38
lea ecx, [ebp - 0x190]
call fcn.00420a9d
lea ecx, [ebp - 0x190]
call fcn.00420ac3
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x138], ebx
jbe 0x41f424
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp byte [ebp - 0x1a], 0
jne 0x41f4af
mov al, byte [ebp - 0x64]
neg al
sbb eax, eax
add eax, 0x19
cmp byte [ebp - 0xa4], 0
mov edi, eax
mov esi, edi
je 0x41f47c
cmp edi, 0x12
jbe 0x41f47c
push dword [ebp - 0x64]
mov ecx, esi
push 1
pop edx
shl edx, cl
mov ecx, dword [ebp - 0x40]
call fcn.0041e02a
add eax, 0x800000
adc edx, 0
cmp edx, dword [ebp - 0xac]
jb 0x41f47c
ja 0x41f476
cmp eax, dword [ebp - 0xb0]
jbe 0x41f47c
dec esi
cmp esi, 0x12
ja 0x41f44a
push 1
mov ecx, esi
pop eax
shl eax, cl
cmp byte [ebp - 0x64], 0
mov dword [ebp - 0x74], eax
je 0x41f4af
cmp esi, edi
je 0x41f4af
mov eax, dword [ebx]
push str.Dictionary_reduced_to:
mov ecx, ebx
call dword [eax]
mov ecx, ebx
push 1
pop edx
push 0
push esi
call fcn.0041e497
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x74]
push ecx
push str.Benchmark_threads:
push dword [ebp - 0x64]
call fcn.0041e02a
mov ecx, ebx
push edx
push eax
push 1
mov edx, str.usage:
call fcn.00420a27
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp byte [ebp - 0x64], 0
je 0x41f4f0
and byte [ebp - 0xd], 0
mov dword [ebp - 0x12c], 0xc
jmp 0x41f4fe
mov dword [ebp - 0x12c], 4
mov byte [ebp - 0xd], 1
mov al, byte [ebp - 0xd]
and byte [ebp + 0xb], 0
xor esi, esi
cmp byte [ebp - 0x64], 0
mov byte [ebp - 0x130], al
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
je 0x41f51d
mov byte [ebp + 0xb], 1
cmp byte [ebp + 0xb], 0
mov dword [ebp - 0x44], 0x1e
je 0x41f531
mov dword [ebp - 0x44], 0x2a
test al, al
je 0x41f56c
mov edx, dword [ebp - 0x12c]
mov ecx, ebx
call fcn.0041e4f9
mov edx, str.Compressing
mov ecx, ebx
push dword [ebp - 0x44]
call fcn.0041e7a7
mov eax, dword [ebx]
mov ecx, ebx
push dword [0x49e4d8]
call dword [eax]
mov edx, str.Decompressing
mov ecx, ebx
push dword [ebp - 0x44]
call fcn.0041e7a7
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp byte [ebp - 0x64], 0
mov edx, str.Method
jne 0x41f583
mov edx, str.Dict
push dword [ebp - 0x12c]
mov ecx, ebx
call fcn.0041e779
mov dword [ebp - 0x14], esi
push 6
pop esi
push 7
pop edi
push 0xa
mov edx, str.Speed
mov ecx, ebx
call fcn.0041e7a7
mov edx, str.Usage
mov ecx, ebx
push esi
call fcn.0041e7a7
mov edx, 0x48cd30
mov ecx, ebx
push edi
call fcn.0041e7a7
mov edx, str.Rating
mov ecx, ebx
push edi
call fcn.0041e7a7
cmp byte [ebp + 0xb], 0
je 0x41f5ee
push esi
mov edx, 0x48cd24
mov ecx, ebx
call fcn.0041e7a7
mov edx, str.Effec
mov ecx, ebx
push esi
call fcn.0041e7a7
cmp byte [ebp - 0xd], 0
je 0x41f60f
cmp dword [ebp - 0x14], 0
jne 0x41f606
mov eax, dword [ebx]
push dword [0x49e4d8]
mov ecx, ebx
call dword [eax]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x41f599
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov edx, dword [ebp - 0x12c]
mov ecx, ebx
call fcn.0041e4f9
and dword [ebp - 0x14], 0
push 0xa
mov edx, str.KiB_s
mov ecx, ebx
call fcn.0041e7a7
mov edx, 0x48cd10
mov ecx, ebx
push esi
call fcn.0041e7a7
mov edx, str.MIPS
mov ecx, ebx
push edi
call fcn.0041e7a7
mov edx, str.MIPS
mov ecx, ebx
push edi
call fcn.0041e7a7
cmp byte [ebp + 0xb], 0
je 0x41f67c
push esi
mov edx, 0x48cd10
mov ecx, ebx
call fcn.0041e7a7
mov edx, 0x48cd10
mov ecx, ebx
push esi
call fcn.0041e7a7
cmp byte [ebp - 0xd], 0
je 0x41f69d
cmp dword [ebp - 0x14], 0
jne 0x41f694
mov eax, dword [ebx]
push dword [0x49e4d8]
mov ecx, ebx
call dword [eax]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x41f627
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov edx, eax
or edx, ecx
je 0x41f6bd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
cmp byte [ebp - 0x64], 0
je 0x41f890
and dword [ebp - 0x14], 0
cmp dword [ebp + 0xc], 0
jbe 0x41fada
xor edi, edi
cmp dword [ebp - 0x14], edi
je 0x41f6e3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push 0xc
mov edx, 0x48cd04
mov ecx, ebx
call fcn.0041e779
cmp edi, 2
je 0x41f702
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x41f702
xor eax, eax
jmp 0x41f705
push 1
pop eax
lea ecx, [ebp - 0x98]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.00420c3b
mov esi, eax
test esi, esi
jne 0x41fc48
lea ecx, [ebp - 0x190]
call fcn.0041e771
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov edx, ecx
or edx, eax
je 0x41f74e
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
cmp edi, 2
jne 0x41f773
or ecx, eax
je 0x41f75c
push 1
pop edx
jmp 0x41f75e
xor edx, edx
lea eax, [ebp - 0x70]
mov ecx, dword [ebp - 0xa8]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.0041fd47
inc edi
cmp edi, 3
jl 0x41f6e3
lea ecx, [ebp - 0x190]
call fcn.0041e771
lea ecx, [ebp - 0x190]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push 1
call fcn.0041e324
cmp byte [ebp - 0x19], 0
jne 0x41f7e0
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp dword [ebp - 0x38], edx
jne 0x41f7ae
mov eax, dword [ebp - 0x74]
cmp byte [ebp - 0x1a], 0
jne 0x41f7b9
cmp dword [ebp - 0x38], edx
je 0x41f7bc
push 1
pop edx
lea ecx, [ebp - 0x190]
push ecx
push ebx
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.00420af6
mov esi, eax
test esi, esi
jne 0x41fc48
push dword [ebp - 0x2c]
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x40]
mov edx, 0x20000
push dword [ebp - 0x30]
push 1
push eax
lea eax, [ebp - 0x190]
push eax
push ebx
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.00421634
mov esi, eax
test esi, esi
jne 0x41fc48
lea ecx, [ebp - 0x190]
call fcn.0041e771
mov edx, 0x48cd04
mov ecx, ebx
push 0xc
call fcn.0041e779
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x41f846
push 1
pop eax
jmp 0x41f848
xor eax, eax
lea ecx, [ebp - 0x20]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x40]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.00420c3b
mov esi, eax
test esi, esi
jne 0x41fc48
lea ecx, [ebp - 0x190]
call fcn.0041e771
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jb 0x41f6d5
jmp 0x41fada
mov ecx, dword [ebp - 0x94]
mov edx, str.LZMA
call fcn.00402174
test al, al
jne 0x41f8e6
mov esi, 0x48c9ec
push dword [esi]
lea ecx, [ebp - 0xf0]
call fcn.00402471
mov edx, dword [ebp - 0x94]
mov ecx, dword [esi]
mov byte [ebp - 4], 0xd
call fcn.004217b0
test al, al
jne 0x41f92a
push dword [ebp - 0xf0]
mov byte [ebp - 4], 9
call fcn.00401bf2
add esi, 0x18
pop ecx
cmp esi, 0x48cb84
jb 0x41f8a9
lea ecx, [ebp - 0x18c]
call fcn.0041c958
and dword [ebp - 0x14], 0
cmp dword [ebp + 0xc], 0
jbe 0x41fada
mov eax, dword [ebp - 0x74]
cmp eax, 0x400000
sbb esi, esi
and esi, 0xfffffffc
add esi, 0x16
cmp byte [ebp + 0x10], 0
jne 0x41f918
push 0x1f
pop esi
push 1
mov ecx, esi
pop edx
shl edx, cl
cmp edx, eax
jbe 0x41f957
test esi, esi
jbe 0x41f957
dec esi
jmp 0x41f918
mov eax, dword [esi - 0xc]
push dword [ebp - 0xf0]
mov dword [ebp - 0x188], eax
mov eax, dword [esi - 8]
mov dword [ebp - 0x184], eax
mov eax, dword [esi - 4]
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 9
call fcn.00401bf2
pop ecx
jmp 0x41f8f1
push 1
mov ecx, esi
pop edi
shl edi, cl
cmp edi, eax
ja 0x41facb
lea edx, [ebp - 0x110]
mov ecx, esi
call fcn.004016db
xor eax, eax
cmp byte [ebp - 0x110], al
je 0x41f988
inc eax
cmp byte [ebp + eax - 0x110], 0
jne 0x41f97d
mov byte [ebp + eax - 0x110], 0x3a
and byte [ebp + eax - 0x10f], 0
push 4
lea edx, [ebp - 0x110]
mov ecx, ebx
call fcn.0041e779
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x1e0]
push eax
mov dword [ebp - 0x134], edi
call fcn.004160d5
mov ecx, dword [ebp - 0x1d4]
mov edx, str.LZMA
mov byte [ebp - 4], 0xe
call fcn.00402174
test al, al
je 0x41fa44
and word [ebp - 0xfe], 0
mov word [ebp - 0x100], 0x13
mov dword [ebp - 0xf8], esi
push 0x48cd00
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xf
call fcn.00402ad1
lea eax, [ebp - 0x100]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x1bc]
push eax
mov byte [ebp - 4], 0x10
call fcn.0040c182
mov edi, eax
push dword [ebp - 0x1bc]
call fcn.00401bf2
test edi, edi
pop ecx
jne 0x41fc56
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xe
call fcn.004086af
cmp dword [ebp - 0x38], 0
je 0x41fa4f
mov eax, dword [ebp - 0x3c]
jmp 0x41fa61
mov eax, dword [ebp - 0x134]
cmp eax, 0x40000
jb 0x41fa61
add eax, 0x10000
lea ecx, [ebp - 0x18c]
mov edx, dword [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x190]
push ecx
push ebx
push 0x1e
mov cl, 1
push dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x1e0]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.0041fdba
mov edi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
test edi, edi
jne 0x41fc61
cmp byte [ebp + 0x10], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1e0]
je 0x41fac6
call fcn.0040dffc
inc esi
push 1
mov ecx, esi
pop edi
shl edi, cl
cmp edi, dword [ebp - 0x74]
jbe 0x41f966
jmp 0x41facb
call fcn.0040dffc
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jb 0x41f8ff
mov eax, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x44]
add eax, esi
mov dl, 0x2d
push eax
mov ecx, ebx
call fcn.0041e502
cmp byte [ebp - 0xd], 0
je 0x41fb0b
mov eax, dword [ebx]
push dword [0x49e4d8]
mov ecx, ebx
call dword [eax]
mov dl, 0x2d
mov ecx, ebx
push esi
call fcn.0041e502
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x41fb6b
push dword [ebp - 0x12c]
mov edx, str.Avr:
mov ecx, ebx
call fcn.0041e779
lea eax, [ebp - 0x178]
mov dl, byte [ebp + 0xb]
push eax
mov ecx, ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.004209b9
mov eax, dword [ebx]
mov ecx, ebx
push dword [0x49e4d8]
call dword [eax]
lea eax, [ebp - 0x158]
mov dl, byte [ebp + 0xb]
push eax
mov ecx, ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.004209b9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push dword [ebp - 0x12c]
mov edx, str.Tot:
mov ecx, ebx
call fcn.0041e779
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
add eax, dword [ebp - 0x170]
mov dl, byte [ebp + 0xb]
adc ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x148]
add eax, dword [ebp - 0x168]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x144]
adc ecx, dword [ebp - 0x164]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x160]
mov dword [ebp - 0x19c], ecx
mov ecx, dword [ebp - 0x13c]
adc ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x158]
add eax, dword [ebp - 0x178]
mov dword [ebp - 0x194], ecx
mov ecx, dword [ebp - 0x154]
adc ecx, dword [ebp - 0x174]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1b0]
push eax
mov dword [ebp - 0x1ac], ecx
push dword [ebp - 0x2c]
mov ecx, ebx
push dword [ebp - 0x30]
call fcn.004209b9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jb 0x41f3a4
push dword [ebp - 0x94]
call fcn.00401bf2
jmp 0x41f34b
push dword [ebp - 0x94]
call fcn.00401bf2
pop ecx
jmp 0x41fc9c
lea ecx, [ebp - 0x100]
call fcn.004086af
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 9
call fcn.0040dffc
push dword [ebp - 0x94]
call fcn.00401bf2
pop ecx
mov ecx, dword [ebp - 0x38]
call fcn.0046e6a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.0040dffc
mov eax, edi
jmp 0x41fcb5
mov esi, 0x80070057
mov ecx, dword [ebp - 0x38]
call fcn.0046e6a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.0040dffc
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc