Function at 0x41d858
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, 0x418
mov qword [rsp + 0x2c8], 0xfffffffffffffffe
mov r12, r9
mov r14, r8
mov rsi, rdx
call fcn.00418f64
xor edi, edi
cmp al, dil
jne 0x41d8a0
mov eax, 0x80004005
jmp 0x41fb89
movabs rax, 0x100000000
mov qword [rsp + 0x180], rax
mov eax, 1
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], rax
lea rcx, [rsp + 0x250]
call fcn.0040b5b8
cmp eax, edi
je 0x41d8f6
mov rcx, qword [rsp + 0x250]
cmp rcx, rdi
je 0x41d8f6
call fcn.0040b598
mov r15d, eax
mov dword [rsp + 0x98], eax
jmp 0x41d905
call fcn.0040b5e0
mov r15d, eax
mov dword [rsp + 0x98], eax
lea rcx, [rsp + 0x180]
call fcn.0040b634
mov byte [rsp + 0x7a], al
mov dword [rsp + 0x90], r15d
mov dword [rsp + 0x100], 4
mov rbx, rdi
mov qword [rsp + 0xd0], rdi
mov byte [rsp + 0x79], dil
mov qword [rsp + 0x140], rdi
mov dword [rsp + 0x148], edi
mov dword [rsp + 0x14c], edi
lea rcx, [rsp + 0x150]
call fcn.00402bc8
nop
lea rcx, [rsp + 0x160]
call fcn.00403208
nop
mov rbp, rdi
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x128], rdi
mov r13d, edi
cmp dword [r12 + 8], edi
jbe 0x41e0c1
mov rax, qword [r12]
mov rbx, qword [rdi + rax]
mov rdx, rbx
lea rcx, [rsp + 0xc0]
call fcn.00403314
nop
mov rcx, qword [rsp + 0xc0]
call fcn.00402728
lea rdx, str.file
mov rcx, qword [rsp + 0xc0]
call fcn.00402818
xor ecx, ecx
cmp al, cl
je 0x41db2c
cmp dword [rbx + 0x18], ecx
je 0x41de78
mov qword [rsp + 0x230], 0xffffffffffffffff
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x230]
call fcn.004091dc
test al, al
je 0x41dea1
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x230]
call fcn.00408a04
xor ecx, ecx
cmp al, cl
je 0x41ded8
mov eax, 0x80000000
mov rbx, qword [rsp + 0x138]
cmp rbx, rax
jae 0x41df7d
cmp rbx, rcx
je 0x41df7d
cmp rbp, rcx
je 0x41da4b
cmp rbx, qword [rsp + 0x128]
je 0x41daa1
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
xor eax, eax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], rax
mov rdx, rbx
lea rcx, [0x00457a70]
call qword [0x00457a70]
mov rbp, rax
mov qword [rsp + 0x120], rax
test rax, rax
je 0x41df0f
mov qword [rsp + 0x128], rbx
mov rbx, qword [rsp + 0x138]
lea r9, [rsp + 0x188]
mov r8d, ebx
mov rdx, rbp
lea rcx, [rsp + 0x230]
call fcn.00408b44
mov r11d, dword [rsp + 0x188]
cmp r11, qword [rsp + 0x138]
jne 0x41df46
test rsi, rsi
je 0x41db04
mov rax, qword [rsi]
lea rdx, str.file_size_
mov rcx, rsi
call qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x138]
mov rcx, rsi
call fcn.00417ee0
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xd0]
jmp 0x41de5f
mov word [rsp + 0x108], cx
mov word [rsp + 0x10a], cx
mov qword [rsp + 0x110], rcx
cmp dword [rbx + 0x18], ecx
je 0x41dbac
lea rdx, [rsp + 0xa0]
mov rcx, qword [rbx + 0x10]
call fcn.00403f18
mov rcx, qword [rsp + 0xa0]
xor edx, edx
cmp word [rcx], dx
jne 0x41db9b
cmp dword [rbx + 0x18], edx
je 0x41db9b
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x41db89
mov edx, eax
lea rcx, [rsp + 0x108]
call fcn.0040b08c
jmp 0x41dbac
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.0040b0b8
jmp 0x41dbac
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x108]
call fcn.0040afa4
lea rdx, str.time
mov rcx, qword [rsp + 0xc0]
call fcn.00402818
xor ebx, ebx
cmp al, bl
je 0x41dc2b
lea rcx, [rsp + 0xb0]
call fcn.00403208
nop
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.0040d61c
mov ebx, eax
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x41dfb4
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xd0]
jmp 0x41de5f
lea rdx, str.freq
mov rcx, qword [rsp + 0xc0]
call fcn.00402818
cmp al, bl
je 0x41dcff
mov dword [rsp + 0xfc], ebx
lea rcx, [rsp + 0x170]
call fcn.00403208
nop
lea r8, [rsp + 0xfc]
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.0040d61c
mov ebx, eax
mov rcx, qword [rsp + 0x170]
call sub.msvcrt.dll_free
xor ecx, ecx
cmp ebx, ecx
jne 0x41dfe6
mov eax, dword [rsp + 0xfc]
cmp eax, ecx
je 0x41e018
mov rbx, rax
imul rbx, rbx, 0xf4240
mov qword [rsp + 0xd0], rbx
cmp rsi, rcx
je 0x41dcdf
mov rax, qword [rsi]
lea rdx, [0x00451f18]
mov rcx, rsi
call qword [rax]
mov edx, dword [rsp + 0xfc]
xor r8d, r8d
mov rcx, rsi
call fcn.00417ee0
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
jmp 0x41de5f
lea rdx, [0x00450054]
lea rcx, [rsp + 0xc0]
call fcn.004027d8
cmp al, bl
je 0x41de15
mov rdx, qword [rsp + 0xc0]
add rdx, 4
lea rcx, [rsp + 0x198]
call fcn.00403274
nop
lea rdx, [0x0044f8d0]
mov rcx, qword [rsp + 0x198]
call fcn.00402818
cmp al, bl
jne 0x41dddd
cmp dword [rsp + 0x1a0], ebx
jne 0x41dd7d
cmp word [rsp + 0x108], 8
jne 0x41dd7d
lea rdx, [0x0044f8d0]
mov rcx, qword [rsp + 0x110]
call fcn.00402818
cmp al, bl
jne 0x41dddd
lea r9, [rsp + 0x90]
mov r8d, r15d
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x198]
call fcn.0040d66c
mov ebx, eax
test eax, eax
jne 0x41e04f
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xd0]
jmp 0x41de5f
mov byte [rsp + 0x79], 1
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xd0]
jmp 0x41de5f
lea r8, [rsp + 0x108]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x140]
call fcn.0040e568
mov ebx, eax
test eax, eax
jne 0x41e08f
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xd0]
inc r13d
add rdi, 8
cmp r13d, dword [r12 + 8]
jb 0x41d98c
xor edi, edi
jmp 0x41e0c1
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80070057
jmp 0x41fb25
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80070057
jmp 0x41fb25
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80004005
jmp 0x41fb25
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x8007000e
jmp 0x41fb25
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80004005
jmp 0x41fb25
lea rcx, [rsp + 0x230]
call fcn.004089d8
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80070057
jmp 0x41fb25
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80070057
jmp 0x41fb25
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
lea rcx, [rsp + 0x108]
call fcn.0040ae2c
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
cmp rsi, rdi
je 0x41e361
lea rcx, [rsp + 0xa0]
call fcn.00402bc8
nop
mov dword [rsp + 0x2f0], 0x11c
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp rax, rdi
je 0x41e1c1
lea rdx, str.RtlGetVersion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, rdi
je 0x41e1c1
lea rcx, [rsp + 0x2f0]
call rax
lea rdx, str.Windows
lea rcx, [rsp + 0xa0]
call fcn.00402db8
mov edx, dword [rsp + 0x300]
cmp edx, 2
je 0x41e149
lea rcx, [rsp + 0xa0]
call fcn.00402e44
lea rdx, [0x00451ae4]
lea rcx, [rsp + 0xa0]
call fcn.00402db8
mov edx, dword [rsp + 0x2f4]
lea rcx, [rsp + 0xa0]
call fcn.00402e44
lea rdx, [0x00451ae0]
lea rcx, [rsp + 0xa0]
call fcn.00402db8
mov edx, dword [rsp + 0x2f8]
lea rcx, [rsp + 0xa0]
call fcn.00402e44
lea rdx, [0x00451ae4]
lea rcx, [rsp + 0xa0]
call fcn.00402db8
mov edx, dword [rsp + 0x2fc]
lea rcx, [rsp + 0xa0]
call fcn.00402e44
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xa0]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0xa0]
call fcn.00402bc8
nop
lea rcx, [rsp + 0x80]
call fcn.00402bc8
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa0]
call fcn.00418b34
cmp dword [rsp + 0xa8], edi
jne 0x41e22c
cmp dword [rsp + 0x88], edi
je 0x41e29e
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xa0]
mov rcx, rsi
call qword [rax]
mov r11d, dword [rsp + 0x88]
cmp dword [rsp + 0xa8], r11d
jne 0x41e26f
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_strcmp
cmp eax, edi
je 0x41e294
mov r11d, dword [rsp + 0x88]
cmp r11d, edi
je 0x41e294
mov rax, qword [rsi]
lea rdx, [0x00451f0c]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rdx, qword [rsp + 0x80]
mov rcx, rsi
call qword [r11]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0xb0]
call fcn.00402bc8
nop
lea rcx, [rsp + 0xb0]
call fcn.00418c08
cmp dword [rsp + 0xb8], edi
je 0x41e2f8
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xb0]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0xb0]
call fcn.00402bc8
nop
lea rcx, [rsp + 0xb0]
call fcn.00418b70
cmp dword [rsp + 0xb8], edi
je 0x41e344
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xb0]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
mov r11, qword [rsi]
lea rdx, str.CPU_Freq:
mov rcx, rsi
call qword [r11]
movabs rax, 0x400000000
mov r15, rax
mov qword [rsp + 0x130], rax
cmp rsi, rdi
je 0x41e570
mov edi, 0x40
xor r15d, r15d
cmp rbx, r15
je 0x41e3ae
lea ebp, [rdi - 0x3f]
mov rax, rdi
imul rax, rax, 0xf4240
cmp rbx, rax
jae 0x41e3a6
shr rdi, 1
cmp rdi, rbp
ja 0x41e38f
mov rbp, qword [rsp + 0x120]
mov r12d, r15d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov ebx, eax
cmp eax, r15d
jne 0x41e4d6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov rdx, rdi
imul rdx, rdx, 0xf4240
shr rdx, 7
mov r8d, dword [0x0046c5d4]
mov ecx, eax
call fcn.00417c68
cmp eax, 0xf1541213
jne 0x41e3ff
mov rax, qword [rsi]
lea rdx, [0x0045008a]
mov rcx, rsi
call qword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r11d, eax
sub r11, rbx
mov r13, r11
mov eax, 1
cmove r13, rax
mov rax, rdi
imul rax, rax, 0x3e8
xor edx, edx
div r13
mov rbx, rax
cmp r11, r15
jne 0x41e440
mov r8, qword [rsi]
lea rdx, [0x00451ef8]
mov rcx, rsi
call qword [r8]
jmp 0x41e451
mov r8d, 5
mov rdx, rax
mov rcx, rsi
call fcn.00417ee0
cmp r12d, 3
jl 0x41e4ce
imul rbx, rbx, 0xf4240
movabs rax, 0x400000000
mov r15, rax
mov qword [rsp + 0x130], rax
mov eax, 0x3d0900
cmp rbx, rax
cmovb rbx, rax
movabs rax, 0x4a817c800
cmp rbx, rax
jae 0x41e4b9
mov eax, dword [rsp + 0x100]
test eax, eax
je 0x41e4aa
mov r15, rax
imul r15, rbx
mov qword [rsp + 0x130], r15
jmp 0x41e4b9
mov r15, rbx
shr r15, 2
mov qword [rsp + 0x130], r15
cmp r12d, 8
jge 0x41e4ec
cmp r13, 0x3e8
jae 0x41e4ec
add rdi, rdi
xor r15d, r15d
inc r12d
jmp 0x41e3b1
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r11d, dword [rsp + 0x98]
mov dword [rsp + 0x28], r11d
lea rax, str.CPU_hardware_threads:
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x180]
mov r8b, byte [rsp + 0x7a]
lea rdx, str.size:
mov rcx, rsi
call fcn.00418404
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0xb0]
call fcn.004181f8
nop
mov r8, qword [rsi]
mov rdx, qword [rax]
mov rcx, rsi
call qword [r8]
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor edi, edi
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 0xfff
ja 0x41fb66
mov dword [rsp + 0x74], edi
mov r13d, 1
mov edx, r13d
lea rcx, [rsp + 0x140]
call fcn.0040db2c
xor r12d, r12d
cmp eax, r12d
jl 0x41e5cc
mov ecx, eax
mov rax, qword [rsp + 0x140]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], 0x13
jne 0x41e5cc
mov edi, dword [rdx + 0x10]
mov dword [rsp + 0x74], edi
mov bl, r13b
mov byte [rsp + 0x71], r13b
jmp 0x41e5d4
mov bl, r12b
mov byte [rsp + 0x71], r12b
cmp dword [rsp + 0x158], r12d
jne 0x41e5f2
lea rdx, str.LZMA
lea rcx, [rsp + 0x150]
call fcn.00402c78
cmp r14, r12
je 0x41e6a0
mov dword [rsp + 0xb4], 0x4b0
mov dword [rsp + 0xbc], 4
mov dword [rsp + 0xb8], 0xbe
mov byte [rsp + 0xb0], r13b
lea rcx, [rsp + 0x140]
call fcn.004190f0
lea ecx, [rax + 0x10000]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], 0x1e
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x90]
mov r8b, r13b
mov rdx, r15
mov rcx, qword [rsp + 0x460]
call fcn.0041c278
mov ebx, eax
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0xe8]
call fcn.00402c44
nop
lea rdx, [0x00451ecc]
mov rcx, qword [rsp + 0xe8]
call fcn.0040283c
xor r14d, r14d
cmp al, r14b
je 0x41e6e6
lea rdx, str.crc32
lea rcx, [rsp + 0xe8]
call fcn.00402c78
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x150]
call fcn.00402cdc
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0xe8]
mov rcx, qword [rsp + 0x460]
call fcn.0040ba5c
cmp al, r14b
je 0x41eca2
cmp rsi, r14
jne 0x41e74d
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, r13d
jmp 0x41fb25
mov eax, 0x1000000
cmp bl, r14b
cmove edi, eax
mov dword [rsp + 0x74], edi
mov dword [rsp + 0x98], 0x2710
mov qword [rsp + 0xa0], r14
mov r12d, r14d
lea rdi, [0x004514b4]
mov rdx, qword [rdi + 0xc]
lea rcx, [rsp + 0xd0]
call fcn.00402c00
nop
lea rcx, [rsp + 0x80]
call fcn.00402bc8
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0xd0]
call fcn.004026d8
mov ebx, eax
cmp eax, r14d
jl 0x41e7e3
lea edx, [rbx + 1]
add rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x80]
call fcn.00402c78
cmp ebx, dword [rsp + 0xd8]
jae 0x41e7e3
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd0]
mov byte [rbx + rax], r14b
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xd0]
call fcn.0040283c
cmp al, r14b
je 0x41e890
cmp dword [rsp + 0x88], r14d
je 0x41e861
lea rdx, str.crc32
mov rcx, qword [rsp + 0xd0]
call fcn.0040283c
cmp al, r14b
je 0x41e847
lea rdx, [0x00451ec0]
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_strcmp
cmp eax, r14d
jne 0x41e847
cmp dword [rsp + 0x168], r14d
je 0x41e861
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x160]
call fcn.004027d8
cmp al, r14b
je 0x41e890
mov eax, dword [rdi]
mov dword [rsp + 0x98], eax
lea rax, [rdi + 4]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x160]
call fcn.00402880
cmp al, r14b
jne 0x41e8be
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xd0]
call sub.msvcrt.dll_free
add r12d, r13d
add rdi, 0x18
cmp r12d, 7
jb 0x41e779
jmp 0x41e8d9
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xd0]
call sub.msvcrt.dll_free
cmp r12d, 7
jne 0x41e908
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80004001
jmp 0x41fb25
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, r14d
mov edi, 0xffffffff
mov r8d, dword [rsp + 0x90]
cmp r12d, 2
jae 0x41e93c
lea ebx, [rdi + 2]
jmp 0x41e953
mov edx, edi
and edx, r13d
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.00417ee0
add r12d, r13d
add edi, r13d
mov r8d, dword [rsp + 0x90]
cmp ebx, r8d
jb 0x41e931
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.00402130
mov rbx, rax
mov qword [rsp + 0x248], rax
cmp r12d, r14d
jbe 0x41e9b9
mov r8, r15
shl r8, 3
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
xor edi, edi
mov dword [rsp + 0xe0], edi
cmp dword [rsp + 0x480], edi
jbe 0x41ec73
lea edx, [rdi + 1]
mov r13d, 0xa
mov ecx, r13d
mov eax, edx
shl eax, cl
mov dword [rsp + 0xf8], eax
cmp eax, dword [rsp + 0x74]
ja 0x41eb8c
lea rdx, [rsp + 0x80]
call fcn.00401928
mov rax, rdi
cmp byte [rsp + 0x80], dil
je 0x41ea17
inc rax
cmp byte [rsp + rax + 0x80], dil
jne 0x41ea0a
mov byte [rsp + rax + 0x80], 0x3a
mov byte [rsp + rax + 0x81], 0x20
mov byte [rsp + rax + 0x82], dil
mov rax, qword [rsi]
lea rdx, [rsp + 0x80]
mov rcx, rsi
call qword [rax]
cmp r12d, edi
jbe 0x41eb6e
mov edi, 0xffffffff
mov qword [rsp + 0x190], rbx
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov dword [rsp + 0x94], eax
xor edx, edx
cmp eax, edx
jne 0x41ebab
lea eax, [rdi + 1]
mov dword [rsp + 0x94], eax
cmp eax, 2
jae 0x41ea84
lea r8d, [rdi + 2]
jmp 0x41eaa2
mov eax, edi
and eax, 1
add eax, 2
shr edi, 1
mov cl, dil
shl eax, cl
mov r8d, dword [rsp + 0x90]
cmp eax, r8d
cmovbe r8d, eax
mov qword [rsp + 0xd0], 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 + 0x140]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
mov eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x460]
call fcn.0041af58
mov edi, eax
test eax, eax
jne 0x41ebdf
mov rdi, qword [rsp + 0xd0]
mov rdx, rdi
shr rdx, 0x14
lea r8d, [rax + 6]
mov rcx, rsi
call fcn.00417ee0
mov rax, qword [rsp + 0x190]
add qword [rax], rdi
mov edi, dword [rsp + 0x94]
add rax, 8
mov qword [rsp + 0x190], rax
lea eax, [rdi + 1]
cmp eax, r12d
jb 0x41ea55
xor edi, edi
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov edx, 1
add r14, rdx
add r13d, edx
cmp r13d, 0x20
jb 0x41e9d8
mov eax, dword [rsp + 0xe0]
add eax, edx
mov dword [rsp + 0xe0], eax
cmp eax, dword [rsp + 0x480]
jb 0x41e9d2
jmp 0x41ec0e
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, dword [rsp + 0x94]
jmp 0x41fb25
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, edi
jmp 0x41fb25
cmp r14, rdi
je 0x41ec73
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, edi
jbe 0x41ec69
mov rdi, rbx
mov ebp, 1
xor edx, edx
mov rax, qword [rdi]
div r14
shr rax, 0x14
mov r8d, 6
mov rdx, rax
mov rcx, rsi
call fcn.00417ee0
add rdi, 8
sub r15, rbp
jne 0x41ec39
mov rbp, qword [rsp + 0x120]
xor edi, edi
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 + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, edi
jmp 0x41fb25
lea rdx, [0x0044f8d0]
mov rcx, qword [rsp + 0x150]
call fcn.0040283c
mov r12b, al
mov byte [rsp + 0x70], al
mov byte [rsp + 0x78], r14b
lea rdx, str.hash
mov rcx, qword [rsp + 0x150]
call fcn.0040283c
cmp al, r14b
je 0x41ece8
mov byte [rsp + 0x78], r13b
mov r12b, r13b
mov byte [rsp + 0x70], r13b
mov eax, r14d
mov dword [rsp + 0xf8], r14d
mov edx, 1
mov r13d, dword [rsp + 0x90]
mov dword [rsp + 0xe0], r13d
cmp byte [rsp + 0x79], r14b
jne 0x41ed1a
cmp eax, r14d
jne 0x41fb36
jmp 0x41ed62
mov r13d, edx
mov dword [rsp + 0xe0], edx
cmp eax, r14d
je 0x41ed62
mov ecx, dword [rsp + 0x98]
cmp ecx, 2
jb 0x41fb36
mov r13d, ecx
mov dword [rsp + 0xe0], ecx
cmp eax, edx
jne 0x41ed59
cmp ecx, 4
jb 0x41ed62
shr r13d, 1
mov dword [rsp + 0xe0], r13d
jmp 0x41ed62
cmp ecx, 4
jb 0x41fb36
lea rcx, [0x00451bd0]
mov qword [rsp + 0x1b0], rcx
mov byte [rsp + 0x1b8], r14b
mov byte [rsp + 0x214], r14b
mov dword [rsp + 0x218], r14d
mov byte [rsp + 0x21c], r14b
mov qword [rsp + 0x220], r14
mov dword [rsp + 0x228], edx
mov dword [rsp + 0x22c], edx
mov qword [rsp + 0x1c8], r14
mov qword [rsp + 0x1d0], r14
mov qword [rsp + 0x1d8], r14
mov qword [rsp + 0x1e0], r14
mov qword [rsp + 0x1e8], r14
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], r14
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x208], rsi
cmp eax, r14d
jbe 0x41ee07
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
cmp bl, r14b
jne 0x41eeae
mov al, r12b
neg al
sbb r11d, r11d
add r11d, 0x19
mov ebx, r11d
cmp byte [rsp + 0x7a], r14b
je 0x41ee6e
cmp r11d, 0x12
jbe 0x41ee6e
mov esi, 1
mov ebp, 0xffffffff
mov ecx, ebx
mov edx, esi
shl edx, cl
mov r8b, r12b
mov ecx, r13d
call fcn.00417af8
add rax, 0x800000
cmp rax, qword [rsp + 0x180]
jbe 0x41ee5e
add ebx, ebp
cmp ebx, 0x12
ja 0x41ee36
mov rsi, qword [rsp + 0x468]
mov rbp, qword [rsp + 0x120]
mov ecx, ebx
mov edi, 1
shl edi, cl
mov dword [rsp + 0x74], edi
cmp r12b, r14b
je 0x41eeae
cmp ebx, r11d
je 0x41eeae
mov rax, qword [rsi]
lea rdx, str.Dictionary_reduced_to:
mov rcx, rsi
call qword [rax]
mov edx, ebx
mov r8d, 1
mov rcx, rsi
call fcn.00417ee0
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r8b, r12b
mov edx, edi
mov ecx, r13d
call fcn.00417af8
mov r9, rax
mov dword [rsp + 0x28], r13d
lea rax, str.Benchmark_threads:
mov qword [rsp + 0x20], rax
mov r8b, 1
lea rdx, str.usage:
mov rcx, rsi
call fcn.00418404
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
cmp r12b, r14b
je 0x41ef16
mov r8d, 0xc
mov dword [rsp + 0x218], r8d
mov r12b, r14b
mov byte [rsp + 0x7b], r14b
lea eax, [r8 - 0xb]
jmp 0x41ef2f
mov r8d, 4
mov dword [rsp + 0x218], r8d
lea eax, [r8 - 3]
mov r12b, al
mov byte [rsp + 0x7b], al
mov byte [rsp + 0x214], r12b
movzx r14d, r14b
xor ecx, ecx
cmp byte [rsp + 0x70], cl
cmovne r14d, eax
mov dword [rsp + 0x94], r14d
lea ebx, [rcx + 0x1e]
lea eax, [rcx + 0x2a]
cmp r14b, cl
cmovne ebx, eax
mov dword [rsp + 0x248], ebx
cmp r12b, cl
je 0x41efa3
mov dl, 0x20
mov rcx, rsi
call fcn.00417f4c
mov r8d, ebx
lea rdx, str.Compressing
mov rcx, rsi
call fcn.004186cc
mov r11, qword [rsi]
lea rdx, [0x004518e0]
mov rcx, rsi
call qword [r11]
mov r8d, ebx
lea rdx, str.Decompressing
mov rcx, rsi
call fcn.004186cc
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
lea rax, str.Method
lea rdx, str.Dict
xor edi, edi
cmp byte [rsp + 0x70], dil
cmovne rdx, rax
mov r8d, dword [rsp + 0x218]
mov rcx, rsi
call fcn.00418688
mov ebx, edi
lea ebp, [rdi + 1]
mov r8d, 0xa
lea rdx, str.Speed
mov rcx, rsi
call fcn.004186cc
mov r8d, 6
lea rdx, str.Usage
mov rcx, rsi
call fcn.004186cc
mov r8d, 7
lea rdx, [0x00451e28]
mov rcx, rsi
call fcn.004186cc
mov r8d, 7
lea rdx, str.Rating
mov rcx, rsi
call fcn.004186cc
cmp r14b, dil
je 0x41f05d
mov r8d, 6
lea rdx, [0x00451e1c]
mov rcx, rsi
call fcn.004186cc
mov r8d, 6
lea rdx, str.Effec
mov rcx, rsi
call fcn.004186cc
cmp r12b, dil
je 0x41f080
cmp ebx, edi
jne 0x41f075
mov rax, qword [rsi]
lea rdx, [0x004518e0]
mov rcx, rsi
call qword [rax]
add ebx, ebp
cmp ebx, 2
jl 0x41efda
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, dword [rsp + 0x218]
mov dl, 0x20
mov rcx, rsi
call fcn.00417f4c
xor r13d, r13d
mov ebx, r13d
mov rbp, qword [rsp + 0x120]
lea edi, [r13 + 1]
mov r8d, 0xa
lea rdx, str.KiB_s
mov rcx, rsi
call fcn.004186cc
mov r8d, 6
lea rdx, [0x00451e08]
mov rcx, rsi
call fcn.004186cc
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.004186cc
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.004186cc
cmp r14b, r13b
je 0x41f130
mov r8d, 6
lea rdx, [0x00451e08]
mov rcx, rsi
call fcn.004186cc
mov r8d, 6
lea rdx, [0x00451e08]
mov rcx, rsi
call fcn.004186cc
cmp r12b, r13b
je 0x41f154
cmp ebx, r13d
jne 0x41f149
mov rax, qword [rsi]
lea rdx, [0x004518e0]
mov rcx, rsi
call qword [rax]
add ebx, edi
cmp ebx, 2
jl 0x41f0ad
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor eax, eax
mov r14, rax
mov rbx, qword [rsp + 0xd0]
cmp rbx, rax
cmovne r14, rbx
mov qword [rsp + 0xa0], r14
cmp byte [rsp + 0x70], al
mov r13d, dword [rsp + 0xe0]
mov edi, dword [rsp + 0x74]
je 0x41f42b
mov r12d, eax
cmp dword [rsp + 0x480], eax
jbe 0x41f872
xor edi, edi
cmp r12d, edi
je 0x41f1b9
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, 0xc
lea rdx, [0x00451e04]
mov rcx, rsi
call fcn.00418688
cmp edi, 2
je 0x41f1e0
xor r14d, r14d
cmp rbx, r14
jne 0x41f1e3
mov r9b, r14b
jmp 0x41f1e6
xor r14d, r14d
mov r9b, 1
lea rax, [rsp + 0x190]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r8, rsi
mov edx, r13d
mov rcx, r15
call fcn.0041ac6c
mov ebx, eax
cmp eax, r14d
jne 0x41fa01
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r14, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xd0]
xor edx, edx
cmp rbx, rdx
cmovne r14, rbx
mov qword [rsp + 0xa0], r14
cmp edi, 2
jne 0x41f2a4
cmp rbx, rdx
setne cl
mov rax, r14
movabs r15, 0x400000000
mov r8d, 0x3d0900
cmp r14, r8
jae 0x41f276
cmp cl, dl
cmove rax, r8
movabs r8, 0x4a817c800
cmp rax, r8
jb 0x41f289
cmp cl, dl
je 0x41f2a4
mov ecx, dword [rsp + 0x100]
cmp ecx, edx
je 0x41f29d
mov r15, rcx
imul r15, rax
jmp 0x41f2a4
mov r15, rax
shr r15, 2
inc edi
cmp edi, 3
jb 0x41f1b9
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov ecx, 1
mov byte [rsp + 0x21c], cl
mov qword [rsp + 0x220], r14
xor edi, edi
cmp byte [rsp + 0x78], dil
jne 0x41f33f
cmp rbp, rdi
je 0x41f2e9
mov rax, qword [rsp + 0x128]
jmp 0x41f2ed
mov eax, dword [rsp + 0x74]
cmp byte [rsp + 0x71], dil
jne 0x41f2fe
cmp rbp, rdi
jne 0x41f2fe
mov r9b, dil
jmp 0x41f301
mov r9b, cl
lea rcx, [rsp + 0x1b0]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
mov r8d, r13d
mov rdx, r15
mov rcx, qword [rsp + 0x460]
call fcn.0041d5c0
mov ebx, eax
cmp eax, edi
jne 0x41fa25
mov ecx, 1
mov qword [rsp + 0x40], r14
mov byte [rsp + 0x38], cl
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9d, 0x20000
mov r8d, r13d
mov rdx, r15
mov rcx, qword [rsp + 0x460]
call fcn.0041bc14
mov ebx, eax
cmp eax, edi
jne 0x41fa49
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8d, 0xc
lea rdx, [0x00451e04]
mov rcx, rsi
call fcn.00418688
mov qword [rsp + 0xe0], r14
mov rax, qword [rsp + 0xd0]
cmp rax, rdi
setne r9b
lea rcx, [rsp + 0x130]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r8, rsi
mov edx, r13d
mov rcx, r15
call fcn.0041ac6c
mov ebx, eax
cmp eax, edi
jne 0x41fa6d
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
inc r12d
cmp r12d, dword [rsp + 0x480]
mov rbx, qword [rsp + 0xd0]
jb 0x41f1ab
mov edi, dword [rsp + 0x74]
jmp 0x41f872
mov r13b, 1
lea rdx, str.LZMA
mov rcx, qword [rsp + 0xe8]
call fcn.0040283c
xor ebx, ebx
cmp al, bl
jne 0x41f5b0
mov r12d, ebx
lea rdi, [0x00451290]
mov rdx, qword [rdi + 0x18]
lea rcx, [rsp + 0x80]
call fcn.00402c00
nop
lea rcx, [rsp + 0x170]
call fcn.00402bc8
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0x80]
call fcn.004026d8
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x41f4c7
lea edx, [rbx + 1]
add rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x170]
call fcn.00402c78
cmp ebx, dword [rsp + 0x88]
jae 0x41f4cb
mov dword [rsp + 0x88], ebx
mov rcx, rbx
mov rax, qword [rsp + 0x80]
xor ebx, ebx
mov byte [rcx + rax], bl
jmp 0x41f4cd
xor ebx, ebx
jmp 0x41f4cd
xor ebx, ebx
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x80]
call fcn.0040283c
cmp al, bl
je 0x41f529
cmp dword [rsp + 0x178], ebx
je 0x41f55d
lea rdx, [0x00451e00]
mov rcx, qword [rsp + 0x170]
call sub.msvcrt.dll_strcmp
cmp eax, ebx
jne 0x41f510
cmp dword [rsp + 0x168], ebx
je 0x41f55d
mov rdx, qword [rsp + 0x170]
lea rcx, [rsp + 0x160]
call fcn.004027d8
cmp al, bl
jne 0x41f55d
mov rcx, qword [rsp + 0x170]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov r9d, 1
add r12d, r9d
add rdi, 0x20
cmp r12d, 0x11
jb 0x41f456
jmp 0x41f59f
mov eax, dword [rdi + 8]
mov dword [rsp + 0x1bc], eax
mov eax, dword [rdi + 0xc]
mov dword [rsp + 0x1c0], eax
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x1c4], eax
mov r13b, bl
mov rcx, qword [rsp + 0x170]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov r9d, 1
cmp r12d, 0x11
je 0x41fa91
cmp r13b, bl
je 0x41f5df
jmp 0x41f5b6
mov r9d, 1
mov dword [rsp + 0x1bc], 0x4b0
mov dword [rsp + 0x1c4], 4
mov dword [rsp + 0x1c0], 0xbe
mov byte [rsp + 0x1b8], r9b
mov r13d, ebx
cmp dword [rsp + 0x480], ebx
jbe 0x41f86e
mov edx, dword [rsp + 0x74]
cmp edx, 0x400000
sbb r12d, r12d
and r12d, 0xfffffffc
xor r8d, r8d
lea ebx, [r12 + 0x16]
mov eax, 0x1f
cmp byte [rsp + 0x488], r8b
cmove ebx, eax
mov ecx, ebx
mov eax, r9d
shl eax, cl
cmp eax, edx
jbe 0x41f642
mov ebp, 0xffffffff
cmp ebx, r8d
jbe 0x41f63a
add ebx, ebp
mov ecx, ebx
mov eax, r9d
shl eax, cl
cmp eax, edx
ja 0x41f628
mov rbp, qword [rsp + 0x120]
mov ecx, ebx
mov edi, r9d
shl edi, cl
cmp edi, edx
ja 0x41f857
lea rdx, [rsp + 0xb0]
mov ecx, ebx
call fcn.00401928
xor eax, eax
mov r11, rax
cmp byte [rsp + 0xb0], al
je 0x41f67e
lea ecx, [rax + 1]
add r11, rcx
cmp byte [rsp + r11 + 0xb0], al
jne 0x41f671
mov byte [rsp + r11 + 0xb0], 0x3a
mov byte [rsp + r11 + 0xb1], al
mov r8d, 4
lea rdx, [rsp + 0xb0]
mov rcx, rsi
call fcn.00418688
mov dword [rsp + 0x210], edi
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x278]
call fcn.0041a9a4
nop
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x288]
call fcn.00402c44
nop
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x298]
call fcn.00403314
nop
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x288]
call fcn.0040283c
xor ecx, ecx
cmp al, cl
je 0x41f776
mov word [rsp + 0x260], 0x13
mov word [rsp + 0x262], cx
mov dword [rsp + 0x268], ebx
lea rdx, [0x00450088]
lea rcx, [rsp + 0x2d0]
call fcn.004032bc
nop
lea r8, [rsp + 0x260]
mov rdx, rax
lea rcx, [rsp + 0x278]
call fcn.0040e568
mov edi, eax
mov rcx, qword [rsp + 0x2d0]
call sub.msvcrt.dll_free
xor eax, eax
cmp edi, eax
jne 0x41fab7
lea rcx, [rsp + 0x260]
call fcn.0040ae2c
xor ecx, ecx
cmp rbp, rcx
je 0x41f785
mov rax, qword [rsp + 0x128]
jmp 0x41f79a
mov eax, dword [rsp + 0x210]
cmp rax, 0x40000
jb 0x41f79a
add rax, 0x10000
lea rcx, [rsp + 0x1b8]
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x1b0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], 0x1e
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x278]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xe0]
mov r8b, 1
mov rdx, r15
mov rcx, qword [rsp + 0x460]
call fcn.0041c278
mov edi, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + VariantCopy]
xor eax, eax
cmp edi, eax
jne 0x41faf6
cmp byte [rsp + 0x488], al
je 0x41f83f
lea rcx, [rsp + 0x278]
call fcn.0041b91c
mov r9d, 1
add ebx, r9d
mov ecx, ebx
mov edi, r9d
shl edi, cl
mov edx, dword [rsp + 0x74]
cmp edi, edx
jbe 0x41f651
xor r8d, r8d
jmp 0x41f857
lea rcx, [rsp + 0x278]
call fcn.0041b91c
mov edx, dword [rsp + 0x74]
xor r8d, r8d
lea r9d, [r8 + 1]
add r13d, r9d
cmp r13d, dword [rsp + 0x480]
jb 0x41f603
mov edi, dword [rsp + 0x74]
jmp 0x41f872
mov edi, dword [rsp + 0x74]
mov eax, dword [rsp + 0x218]
mov r12d, dword [rsp + 0x248]
lea r8d, [r12 + rax]
mov dl, 0x2d
mov rcx, rsi
call fcn.00417f4c
mov bl, byte [rsp + 0x7b]
xor r13d, r13d
cmp bl, r13b
je 0x41f8b7
mov rax, qword [rsi]
lea rdx, [0x004518e0]
mov rcx, rsi
call qword [rax]
mov r8d, r12d
mov dl, 0x2d
mov rcx, rsi
call fcn.00417f4c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
cmp bl, r13b
je 0x41f929
mov r8d, dword [rsp + 0x218]
lea rdx, str.Avr:
mov rcx, rsi
call fcn.00418688
lea r9, [rsp + 0x1c8]
mov r8, r14
mov ebx, dword [rsp + 0x94]
mov dl, bl
mov rcx, rsi
call fcn.00418188
mov r11, qword [rsi]
lea rdx, [0x004518e0]
mov rcx, rsi
call qword [r11]
lea r9, [rsp + 0x1e8]
mov r8, r14
mov dl, bl
mov rcx, rsi
call fcn.00418188
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
jmp 0x41f930
mov ebx, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x218]
lea rdx, str.Tot:
mov rcx, rsi
call fcn.00418688
mov r11, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1f0]
add rcx, r11
mov qword [rsp + 0x2b0], rcx
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1f8]
add rcx, rax
mov qword [rsp + 0x2b8], rcx
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x200]
add rcx, rax
mov qword [rsp + 0x2c0], rcx
mov rcx, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1e8]
add rcx, rax
mov qword [rsp + 0x2a8], rcx
lea r9, [rsp + 0x2a8]
mov r8, r14
mov dl, bl
mov rcx, rsi
call fcn.00418188
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0xf8]
mov edx, 1
add eax, edx
mov dword [rsp + 0xf8], eax
cmp eax, 3
mov r12b, byte [rsp + 0x70]
mov bl, byte [rsp + 0x71]
mov r14, r13
jb 0x41ecf8
jmp 0x41fb36
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
jmp 0x41fb25
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, 0x80004001
jmp 0x41fb25
lea rcx, [rsp + 0x260]
call fcn.0040ae2c
nop
lea rcx, [rsp + 0x278]
call fcn.0041b91c
nop
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, edi
jmp 0x41fb25
lea rcx, [rsp + 0x278]
call fcn.0041b91c
nop
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
mov ebx, edi
lea rcx, [rsp + 0x140]
call fcn.0041b91c
mov eax, ebx
jmp 0x41fb89
mov rcx, qword [rsp + 0xe8]
call sub.msvcrt.dll_free
nop
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
lea rcx, [rsp + 0x140]
call fcn.0041b91c
xor eax, eax
jmp 0x41fb89
mov rdx, rbp
lea rcx, [0x00457a70]
call qword [0x00457a78]
nop
lea rcx, [rsp + 0x140]
call fcn.0041b91c
mov eax, 0x80070057
add rsp, 0x418
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret