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

Disassembly:
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 r13, r9
mov r15, r8
mov rsi, rdx
call fcn.0041936c
xor edi, edi
cmp al, dil
jne 0x41d195
lea eax, [rdi + 1]
jmp 0x41f338
movabs rax, 0x100000000
mov qword [rsp + 0x178], rax
mov r12d, 1
mov qword [rsp + 0x250], r12
mov qword [rsp + 0x258], r12
lea rcx, [rsp + 0x250]
call fcn.0040b5a4
cmp eax, edi
je 0x41d1eb
mov rcx, qword [rsp + 0x250]
cmp rcx, rdi
je 0x41d1eb
call fcn.0040b584
mov ebx, eax
mov dword [rsp + 0x84], eax
jmp 0x41d1f9
call fcn.0040b5cc
mov ebx, eax
mov dword [rsp + 0x84], eax
lea rcx, [rsp + 0x178]
call fcn.0040b620
mov byte [rsp + 0x74], al
mov dword [rsp + 0x80], ebx
mov dword [rsp + 0x104], 4
mov rbx, rdi
mov qword [rsp + 0xa8], rdi
mov byte [rsp + 0x72], dil
mov qword [rsp + 0x138], rdi
mov dword [rsp + 0x140], edi
mov dword [rsp + 0x144], edi
lea rcx, [rsp + 0x148]
call fcn.00402c44
nop
lea rcx, [rsp + 0x158]
call fcn.00403284
nop
mov qword [rsp + 0x128], rdi
mov rbp, rdi
mov qword [rsp + 0x130], rdi
mov r14d, edi
cmp dword [r13 + 8], edi
jbe 0x41d962
mov rax, qword [r13]
mov rbx, qword [rdi + rax]
mov rdx, rbx
lea rcx, [rsp + 0xb8]
call fcn.00403390
nop
mov rcx, qword [rsp + 0xb8]
call fcn.004027a4
lea rdx, str.file
mov rcx, qword [rsp + 0xb8]
call fcn.00402894
xor ecx, ecx
cmp al, cl
je 0x41d41b
cmp dword [rbx + 0x18], ecx
je 0x41d76f
mov qword [rsp + 0x230], 0xffffffffffffffff
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x230]
call fcn.004091cc
xor ecx, ecx
cmp al, cl
je 0x41d790
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x230]
call fcn.004089f4
xor ecx, ecx
cmp al, cl
je 0x41d7bf
mov eax, 0x80000000
mov rbx, qword [rsp + 0x120]
cmp rbx, rax
jae 0x41d84c
cmp rbx, rcx
je 0x41d84c
cmp rbp, rcx
je 0x41d33f
cmp qword [rsp + 0x128], rbx
je 0x41d38e
mov rcx, rbp
call fcn.0044cc20
xor ecx, ecx
mov qword [rsp + 0x128], rcx
mov rcx, rbx
call fcn.0044cc00
mov rbp, rax
mov qword [rsp + 0x130], rax
xor eax, eax
cmp rbp, rax
je 0x41d37d
mov qword [rsp + 0x128], rbx
mov rbx, qword [rsp + 0x120]
jmp 0x41d38e
cmp rbx, rax
jne 0x41d7ee
mov rbx, qword [rsp + 0x120]
lea r9, [rsp + 0x190]
mov r8d, ebx
mov rdx, rbp
lea rcx, [rsp + 0x230]
call fcn.00408b34
mov r11d, dword [rsp + 0x190]
cmp r11, qword [rsp + 0x120]
jne 0x41d81d
xor ecx, ecx
cmp rsi, rcx
je 0x41d3f3
mov rax, qword [rsi]
lea rdx, str.file_size_
mov rcx, rsi
call qword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x120]
mov rcx, rsi
call fcn.00418014
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xa8]
jmp 0x41d759
mov word [rsp + 0x108], cx
mov word [rsp + 0x10a], cx
mov qword [rsp + 0x110], rcx
cmp dword [rbx + 0x18], ecx
je 0x41d49b
lea rdx, [rsp + 0xf8]
mov rcx, qword [rbx + 0x10]
call fcn.00403f94
mov rcx, qword [rsp + 0xf8]
xor edx, edx
cmp word [rcx], dx
jne 0x41d48a
cmp dword [rbx + 0x18], edx
je 0x41d48a
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x41d478
mov edx, eax
lea rcx, [rsp + 0x108]
call fcn.0040b078
jmp 0x41d49b
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.0040b0a4
jmp 0x41d49b
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x108]
call fcn.0040af90
lea rdx, str.time
mov rcx, qword [rsp + 0xb8]
call fcn.00402894
xor ebx, ebx
cmp al, bl
je 0x41d51c
lea rcx, [rsp + 0xc8]
call fcn.00403284
nop
lea r8, [rsp + 0x104]
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.0040d690
mov ebx, eax
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
xor ecx, ecx
cmp ebx, ecx
jne 0x41d87b
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xa8]
jmp 0x41d759
lea rdx, str.freq
mov rcx, qword [rsp + 0xb8]
call fcn.00402894
cmp al, bl
je 0x41d5f0
mov dword [rsp + 0x100], ebx
lea rcx, [rsp + 0x168]
call fcn.00403284
nop
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.0040d690
mov ebx, eax
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
xor ecx, ecx
cmp ebx, ecx
jne 0x41d8a5
mov eax, dword [rsp + 0x100]
cmp eax, ecx
je 0x41d8cf
mov rbx, rax
imul rbx, rbx, 0xf4240
mov qword [rsp + 0xa8], rbx
cmp rsi, rcx
je 0x41d5d0
mov rax, qword [rsi]
lea rdx, [0x00451f08]
mov rcx, rsi
call qword [rax]
mov edx, dword [rsp + 0x100]
xor r8d, r8d
mov rcx, rsi
call fcn.00418014
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
jmp 0x41d759
lea rdx, [0x00450044]
lea rcx, [rsp + 0xb8]
call fcn.00402854
cmp al, bl
je 0x41d70d
mov rdx, qword [rsp + 0xb8]
add rdx, 4
lea rcx, [rsp + 0x198]
call fcn.004032f0
nop
lea rdx, [0x0044f8c0]
mov rcx, qword [rsp + 0x198]
call fcn.00402894
cmp al, bl
jne 0x41d6d5
cmp dword [rsp + 0x1a0], ebx
jne 0x41d66e
cmp word [rsp + 0x108], 8
jne 0x41d66e
lea rdx, [0x0044f8c0]
mov rcx, qword [rsp + 0x110]
call fcn.00402894
cmp al, bl
jne 0x41d6d5
lea r9, [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x198]
call fcn.0040d6e0
mov ebx, eax
xor ecx, ecx
cmp eax, ecx
jne 0x41d8fe
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xa8]
jmp 0x41d759
mov byte [rsp + 0x72], r12b
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xa8]
jmp 0x41d759
lea r8, [rsp + 0x108]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x138]
call fcn.0040e5dc
mov ebx, eax
xor ecx, ecx
cmp eax, ecx
jne 0x41d936
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
mov rbx, qword [rsp + 0xa8]
add r14d, r12d
add rdi, 8
cmp r14d, dword [r13 + 8]
jae 0x41d960
jmp 0x41d27e
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80070057
jmp 0x41f2e4
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80070057
jmp 0x41f2e4
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80004005
jmp 0x41f2e4
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x8007000e
jmp 0x41f2e4
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80004005
jmp 0x41f2e4
lea rcx, [rsp + 0x230]
call fcn.004089c8
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80070057
jmp 0x41f2e4
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80070057
jmp 0x41f2e4
mov rcx, qword [rsp + 0x198]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
lea rcx, [rsp + 0x108]
call fcn.0040ae18
nop
mov rcx, qword [rsp + 0xb8]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
xor edi, edi
cmp rsi, rdi
je 0x41dc02
lea rcx, [rsp + 0x98]
call fcn.00402c44
nop
mov dword [rsp + 0x2f0], 0x11c
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp rax, rdi
je 0x41da62
lea rdx, str.RtlGetVersion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, rdi
je 0x41da62
lea rcx, [rsp + 0x2f0]
call rax
lea rdx, str.Windows
lea rcx, [rsp + 0x98]
call fcn.00402e34
mov edx, dword [rsp + 0x300]
cmp edx, 2
je 0x41d9ea
lea rcx, [rsp + 0x98]
call fcn.00402ec0
lea rdx, [0x00451af4]
lea rcx, [rsp + 0x98]
call fcn.00402e34
mov edx, dword [rsp + 0x2f4]
lea rcx, [rsp + 0x98]
call fcn.00402ec0
lea rdx, [0x00451af0]
lea rcx, [rsp + 0x98]
call fcn.00402e34
mov edx, dword [rsp + 0x2f8]
lea rcx, [rsp + 0x98]
call fcn.00402ec0
lea rdx, [0x00451af4]
lea rcx, [rsp + 0x98]
call fcn.00402e34
mov edx, dword [rsp + 0x2fc]
lea rcx, [rsp + 0x98]
call fcn.00402ec0
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0x98]
call fcn.00402c44
nop
lea rcx, [rsp + 0x88]
call fcn.00402c44
nop
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x98]
call fcn.00418c50
cmp dword [rsp + 0xa0], edi
jne 0x41dacd
cmp dword [rsp + 0x90], edi
je 0x41db3f
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call qword [rax]
mov r11d, dword [rsp + 0x90]
cmp dword [rsp + 0xa0], r11d
jne 0x41db10
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_strcmp
cmp eax, edi
je 0x41db35
mov r11d, dword [rsp + 0x90]
cmp r11d, edi
je 0x41db35
mov rax, qword [rsi]
lea rdx, [0x00451efc]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call qword [r11]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0xc8]
call fcn.00402c44
nop
lea rcx, [rsp + 0xc8]
call fcn.00418d24
cmp dword [rsp + 0xd0], edi
je 0x41db99
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xc8]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0xc8]
call fcn.00402c44
nop
lea rcx, [rsp + 0xc8]
call fcn.00418c8c
cmp dword [rsp + 0xd0], edi
je 0x41dbe5
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xc8]
mov rcx, rsi
call qword [rax]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
nop
mov rcx, qword [rsp + 0xc8]
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, rdi
je 0x41ddfd
mov edi, 0x40
xor r14d, r14d
cmp rbx, r14
je 0x41dc44
mov rax, rdi
imul rax, rax, 0xf4240
cmp rbx, rax
jae 0x41dc44
shr rdi, 1
cmp rdi, r12
ja 0x41dc2d
mov r13d, r14d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov ebx, eax
cmp eax, r14d
jne 0x41dd65
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.00417d98
cmp eax, 0xf1541213
jne 0x41dc95
mov rax, qword [rsi]
lea rdx, [0x0045007a]
mov rcx, rsi
call qword [rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r11d, eax
sub r11, rbx
mov r14, r11
cmove r14, r12
mov rax, rdi
imul rax, rax, 0x3e8
xor edx, edx
div r14
mov rbx, rax
xor eax, eax
cmp r11, rax
jne 0x41dcd3
mov r8, qword [rsi]
lea rdx, [0x00451ee8]
mov rcx, rsi
call qword [r8]
jmp 0x41dce4
mov r8d, 5
mov rdx, rbx
mov rcx, rsi
call fcn.00418014
cmp r13d, 3
jl 0x41dd5a
imul rbx, rbx, 0xf4240
movabs rax, 0x400000000
mov qword [rsp + 0xd8], rax
mov eax, 0x3d0900
cmp rbx, rax
cmovb rbx, rax
movabs rax, 0x4a817c800
cmp rbx, rax
jae 0x41dd48
mov eax, dword [rsp + 0x104]
xor ecx, ecx
cmp eax, ecx
je 0x41dd39
imul rax, rbx
mov qword [rsp + 0xd8], rax
jmp 0x41dd48
mov rax, rbx
shr rax, 2
mov qword [rsp + 0xd8], rax
cmp r13d, 8
jge 0x41dd73
cmp r14, 0x3e8
jae 0x41dd73
add rdi, rdi
add r13d, r12d
xor r14d, r14d
jmp 0x41dc47
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x28], eax
lea rax, str.CPU_hardware_threads:
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x178]
mov r8b, byte [rsp + 0x74]
lea rdx, str.size:
mov rcx, rsi
call fcn.00418520
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0xc8]
call fcn.0041832c
nop
mov r8, qword [rsi]
mov rdx, qword [rax]
mov rcx, rsi
call qword [r8]
nop
mov rcx, qword [rsp + 0xc8]
call sub.msvcrt.dll_free
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r14, qword [rsp + 0xd8]
xor edi, edi
mov eax, dword [rsp + 0x80]
dec eax
cmp eax, 0xfff
ja 0x41f31d
mov r13d, edi
mov dword [rsp + 0x7c], edi
mov edx, r12d
lea rcx, [rsp + 0x138]
call fcn.0040dba0
cmp eax, edi
jl 0x41de54
mov ecx, eax
mov rax, qword [rsp + 0x138]
mov rdx, qword [rax + rcx*8]
cmp word [rdx + 8], 0x13
jne 0x41de54
mov r13d, dword [rdx + 0x10]
mov dword [rsp + 0x7c], r13d
mov bl, r12b
mov byte [rsp + 0x71], r12b
jmp 0x41de5c
mov bl, dil
mov byte [rsp + 0x71], dil
cmp dword [rsp + 0x150], edi
jne 0x41de79
lea rdx, str.LZMA
lea rcx, [rsp + 0x148]
call fcn.00402cf4
cmp r15, rdi
je 0x41df1f
mov dword [rsp + 0xcc], 0x4b0
mov dword [rsp + 0xd4], 4
mov dword [rsp + 0xd0], 0xbe
mov byte [rsp + 0xc8], r12b
lea rcx, [rsp + 0x138]
call fcn.00419490
lea ecx, [rax + 0x10000]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], 0x1e
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x80]
mov r8b, r12b
mov rdx, r14
mov rcx, qword [rsp + 0x460]
call fcn.0041bfd4
mov ebx, eax
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0xe0]
call fcn.00402cc0
nop
lea rdx, [0x00451ebc]
mov rcx, qword [rsp + 0xe0]
call fcn.004028b8
cmp al, dil
je 0x41df62
lea rdx, str.crc32
lea rcx, [rsp + 0xe0]
call fcn.00402cf4
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x148]
call fcn.00402d58
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x460]
call fcn.0040ba54
cmp al, dil
je 0x41e4f8
cmp rsi, rdi
jne 0x41dfc1
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, r12d
jmp 0x41f2e4
mov eax, 0x1000000
cmp bl, dil
cmove r13d, eax
mov dword [rsp + 0x7c], r13d
mov dword [rsp + 0x84], 0x2710
mov qword [rsp + 0xf8], rdi
mov r13d, edi
lea rdi, [0x004514c4]
xor r14d, r14d
mov rdx, qword [rdi + 0xc]
lea rcx, [rsp + 0x98]
call fcn.00402c7c
nop
lea rcx, [rsp + 0x88]
call fcn.00402c44
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0x98]
call fcn.00402754
mov ebx, eax
cmp eax, r14d
jl 0x41e05c
lea edx, [rbx + 1]
add rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x88]
call fcn.00402cf4
cmp ebx, dword [rsp + 0xa0]
jae 0x41e05c
mov dword [rsp + 0xa0], ebx
mov rax, qword [rsp + 0x98]
mov byte [rbx + rax], r14b
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x98]
call fcn.004028b8
cmp al, r14b
je 0x41e109
cmp dword [rsp + 0x90], r14d
je 0x41e0da
lea rdx, str.crc32
mov rcx, qword [rsp + 0x98]
call fcn.004028b8
cmp al, r14b
je 0x41e0c0
lea rdx, [0x00451eb0]
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_strcmp
cmp eax, r14d
jne 0x41e0c0
cmp dword [rsp + 0x160], r14d
je 0x41e0da
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x158]
call fcn.00402854
cmp al, r14b
je 0x41e109
mov eax, dword [rdi]
mov dword [rsp + 0x84], eax
lea rax, [rdi + 4]
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x158]
call fcn.004028fc
cmp al, r14b
jne 0x41e137
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
add r13d, r12d
add rdi, 0x18
cmp r13d, 7
jb 0x41dff2
jmp 0x41e152
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x98]
call sub.msvcrt.dll_free
cmp r13d, 7
jne 0x41e179
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80004001
jmp 0x41f2e4
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 r13d, r14d
mov edi, 0xffffffff
mov r8d, dword [rsp + 0x80]
cmp r13d, 2
jae 0x41e1ad
lea ebx, [rdi + 2]
jmp 0x41e1c4
mov edx, edi
and edx, r12d
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.00418014
add r13d, r12d
add edi, r12d
mov r8d, dword [rsp + 0x80]
cmp ebx, r8d
jb 0x41e1a2
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov edi, r13d
mov qword [rsp + 0x248], rdi
mov ecx, r13d
shl rcx, 3
call fcn.004021ac
mov rbx, rax
mov qword [rsp + 0x98], rax
cmp r13d, r14d
jbe 0x41e232
mov r8, rdi
shl r8, 3
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov r15, r14
mov dword [rsp + 0x78], r14d
cmp dword [rsp + 0x480], r14d
jbe 0x41e4d0
mov r14d, 0xa
mov ecx, r14d
mov eax, r12d
shl eax, cl
mov dword [rsp + 0xf0], eax
cmp eax, dword [rsp + 0x7c]
ja 0x41e402
lea rdx, [rsp + 0x88]
call fcn.0040197c
xor edi, edi
mov rax, rdi
cmp byte [rsp + 0x88], dil
je 0x41e290
add rax, r12
cmp byte [rsp + rax + 0x88], dil
jne 0x41e283
mov byte [rsp + rax + 0x88], 0x3a
inc rax
mov byte [rsp + rax + 0x88], 0x20
add rax, r12
mov byte [rsp + rax + 0x88], dil
mov rax, qword [rsi]
lea rdx, [rsp + 0x88]
mov rcx, rsi
call qword [rax]
cmp r13d, edi
jbe 0x41e3e9
mov edi, 0xffffffff
mov qword [rsp + 0x188], rbx
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov dword [rsp + 0xb0], eax
xor edx, edx
cmp eax, edx
jne 0x41e41c
lea eax, [rdi + 1]
mov dword [rsp + 0xb0], eax
cmp eax, 2
jae 0x41e303
lea r8d, [rdi + 2]
jmp 0x41e321
mov eax, edi
and eax, r12d
add eax, 2
shr edi, 1
mov cl, dil
shl eax, cl
mov r8d, dword [rsp + 0x80]
cmp eax, r8d
cmovbe r8d, eax
mov qword [rsp + 0xa8], rdx
mov rax, rdx
cmp r14d, 0x11
cmove rax, qword [rsp + 0xf8]
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], r12d
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xf0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x460]
call fcn.0041ad54
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x41e448
mov rdi, qword [rsp + 0xa8]
mov rdx, rdi
shr rdx, 0x14
lea r8d, [rax + 6]
mov rcx, rsi
call fcn.00418014
mov rax, qword [rsp + 0x188]
add qword [rax], rdi
mov edi, dword [rsp + 0xb0]
add rax, 8
mov qword [rsp + 0x188], rax
lea eax, [rdi + 1]
cmp eax, r13d
jb 0x41e2d4
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
add r15, r12
add r14d, r12d
cmp r14d, 0x20
jb 0x41e24e
mov eax, dword [rsp + 0x78]
add eax, r12d
mov dword [rsp + 0x78], eax
cmp eax, dword [rsp + 0x480]
jb 0x41e248
jmp 0x41e46f
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, dword [rsp + 0xb0]
jmp 0x41f2e4
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, edi
jmp 0x41f2e4
xor r14d, r14d
cmp r15, r14
je 0x41e4d0
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 r13d, r14d
jbe 0x41e4c6
mov rdi, rbx
mov r13, qword [rsp + 0x248]
xor edx, edx
mov rax, qword [rdi]
div r15
shr rax, 0x14
mov r8d, 6
mov rdx, rax
mov rcx, rsi
call fcn.00418014
add rdi, 8
sub r13, r12
jne 0x41e4a0
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 + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, r14d
jmp 0x41f2e4
lea rdx, [0x0044f8c0]
mov rcx, qword [rsp + 0x148]
call fcn.004028b8
mov r15b, al
mov byte [rsp + 0x70], al
mov byte [rsp + 0x73], dil
lea rdx, str.hash
mov rcx, qword [rsp + 0x148]
call fcn.004028b8
cmp al, dil
je 0x41e53e
mov byte [rsp + 0x73], r12b
mov r15b, r12b
mov byte [rsp + 0x70], r12b
mov eax, edi
mov dword [rsp + 0xf0], edi
mov edi, dword [rsp + 0x80]
mov dword [rsp + 0x78], edi
xor edx, edx
cmp byte [rsp + 0x72], dl
jne 0x41e564
cmp eax, edx
jne 0x41f2f5
jmp 0x41e5a1
mov edi, r12d
mov dword [rsp + 0x78], r12d
cmp eax, edx
je 0x41e5a1
mov ecx, dword [rsp + 0x84]
cmp ecx, 2
jb 0x41f2f5
mov edi, ecx
mov dword [rsp + 0x78], ecx
cmp eax, r12d
jne 0x41e598
cmp ecx, 4
jb 0x41e5a1
shr edi, 1
mov dword [rsp + 0x78], edi
jmp 0x41e5a1
cmp ecx, 4
jb 0x41f2f5
lea rcx, [0x00451be0]
mov qword [rsp + 0x1b0], rcx
mov byte [rsp + 0x1b8], dl
mov byte [rsp + 0x214], dl
mov dword [rsp + 0x218], edx
mov byte [rsp + 0x21c], dl
mov qword [rsp + 0x220], rdx
mov dword [rsp + 0x228], r12d
mov dword [rsp + 0x22c], r12d
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x200], rdx
mov qword [rsp + 0x208], rsi
cmp eax, edx
jbe 0x41e645
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 bl, dl
jne 0x41e6dc
mov al, r15b
neg al
sbb r11d, r11d
add r11d, 0x19
mov ebx, r11d
cmp byte [rsp + 0x74], dl
je 0x41e69f
cmp r11d, 0x12
jbe 0x41e69f
mov ebp, 0xffffffff
mov ecx, ebx
mov edx, r12d
shl edx, cl
mov r8b, r15b
mov ecx, edi
call fcn.00417c28
add rax, 0x800000
cmp rax, qword [rsp + 0x178]
jbe 0x41e695
add ebx, ebp
cmp ebx, 0x12
ja 0x41e66d
mov rbp, qword [rsp + 0x130]
xor edx, edx
mov ecx, ebx
mov r13d, r12d
shl r13d, cl
mov dword [rsp + 0x7c], r13d
cmp r15b, dl
je 0x41e6dc
cmp ebx, r11d
je 0x41e6dc
mov rax, qword [rsi]
lea rdx, str.Dictionary_reduced_to:
mov rcx, rsi
call qword [rax]
mov edx, ebx
mov r8d, r12d
mov rcx, rsi
call fcn.00418014
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r8b, r15b
mov edx, r13d
mov ecx, edi
call fcn.00417c28
mov r9, rax
mov dword [rsp + 0x28], edi
lea rax, str.Benchmark_threads:
mov qword [rsp + 0x20], rax
mov r8b, r12b
lea rdx, str.usage:
mov rcx, rsi
call fcn.00418520
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor ecx, ecx
cmp r15b, cl
je 0x41e73e
lea r8d, [rcx + 0xc]
mov dword [rsp + 0x218], r8d
mov r13b, cl
mov byte [rsp + 0x75], cl
jmp 0x41e754
mov r8d, 4
mov dword [rsp + 0x218], r8d
mov r13b, r12b
mov byte [rsp + 0x75], r12b
mov byte [rsp + 0x214], r13b
movzx edi, cl
cmp r15b, cl
cmovne edi, r12d
mov dword [rsp + 0xb0], edi
mov ebx, 0x1e
lea eax, [rbx + 0xc]
cmp dil, cl
cmovne ebx, eax
mov dword [rsp + 0x180], ebx
cmp r13b, cl
je 0x41e7c5
mov dl, 0x20
mov rcx, rsi
call fcn.00418080
mov r8d, ebx
lea rdx, str.Compressing
mov rcx, rsi
call fcn.004187e8
mov r11, qword [rsi]
lea rdx, [0x004518f0]
mov rcx, rsi
call qword [r11]
mov r8d, ebx
lea rdx, str.Decompressing
mov rcx, rsi
call fcn.004187e8
mov rax, qword [rsi]
mov rcx, rsi
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 + 0x218]
mov rcx, rsi
call fcn.004187a4
mov ebx, r14d
lea r15d, [r14 + 6]
mov r8d, 0xa
lea rdx, str.Speed
mov rcx, rsi
call fcn.004187e8
mov r8d, r15d
lea rdx, str.Usage
mov rcx, rsi
call fcn.004187e8
mov r8d, 7
lea rdx, [0x00451e18]
mov rcx, rsi
call fcn.004187e8
mov r8d, 7
lea rdx, str.Rating
mov rcx, rsi
call fcn.004187e8
cmp dil, r14b
je 0x41e877
mov r8d, r15d
lea rdx, [0x00451e0c]
mov rcx, rsi
call fcn.004187e8
mov r8d, r15d
lea rdx, str.Effec
mov rcx, rsi
call fcn.004187e8
cmp r13b, r14b
je 0x41e89c
cmp ebx, r14d
jne 0x41e890
mov rax, qword [rsi]
lea rdx, [0x004518f0]
mov rcx, rsi
call qword [rax]
add ebx, r12d
cmp ebx, 2
jl 0x41e7fd
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, dword [rsp + 0x218]
mov dl, 0x20
mov rcx, rsi
call fcn.00418080
xor ebp, ebp
mov ebx, ebp
mov r14, qword [rsp + 0xd8]
mov r8d, 0xa
lea rdx, str.KiB_s
mov rcx, rsi
call fcn.004187e8
mov r8d, r15d
lea rdx, [0x00451df8]
mov rcx, rsi
call fcn.004187e8
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.004187e8
mov r8d, 7
lea rdx, str.MIPS
mov rcx, rsi
call fcn.004187e8
cmp dil, bpl
je 0x41e93d
mov r8d, r15d
lea rdx, [0x00451df8]
mov rcx, rsi
call fcn.004187e8
mov r8d, r15d
lea rdx, [0x00451df8]
mov rcx, rsi
call fcn.004187e8
cmp r13b, bpl
je 0x41e961
cmp ebx, ebp
jne 0x41e955
mov rax, qword [rsi]
lea rdx, [0x004518f0]
mov rcx, rsi
call qword [rax]
add ebx, r12d
cmp ebx, 2
jl 0x41e8c3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
xor edi, edi
mov r15, rdi
mov rbx, qword [rsp + 0xa8]
cmp rbx, rdi
cmovne r15, rbx
mov qword [rsp + 0xf8], r15
cmp byte [rsp + 0x70], dil
mov rbp, qword [rsp + 0x130]
je 0x41ec50
mov r13d, edi
cmp dword [rsp + 0x480], edi
jbe 0x41f06f
cmp r13d, edi
je 0x41e9c1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov r8d, 0xc
lea rdx, [0x00451df4]
mov rcx, rsi
call fcn.004187a4
cmp edi, 2
je 0x41e9e8
xor r15d, r15d
cmp rbx, r15
jne 0x41e9eb
mov r9b, r15b
jmp 0x41e9ee
xor r15d, r15d
mov r9b, r12b
lea rax, [rsp + 0x248]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r8, rsi
mov edx, dword [rsp + 0x78]
mov rcx, r14
call fcn.0041aa68
mov ebx, eax
cmp eax, r15d
jne 0x41f1fb
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r15, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xa8]
xor edx, edx
cmp rbx, rdx
cmovne r15, rbx
mov qword [rsp + 0xf8], r15
cmp edi, 2
jne 0x41eac8
cmp rbx, rdx
setne cl
mov rax, r15
movabs r8, 0x400000000
mov r14, r8
mov qword [rsp + 0xd8], r8
mov r8d, 0x3d0900
cmp r15, r8
jae 0x41ea8a
cmp cl, dl
cmove rax, r8
movabs r8, 0x4a817c800
cmp rax, r8
jb 0x41ea9d
cmp cl, dl
je 0x41eac8
mov ecx, dword [rsp + 0x104]
cmp ecx, edx
je 0x41eab9
mov r14, rcx
imul r14, rax
mov qword [rsp + 0xd8], r14
jmp 0x41eac8
mov r14, rax
shr r14, 2
mov qword [rsp + 0xd8], r14
add edi, r12d
cmp edi, 3
jb 0x41e9c1
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov byte [rsp + 0x21c], r12b
mov qword [rsp + 0x220], r15
xor ecx, ecx
cmp byte [rsp + 0x73], cl
jne 0x41eb5e
cmp byte [rsp + 0x71], cl
jne 0x41eb0a
cmp rbp, rcx
jne 0x41eb0a
mov r9b, cl
jmp 0x41eb0d
mov r9b, r12b
mov eax, dword [rsp + 0x7c]
cmp rbp, rcx
cmovne rax, qword [rsp + 0x128]
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 edi, dword [rsp + 0x78]
mov r8d, edi
mov rdx, r14
mov rcx, qword [rsp + 0x460]
call fcn.0041cebc
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x41f217
jmp 0x41eb62
mov edi, dword [rsp + 0x78]
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x38], r12b
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, edi
mov rdx, r14
mov rcx, qword [rsp + 0x460]
call fcn.0041b9a0
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x41f233
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov r8d, 0xc
lea rdx, [0x00451df4]
mov rcx, rsi
call fcn.004187a4
mov qword [rsp + 0x98], r15
mov rax, qword [rsp + 0xa8]
xor ecx, ecx
cmp rax, rcx
setne r9b
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r8, rsi
mov edx, edi
mov rcx, r14
call fcn.0041aa68
mov ebx, eax
xor edi, edi
cmp eax, edi
jne 0x41f24f
mov rcx, qword [rsp + 0x208]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
add r13d, r12d
cmp r13d, dword [rsp + 0x480]
mov rbx, qword [rsp + 0xa8]
jb 0x41e9b3
jmp 0x41f06f
mov r14b, r12b
lea rdx, str.LZMA
mov rcx, qword [rsp + 0xe0]
call fcn.004028b8
cmp al, dil
jne 0x41edca
mov r13d, edi
lea rdi, [0x004512a0]
mov rdx, qword [rdi + 0x18]
lea rcx, [rsp + 0x88]
call fcn.00402c7c
nop
lea rcx, [rsp + 0x168]
call fcn.00402c44
nop
mov dl, 0x3a
mov rcx, qword [rsp + 0x88]
call fcn.00402754
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x41eceb
lea edx, [rbx + 1]
add rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x168]
call fcn.00402cf4
cmp ebx, dword [rsp + 0x90]
jae 0x41ecef
mov dword [rsp + 0x90], ebx
mov rcx, rbx
mov rax, qword [rsp + 0x88]
xor ebx, ebx
mov byte [rcx + rax], bl
jmp 0x41ecf1
xor ebx, ebx
jmp 0x41ecf1
xor ebx, ebx
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x88]
call fcn.004028b8
cmp al, bl
je 0x41ed4d
cmp dword [rsp + 0x170], ebx
je 0x41ed7d
lea rdx, [0x00451df0]
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_strcmp
cmp eax, ebx
jne 0x41ed34
cmp dword [rsp + 0x160], ebx
je 0x41ed7d
mov rdx, qword [rsp + 0x168]
lea rcx, [rsp + 0x158]
call fcn.00402854
cmp al, bl
jne 0x41ed7d
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
add r13d, r12d
add rdi, 0x20
cmp r13d, 0x11
jb 0x41ec7a
xor edi, edi
jmp 0x41edbb
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
xor edi, edi
mov r14b, dil
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
cmp r13d, 0x11
je 0x41f268
cmp r14b, dil
je 0x41edf3
mov dword [rsp + 0x1bc], 0x4b0
mov dword [rsp + 0x1c4], 4
mov dword [rsp + 0x1c0], 0xbe
mov byte [rsp + 0x1b8], r12b
mov r14d, edi
cmp dword [rsp + 0x480], edi
jbe 0x41f06f
mov edx, dword [rsp + 0x7c]
cmp edx, 0x400000
sbb r13d, r13d
and r13d, 0xfffffffc
lea ebx, [r13 + 0x16]
mov eax, 0x1f
cmp byte [rsp + 0x488], dil
cmove ebx, eax
mov ecx, ebx
mov eax, r12d
shl eax, cl
cmp eax, edx
jbe 0x41ee51
mov ebp, 0xffffffff
cmp ebx, edi
jbe 0x41ee49
add ebx, ebp
mov ecx, ebx
mov eax, r12d
shl eax, cl
cmp eax, edx
ja 0x41ee38
mov rbp, qword [rsp + 0x130]
mov ecx, ebx
mov edi, r12d
shl edi, cl
cmp edi, edx
ja 0x41f05c
lea rdx, [rsp + 0xc8]
mov ecx, ebx
call fcn.0040197c
xor eax, eax
mov r11, rax
cmp byte [rsp + 0xc8], al
je 0x41ee8a
add r11, r12
cmp byte [rsp + r11 + 0xc8], al
jne 0x41ee7d
mov byte [rsp + r11 + 0xc8], 0x3a
mov byte [rsp + r11 + 0xc9], al
mov r8d, 4
lea rdx, [rsp + 0xc8]
mov rcx, rsi
call fcn.004187a4
mov dword [rsp + 0x210], edi
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x278]
call fcn.0041a848
nop
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x288]
call fcn.00402cc0
nop
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x298]
call fcn.00403390
nop
lea rdx, str.LZMA
mov rcx, qword [rsp + 0x288]
call fcn.004028b8
xor ecx, ecx
cmp al, cl
je 0x41ef82
mov word [rsp + 0x260], 0x13
mov word [rsp + 0x262], cx
mov dword [rsp + 0x268], ebx
lea rdx, [0x00450078]
lea rcx, [rsp + 0x2d0]
call fcn.00403338
nop
lea r8, [rsp + 0x260]
mov rdx, rax
lea rcx, [rsp + 0x278]
call fcn.0040e5dc
mov edi, eax
mov rcx, qword [rsp + 0x2d0]
call sub.msvcrt.dll_free
xor eax, eax
cmp edi, eax
jne 0x41f286
lea rcx, [rsp + 0x260]
call fcn.0040ae18
xor ecx, ecx
cmp rbp, rcx
je 0x41ef91
mov rax, qword [rsp + 0x128]
jmp 0x41efa6
mov eax, dword [rsp + 0x210]
cmp rax, 0x40000
jb 0x41efa6
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 + 0x78]
mov r8b, r12b
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x460]
call fcn.0041bfd4
mov edi, eax
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + VariantCopy]
xor eax, eax
cmp edi, eax
jne 0x41f2bd
xor edi, edi
cmp byte [rsp + 0x488], dil
je 0x41f049
lea rcx, [rsp + 0x278]
call fcn.0041b6e8
add ebx, r12d
mov ecx, ebx
mov edi, r12d
shl edi, cl
mov edx, dword [rsp + 0x7c]
cmp edi, edx
jbe 0x41ee60
xor edi, edi
jmp 0x41f05e
lea rcx, [rsp + 0x278]
call fcn.0041b6e8
mov edx, dword [rsp + 0x7c]
jmp 0x41f05e
xor edi, edi
add r14d, r12d
cmp r14d, dword [rsp + 0x480]
jb 0x41ee14
mov eax, dword [rsp + 0x218]
mov edi, dword [rsp + 0x180]
lea r8d, [rdi + rax]
mov dl, 0x2d
mov rcx, rsi
call fcn.00418080
mov bl, byte [rsp + 0x75]
xor r13d, r13d
cmp bl, r13b
je 0x41f0b3
mov rax, qword [rsi]
lea rdx, [0x004518f0]
mov rcx, rsi
call qword [rax]
mov r8d, edi
mov dl, 0x2d
mov rcx, rsi
call fcn.00418080
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
cmp bl, r13b
je 0x41f125
mov r8d, dword [rsp + 0x218]
lea rdx, str.Avr:
mov rcx, rsi
call fcn.004187a4
lea r9, [rsp + 0x1c8]
mov r8, r15
mov ebx, dword [rsp + 0xb0]
mov dl, bl
mov rcx, rsi
call fcn.004182bc
mov r11, qword [rsi]
lea rdx, [0x004518f0]
mov rcx, rsi
call qword [r11]
lea r9, [rsp + 0x1e8]
mov r8, r15
mov dl, bl
mov rcx, rsi
call fcn.004182bc
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
jmp 0x41f12c
mov ebx, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0x218]
lea rdx, str.Tot:
mov rcx, rsi
call fcn.004187a4
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, r15
mov dl, bl
mov rcx, rsi
call fcn.004182bc
mov r11, qword [rsi]
mov rcx, rsi
call qword [r11 + VariantCopy]
mov eax, dword [rsp + 0xf0]
add eax, r12d
mov dword [rsp + 0xf0], eax
cmp eax, 3
mov r13d, dword [rsp + 0x7c]
mov r15b, byte [rsp + 0x70]
mov bl, byte [rsp + 0x71]
jb 0x41e547
jmp 0x41f2f5
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
jmp 0x41f2e4
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, 0x80004001
jmp 0x41f2e4
lea rcx, [rsp + 0x260]
call fcn.0040ae18
nop
lea rcx, [rsp + 0x278]
call fcn.0041b6e8
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, edi
jmp 0x41f2e4
lea rcx, [rsp + 0x278]
call fcn.0041b6e8
nop
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
mov ebx, edi
lea rcx, [rsp + 0x138]
call fcn.0041b6e8
mov eax, ebx
jmp 0x41f338
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
mov rcx, rbp
call fcn.0044cc20
nop
lea rcx, [rsp + 0x138]
call fcn.0041b6e8
xor eax, eax
jmp 0x41f338
mov rcx, rbp
call fcn.0044cc20
nop
lea rcx, [rsp + 0x138]
call fcn.0041b6e8
mov eax, 0x80070057
add rsp, 0x418
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret