Function at 0x43a7ee
Capabilities:
Get system information on windows

Disassembly:
push 0x208
mov eax, 0x467e38
call fcn.0046395e
mov edi, ecx
mov dword [ebp - 0x158], edi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x114], ebx
call fcn.0043959c
test al, al
jne 0x43a81f
xor eax, eax
inc eax
jmp 0x43bf57
xor eax, eax
mov dword [ebp - 0x16c], VariantCopy
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea ecx, [ebp - 0x16c]
call fcn.0041463e
mov ecx, dword [ebp - 0x200]
mov byte [ebp - 0x118], al
xor eax, eax
mov dword [ebp - 0x138], ecx
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x11c], 4
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0xe9], al
call fcn.004186b1
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
xor ecx, ecx
inc ecx
mov byte [ebp - 4], cl
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp dword [ebx + 4], ecx
jbe 0x43ac36
mov eax, dword [ebx]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x110]
push esi
call fcn.0040fd08
lea ecx, [ebp - 0x110]
call fcn.00419d02
mov ebx, dword [ebp - 0x110]
mov edx, str.file
mov ecx, ebx
call fcn.0040f66d
test al, al
je 0x43a9d5
xor eax, eax
cmp dword [esi + 0x10], eax
je 0x43aca0
or dword [ebp - 0xdc], 0xffffffff
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xdc]
push dword [esi + 0xc]
call fcn.004132ba
test al, al
je 0x43ac8e
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004131fd
test al, al
je 0x43ac87
xor eax, eax
cmp dword [ebp - 0x100], eax
ja 0x43ac8e
mov esi, dword [ebp - 0x104]
jb 0x43a94a
cmp esi, 0x80000000
jae 0x43ac8e
mov eax, esi
or eax, dword [ebp - 0x100]
je 0x43ac8e
push esi
lea ecx, [ebp - 0x154]
call fcn.00437147
test al, al
je 0x43ac80
lea eax, [ebp - 0x134]
push eax
push esi
push dword [ebp - 0x150]
lea ecx, [ebp - 0xdc]
call fcn.0041330e
cmp dword [ebp - 0x134], esi
jne 0x43ac87
xor eax, eax
cmp eax, dword [ebp - 0x100]
jne 0x43ac87
test edi, edi
je 0x43a9c5
mov eax, dword [edi]
mov ecx, edi
push str.file_size_
call dword [eax]
push dword [ebp - 0x100]
xor edx, edx
mov ecx, edi
push esi
call fcn.00439663
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0xdc]
call fcn.004131de
jmp 0x43ac0d
xor eax, eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 4
cmp dword [esi + 0x10], eax
je 0x43a9fa
lea ecx, [esi + 0xc]
lea edx, [ebp - 0x12c]
call fcn.0043a633
mov edx, str.time
mov ecx, ebx
call fcn.0040f66d
test al, al
je 0x43aa45
push 0x472724
lea ecx, [ebp - 0x14c]
call fcn.0040fccb
lea eax, [ebp - 0x11c]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x14c]
call fcn.0042b6d8
push dword [ebp - 0x14c]
mov esi, eax
call fcn.00455704
pop ecx
jmp 0x43abf0
mov edx, 0x472728
mov ecx, ebx
call fcn.0040f66d
test al, al
je 0x43aafc
xor eax, eax
lea ecx, [ebp - 0x1a0]
push 0x472724
mov dword [ebp - 0xd8], eax
call fcn.0040fccb
lea eax, [ebp - 0xd8]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x1a0]
call fcn.0042b6d8
push dword [ebp - 0x1a0]
mov esi, eax
call fcn.00455704
pop ecx
test esi, esi
jne 0x43acd3
cmp dword [ebp - 0xd8], esi
je 0x43acb7
xor eax, eax
push eax
push 0xf4240
push eax
push dword [ebp - 0xd8]
call fcn.00463480
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
test edi, edi
je 0x43abf8
mov esi, dword [edi]
mov ecx, edi
push str.freq
call dword [esi]
xor eax, eax
xor edx, edx
push eax
push dword [ebp - 0xd8]
mov ecx, edi
call fcn.00439663
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x43abf8
push 0x471348
lea ecx, [ebp - 0x110]
call fcn.0040f627
test al, al
je 0x43abd5
lea eax, [ebx + 4]
push eax
lea ecx, [ebp - 0x17c]
call fcn.0040fccb
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x17c]
push 0x470858
push esi
call fcn.00457bfc
pop ecx
pop ecx
test eax, eax
jne 0x43ab57
xor eax, eax
mov byte [ebp - 4], 4
inc eax
mov byte [ebp - 0xe9], al
push esi
call fcn.00455704
pop ecx
jmp 0x43abf8
cmp dword [ebp - 0x178], 0
jne 0x43ab82
push 8
pop eax
cmp word [ebp - 0x12c], ax
jne 0x43ab82
push 0x470858
push dword [ebp - 0x124]
call fcn.00457bfc
pop ecx
pop ecx
test eax, eax
je 0x43ab3e
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x200]
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x17c]
call fcn.0042b72e
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 4
push esi
test eax, eax
je 0x43ab4c
call fcn.00455704
cmp word [ebp - 0x12c], 0
pop ecx
je 0x43abca
lea ecx, [ebp - 0x12c]
call fcn.00414337
mov esi, dword [ebp - 0xd8]
jmp 0x43ace8
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.0042c098
mov esi, eax
test esi, esi
jne 0x43acd3
cmp word [ebp - 0x12c], 0
je 0x43ac0d
lea ecx, [ebp - 0x12c]
call fcn.00414337
xor eax, eax
inc eax
push ebx
mov byte [ebp - 4], al
call fcn.00455704
mov ebx, dword [ebp - 0x114]
pop ecx
mov ecx, dword [ebp - 0xe8]
inc ecx
mov dword [ebp - 0xe8], ecx
cmp ecx, dword [ebx + 4]
jb 0x43a8ac
test edi, edi
je 0x43ad35
lea ecx, [ebp - 0x110]
call fcn.0040f8cf
mov byte [ebp - 4], 6
xor ecx, ecx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x10c], ecx
mov byte [eax], cl
lea ecx, [ebp - 0x54]
call fcn.00403680
test eax, eax
je 0x43acf4
lea edx, [ebp - 0x110]
lea ecx, [ebp - 0x54]
call fcn.0043a703
jmp 0x43ad04
mov esi, 0x8007000e
jmp 0x43ac93
mov esi, 0x80004005
jmp 0x43ac93
mov esi, 0x80070057
lea ecx, [ebp - 0xdc]
call fcn.004131de
jmp 0x43ace8
xor eax, eax
inc eax
push ebx
mov byte [ebp - 4], al
call fcn.00455704
xor eax, eax
pop ecx
mov byte [ebp - 4], al
jmp 0x43bf3c
cmp word [ebp - 0x12c], 0
je 0x43accc
lea ecx, [ebp - 0x12c]
call fcn.00414337
mov esi, 0x80070057
jmp 0x43ace8
cmp word [ebp - 0x12c], 0
je 0x43ace8
lea ecx, [ebp - 0x12c]
call fcn.00414337
xor eax, eax
inc eax
mov byte [ebp - 4], al
push ebx
jmp 0x43bf14
push 0x47270c
lea ecx, [ebp - 0x110]
call fcn.0040f94a
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x110]
call dword [eax]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xor eax, eax
inc eax
mov byte [ebp - 4], al
push dword [ebp - 0x110]
call fcn.00455704
mov eax, dword [edi]
mov ecx, edi
mov dword [esp], str.CPU_Freq:
call dword [eax]
xor ecx, ecx
mov dword [ebp - 0x100], 4
mov dword [ebp - 0x104], ecx
test edi, edi
je 0x43af4d
mov eax, dword [ebp - 0xf8]
mov esi, ecx
or eax, dword [ebp - 0xf4]
push 0x40
pop ebx
mov dword [ebp - 0xdc], ecx
je 0x43adae
mov edi, dword [ebp - 0xf8]
push ecx
push 0xf4240
push esi
push ebx
call fcn.00463480
cmp dword [ebp - 0xf4], edx
ja 0x43ada0
jb 0x43ad89
cmp edi, eax
jae 0x43ada0
shrd ebx, esi, 1
xor ecx, ecx
shr esi, 1
cmp esi, ecx
ja 0x43ad6e
jb 0x43ada2
xor eax, eax
inc eax
cmp ebx, eax
ja 0x43ad6e
jmp 0x43ada2
xor ecx, ecx
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
test eax, eax
jne 0x43af9d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ecx
mov esi, eax
xor eax, eax
push eax
push 0xf4240
push dword [ebp - 0xdc]
push ebx
call fcn.00463480
shrd eax, edx, 7
mov ecx, esi
shr edx, 7
mov edx, eax
call fcn.004392aa
mov dword [ebp - 0x180], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
sub eax, esi
push ecx
pop edx
sbb ecx, edx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0xe4], eax
or eax, ecx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0xf0], ecx
jne 0x43ae2d
inc eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xe4], eax
mov esi, dword [ebp - 0xdc]
push edx
push 0x3e8
push esi
push ebx
call fcn.00463480
push dword [ebp - 0xf0]
push dword [ebp - 0xe4]
push edx
push eax
call fcn.00464d70
mov ecx, eax
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x134]
or eax, dword [ebp - 0x114]
mov dword [ebp - 0x130], ecx
jne 0x43ae82
mov esi, dword [edi]
mov ecx, edi
push 0x472744
call dword [esi]
mov esi, dword [ebp - 0xdc]
jmp 0x43aea2
push dword [ebp - 0xe8]
xor edx, edx
cmp dword [ebp - 0x180], 0xf1541213
push ecx
sete dl
mov ecx, edi
add edx, 5
call fcn.00439663
cmp dword [ebp - 0xd8], 3
jl 0x43af09
lea eax, [ebp - 0x104]
push eax
xor eax, eax
push eax
push 0xf4240
push dword [ebp - 0xe8]
push dword [ebp - 0x130]
call fcn.00463480
mov ecx, dword [ebp - 0x11c]
push edx
push eax
xor dl, dl
call fcn.004370a2
push 8
pop eax
cmp dword [ebp - 0xd8], eax
jge 0x43af14
xor eax, eax
cmp dword [ebp - 0xf0], eax
ja 0x43af14
jb 0x43aefd
cmp dword [ebp - 0xe4], 0x3e8
jae 0x43af14
shld esi, ebx, 1
mov dword [ebp - 0xdc], esi
add ebx, ebx
inc dword [ebp - 0xd8]
jmp 0x43adb4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x200]
mov edx, str.size:
mov ecx, edi
push str.CPU_hardware_threads:
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x118]
call fcn.004399d0
xor ecx, ecx
mov eax, dword [ebp - 0x138]
dec eax
cmp eax, 0xfff
ja 0x43bf39
xor ebx, ebx
mov esi, ecx
inc ebx
mov dword [ebp - 0xf0], esi
push ebx
lea ecx, [ebp - 0x1c4]
call fcn.0042babf
push 0x13
pop edx
test eax, eax
js 0x43afa4
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ecx + eax*4]
cmp word [eax + 8], dx
jne 0x43afa4
mov esi, dword [eax + 0x10]
mov dword [ebp - 0xf0], esi
mov byte [ebp - 0xdd], bl
jmp 0x43afac
mov esi, eax
jmp 0x43bf1a
xor eax, eax
mov byte [ebp - 0xdd], al
cmp dword [ebp - 0x1b4], 0
jne 0x43afc5
push str.LZMA
lea ecx, [ebp - 0x1b8]
call fcn.0040f94a
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x110]
call fcn.0040f922
mov byte [ebp - 4], 7
mov edx, 0x472768
mov ebx, dword [ebp - 0x110]
mov ecx, ebx
call fcn.0040f68a
test al, al
je 0x43b007
push str.crc32
lea ecx, [ebp - 0x110]
call fcn.0040f94a
mov ebx, dword [ebp - 0x110]
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0040f99c
lea edx, [ebp - 0x17c]
lea ecx, [ebp - 0x110]
call fcn.00429611
test al, al
je 0x43b485
test edi, edi
jne 0x43b04c
xor eax, eax
inc eax
push ebx
mov byte [ebp - 4], al
call fcn.00455704
xor eax, eax
lea esi, [eax + 1]
jmp 0x43bf19
cmp byte [ebp - 0xdd], 0
mov eax, 0x1000000
mov ebx, 0x46ff54
mov dword [ebp - 0x118], 0x2710
cmove esi, eax
mov dword [ebp - 0xd8], ebx
xor eax, eax
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xe8], eax
push dword [ebx + 8]
lea ecx, [ebp - 0x16c]
call fcn.0040f8f1
push 8
pop eax
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], al
call fcn.0040f8cf
mov byte [ebp - 4], 9
mov dl, 0x3a
mov esi, dword [ebp - 0x16c]
mov ecx, esi
call fcn.0040f5a1
mov ebx, eax
test ebx, ebx
js 0x43b0e0
lea ecx, [esi + 1]
add ecx, ebx
push ecx
lea ecx, [ebp - 0x17c]
call fcn.0040f94a
cmp ebx, dword [ebp - 0x168]
jae 0x43b0e0
xor eax, eax
mov dword [ebp - 0x168], ebx
mov byte [esi + ebx], al
mov edx, dword [ebp - 0x110]
mov ecx, esi
call fcn.0043a6a4
mov ebx, dword [ebp - 0xd8]
test al, al
je 0x43b11d
mov eax, dword [ebx]
mov edx, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x118], eax
lea eax, [ebx + 4]
mov dword [ebp - 0x114], eax
call fcn.0040f6c3
test al, al
jne 0x43b15d
push 8
pop eax
mov byte [ebp - 4], al
push dword [ebp - 0x17c]
call fcn.00455704
pop ecx
push esi
mov byte [ebp - 4], 7
call fcn.00455704
mov eax, dword [ebp - 0xe8]
add ebx, 0x10
add eax, 0x10
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xe8], eax
pop ecx
cmp eax, 0x70
jb 0x43b084
jmp 0x43b17a
push 8
pop eax
mov byte [ebp - 4], al
push dword [ebp - 0x17c]
call fcn.00455704
pop ecx
push esi
mov byte [ebp - 4], 7
call fcn.00455704
pop ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push str.Size
call dword [eax]
xor eax, eax
mov ebx, eax
mov eax, dword [ebp - 0x138]
mov edx, eax
mov ecx, ebx
call fcn.0043a686
mov esi, eax
mov ecx, edi
xor eax, eax
push eax
push esi
push 6
pop edx
call fcn.00439663
mov eax, dword [ebp - 0x138]
inc ebx
cmp esi, eax
jb 0x43b196
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0xf4], ebx
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xor ecx, ecx
mov eax, ebx
push 8
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004102b5
mov ebx, eax
pop ecx
mov dword [ebp - 0x130], ebx
mov esi, dword [ebp - 0xf4]
xor eax, eax
mov byte [ebp - 4], 0xa
test esi, esi
je 0x43b21f
lea ecx, [esi*8 - 5]
mov dword [ebx], eax
shr ecx, 2
lea edi, [ebx + 8]
mov esi, ebx
mov dword [ebx + 4], eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x158]
mov esi, dword [ebp - 0xf4]
cmp dword [ebp + 0xc], 0
mov edx, eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0xe8], eax
jbe 0x43b44a
push 0xa
pop eax
mov dword [ebp - 0xe4], eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0xd8], ecx
mov ecx, eax
shl dword [ebp - 0xd8], cl
mov ecx, dword [ebp - 0xf0]
cmp dword [ebp - 0xd8], ecx
ja 0x43b3c5
lea edx, [ebp - 0x24]
mov ecx, eax
call fcn.0040ef63
xor ecx, ecx
mov eax, ecx
cmp byte [ebp - 0x24], al
je 0x43b283
inc eax
cmp byte [ebp + eax - 0x24], cl
jne 0x43b27c
mov word [ebp + eax - 0x24], 0x203a
add eax, 2
cmp eax, 0x10
jae 0x43b480
mov byte [ebp + eax - 0x24], cl
lea ecx, [ebp - 0x24]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax]
xor eax, eax
mov dword [ebp - 0xf8], eax
test esi, esi
je 0x43b384
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov esi, eax
test esi, esi
jne 0x43b470
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0xf8]
call fcn.0043a686
mov ecx, eax
mov edx, dword [ebp - 0xd8]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x1c4]
push eax
xor eax, eax
cmp dword [ebp - 0xe4], 0x11
cmove eax, dword [ebp - 0x114]
push eax
xor eax, eax
inc eax
push eax
push dword [ebp - 0x118]
lea eax, [ebp - 0x16c]
push eax
push dword [ebp - 0x100]
push dword [ebp - 0x104]
call fcn.0043a024
mov esi, eax
test esi, esi
jne 0x43b470
mov esi, dword [ebp - 0x16c]
mov ecx, esi
mov edi, dword [ebp - 0x168]
mov eax, edi
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
mov ecx, dword [ebp - 0x158]
push 6
pop edx
call fcn.00439663
mov eax, dword [ebp - 0xf8]
add dword [ebx + eax*8], esi
mov esi, dword [ebp - 0xf4]
adc dword [ebx + eax*8 + 4], edi
inc eax
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0xf8], eax
cmp eax, esi
jb 0x43b2b4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0xdc]
xor eax, eax
mov edx, dword [ebp - 0x11c]
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0xe4], eax
cmp eax, 0x20
jb 0x43b246
jmp 0x43b3cb
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp eax, dword [ebp + 0xc]
jb 0x43b23d
mov eax, ecx
or eax, edx
je 0x43b44a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push str.Avg:
call dword [eax]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x118], eax
test esi, esi
je 0x43b443
push dword [ebp - 0x11c]
push dword [ebp - 0xdc]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
call fcn.00464d70
shrd eax, edx, 0x14
mov ecx, edi
shr edx, 0x14
push edx
push eax
push 6
pop edx
call fcn.00439663
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp eax, esi
jb 0x43b407
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push ebx
mov byte [ebp - 4], 7
call fcn.00455704
xor eax, eax
inc eax
pop ecx
mov byte [ebp - 4], al
push dword [ebp - 0x110]
call fcn.00455704
xor eax, eax
pop ecx
mov esi, eax
jmp 0x43bf1c
push ebx
mov byte [ebp - 4], 7
call fcn.00455704
pop ecx
jmp 0x43bf08
call fcn.00455f4c
mov ecx, dword [ebp - 0x1b8]
mov edx, 0x472784
call fcn.0040f68a
mov ecx, dword [ebp - 0x1b8]
xor ebx, ebx
mov edx, str.hash
mov byte [ebp - 0xdc], al
mov byte [ebp - 0xf9], bl
call fcn.0040f68a
xor edx, edx
inc edx
test al, al
je 0x43b4c6
mov byte [ebp - 0xf9], dl
mov byte [ebp - 0xdc], dl
mov ecx, ebx
mov dword [ebp - 0x134], ebx
cmp byte [ebp - 0xe9], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0xe4], eax
jne 0x43b519
test ecx, ecx
je 0x43b54c
xor eax, eax
inc eax
mov byte [ebp - 4], al
push dword [ebp - 0x110]
call fcn.00455704
pop ecx
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x150]
call fcn.004029bf
lea ecx, [ebp - 0x1c4]
call fcn.004186eb
xor eax, eax
jmp 0x43bf57
mov dword [ebp - 0xe4], edx
test ecx, ecx
je 0x43b54c
mov eax, dword [ebp - 0x200]
cmp eax, 2
jb 0x43b4e7
mov dword [ebp - 0xe4], eax
cmp ecx, edx
jne 0x43b547
cmp eax, 4
jb 0x43b54c
shr eax, 1
mov dword [ebp - 0xe4], eax
jmp 0x43b54c
cmp eax, 4
jb 0x43b4e7
mov dword [ebp - 0xd4], 0x47284c
mov byte [ebp - 0xd0], bl
mov byte [ebp - 0x74], bl
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x6c], bl
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], edi
test ecx, ecx
je 0x43b5e6
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xor edx, edx
inc edx
cmp byte [ebp - 0xdd], 0
jne 0x43b698
xor ebx, ebx
cmp byte [ebp - 0xdc], bl
sete bl
add ebx, 0x18
cmp byte [ebp - 0x118], 0
mov dword [ebp - 0x130], ebx
mov esi, ebx
je 0x43b65e
cmp ebx, 0x12
jbe 0x43b65e
mov edi, dword [ebp - 0xe4]
xor ebx, ebx
push dword [ebp - 0xdc]
mov ecx, esi
shl edx, cl
mov ecx, edi
call fcn.00439134
add eax, 0x800000
adc edx, ebx
cmp edx, dword [ebp - 0x168]
jb 0x43b652
ja 0x43b649
cmp eax, dword [ebp - 0x16c]
jbe 0x43b652
dec esi
push 1
pop edx
cmp esi, 0x12
ja 0x43b61f
mov edi, dword [ebp - 0x158]
mov ebx, dword [ebp - 0x130]
xor eax, eax
mov ecx, esi
inc eax
shl eax, cl
cmp byte [ebp - 0xdc], 0
mov dword [ebp - 0xf0], eax
je 0x43b698
cmp esi, ebx
je 0x43b698
mov eax, dword [edi]
mov ecx, edi
push str.Dictionary_reduced_to:
call dword [eax]
xor eax, eax
mov ecx, edi
push eax
push esi
lea edx, [eax + 1]
call fcn.00439663
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [ebp - 0xe4]
mov ecx, eax
mov edx, dword [ebp - 0xf0]
push eax
push str.Benchmark_threads:
push dword [ebp - 0xdc]
call fcn.00439134
push edx
push eax
xor eax, eax
mov edx, str.usage:
inc eax
mov ecx, edi
push eax
call fcn.004399d0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov bh, byte [ebp - 0xdc]
test bh, bh
je 0x43b6e2
xor edx, edx
push 0xc
mov bl, dl
jmp 0x43b6eb
xor ecx, ecx
inc ecx
xor edx, edx
push 4
mov bl, cl
pop eax
mov ecx, edx
mov dword [ebp - 0x148], edx
push 1
mov dword [ebp - 0x14c], ecx
test bh, bh
movzx ecx, dl
pop edx
push 0x1e
cmovne ecx, edx
mov byte [ebp - 0xea], bl
pop esi
push 0x2a
test cl, cl
mov dword [ebp - 0x70], eax
pop edx
cmovne esi, edx
mov byte [ebp - 0x74], bl
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x180], esi
test bl, bl
je 0x43b75b
push eax
mov dl, 0x20
mov ecx, edi
call fcn.0043971b
push esi
mov edx, str.Compressing
mov ecx, edi
call fcn.00439c0e
mov eax, dword [edi]
mov ecx, edi
push 0x472704
call dword [eax]
push esi
mov edx, str.Decompressing
mov ecx, edi
call fcn.00439c0e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x70]
mov eax, str.Dict
test bh, bh
mov edx, str.Method
mov ecx, edi
cmove edx, eax
call fcn.00439bd7
xor eax, eax
mov esi, eax
push 0xa
mov edx, str.Speed
mov ecx, edi
call fcn.00439c0e
push 6
mov edx, str.Usage
mov ecx, edi
call fcn.00439c0e
push 7
mov edx, 0x472804
mov ecx, edi
call fcn.00439c0e
push 7
mov edx, str.Rating
mov ecx, edi
call fcn.00439c0e
cmp byte [ebp - 0xd8], 0
je 0x43b7dc
push 6
mov edx, 0x472810
mov ecx, edi
call fcn.00439c0e
push 6
mov edx, str.Effec
mov ecx, edi
call fcn.00439c0e
test bl, bl
je 0x43b7f5
test esi, esi
jne 0x43b7ef
mov eax, dword [edi]
mov ecx, edi
push 0x472704
call dword [eax]
inc esi
cmp esi, 2
jl 0x43b77f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push dword [ebp - 0x70]
mov dl, 0x20
mov ecx, edi
call fcn.0043971b
xor eax, eax
mov esi, eax
push 0xa
mov edx, str.KiB_s
mov ecx, edi
call fcn.00439c0e
push 6
mov edx, 0x472824
mov ecx, edi
call fcn.00439c0e
push 7
mov edx, str.MIPS
mov ecx, edi
call fcn.00439c0e
push 7
mov edx, str.MIPS
mov ecx, edi
call fcn.00439c0e
cmp byte [ebp - 0xd8], 0
je 0x43b869
push 6
mov edx, 0x472824
mov ecx, edi
call fcn.00439c0e
push 6
mov edx, 0x472824
mov ecx, edi
call fcn.00439c0e
test bl, bl
je 0x43b882
test esi, esi
jne 0x43b87c
mov eax, dword [edi]
mov ecx, edi
push 0x472704
call dword [eax]
inc esi
cmp esi, 2
jl 0x43b80c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov esi, dword [ebp - 0xf8]
mov eax, esi
mov edx, dword [ebp - 0xf4]
or eax, edx
je 0x43b8b0
mov ecx, esi
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x14c], ecx
test bh, bh
je 0x43baf1
xor ebx, ebx
mov eax, ebx
mov dword [ebp - 0x114], ebx
cmp dword [ebp + 0xc], eax
jbe 0x43bd86
jmp 0x43b8cf
xor ebx, ebx
test eax, eax
je 0x43b8e2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x43b8e2
mov esi, dword [ebp - 0xf8]
push 0xc
mov edx, 0x472830
mov ecx, edi
call fcn.00439bd7
mov ecx, dword [ebp - 0xf4]
cmp ebx, 2
je 0x43b901
mov eax, esi
or eax, ecx
je 0x43b904
xor eax, eax
inc eax
lea edx, [ebp - 0x1c8]
push edx
lea edx, [ebp - 0x14c]
push edx
push ecx
mov ecx, dword [ebp - 0xe4]
mov edx, edi
push esi
push eax
push dword [ebp - 0x100]
push dword [ebp - 0x104]
call fcn.00439d95
mov esi, eax
test esi, esi
jne 0x43bf08
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xf8]
mov eax, edx
mov esi, dword [ebp - 0xf4]
or eax, esi
je 0x43b962
mov ecx, edx
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x14c], ecx
jmp 0x43b96e
mov ecx, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x148]
cmp ebx, 2
jne 0x43b99c
mov eax, edx
or eax, dword [ebp - 0xf4]
je 0x43b984
xor eax, eax
lea edx, [eax + 1]
jmp 0x43b988
xor eax, eax
mov dl, al
lea eax, [ebp - 0x104]
push eax
push esi
push ecx
mov ecx, dword [ebp - 0x11c]
call fcn.004370a2
inc ebx
cmp ebx, 3
jb 0x43b8dc
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x14c]
xor eax, eax
inc eax
mov dword [ebp - 0x64], ebx
cmp byte [ebp - 0xf9], 0
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x60], esi
jne 0x43ba20
cmp byte [ebp - 0xdd], 0
mov ecx, dword [ebp - 0x150]
jne 0x43b9de
test ecx, ecx
jne 0x43b9de
xor eax, eax
mov dl, al
test ecx, ecx
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf0]
cmovne eax, dword [ebp - 0x154]
push edi
push ecx
mov ecx, dword [ebp - 0xe4]
push eax
push dword [ebp - 0x100]
push dword [ebp - 0x104]
call fcn.00439c44
mov esi, eax
test esi, esi
jne 0x43bf08
mov esi, dword [ebp - 0x148]
push esi
push ebx
push ecx
mov ecx, dword [ebp - 0xe4]
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xd4]
push eax
push edi
push dword [ebp - 0x100]
push dword [ebp - 0x104]
call fcn.0043a525
mov esi, eax
test esi, esi
jne 0x43bf08
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
call dword [eax + 4]
push 0xc
mov edx, 0x472830
mov ecx, edi
call fcn.00439bd7
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x178], eax
mov eax, ecx
or eax, edx
mov dword [ebp - 0x17c], ebx
je 0x43ba92
xor eax, eax
inc eax
jmp 0x43ba94
xor eax, eax
lea esi, [ebp - 0x1cc]
push esi
lea esi, [ebp - 0x17c]
push esi
push edx
push ecx
mov ecx, dword [ebp - 0xe4]
mov edx, edi
push eax
push dword [ebp - 0x100]
push dword [ebp - 0x104]
call fcn.00439d95
mov esi, eax
test esi, esi
jne 0x43bf08
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x114]
mov esi, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0x114], eax
cmp eax, dword [ebp + 0xc]
jb 0x43b8cd
jmp 0x43bd8c
mov ecx, dword [ebp - 0x110]
mov edx, str.LZMA
call fcn.0040f68a
test al, al
jne 0x43bb46
xor eax, eax
mov esi, 0x46ffd4
mov ebx, eax
push dword [esi]
lea ecx, [ebp - 0x1a0]
call fcn.0040f8f1
mov edx, dword [ebp - 0x110]
mov ecx, dword [esi]
call fcn.0043a6a4
push dword [ebp - 0x1a0]
test al, al
jne 0x43bb9c
call fcn.00455704
add ebx, 0x18
add esi, 0x18
pop ecx
cmp ebx, 0x198
jb 0x43bb0e
xor ecx, ecx
mov dword [ebp - 0xcc], 0x4b0
inc ecx
mov dword [ebp - 0xc4], 4
mov dword [ebp - 0xc8], 0xbe
mov byte [ebp - 0xd0], cl
xor eax, eax
mov edx, eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp + 0xc], eax
jbe 0x43bd86
mov esi, dword [ebp - 0xf0]
cmp esi, 0x400000
sbb eax, eax
and eax, 0xfffffffc
add eax, 0x16
mov dword [ebp - 0x130], eax
jmp 0x43bbcb
mov eax, dword [esi - 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi - 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi - 4]
mov dword [ebp - 0xc4], eax
call fcn.00455704
pop ecx
xor ecx, ecx
inc ecx
jmp 0x43bb6d
mov esi, dword [ebp - 0xf0]
xor ecx, ecx
inc ecx
mov ebx, eax
mov eax, ecx
mov ecx, ebx
shl eax, cl
cmp eax, esi
jbe 0x43bbef
xor edx, edx
test ebx, ebx
je 0x43bbe9
dec ebx
lea eax, [edx + 1]
mov ecx, ebx
shl eax, cl
cmp eax, esi
ja 0x43bbd9
mov edx, dword [ebp - 0xe8]
xor eax, eax
mov ecx, ebx
lea esi, [eax + 1]
shl esi, cl
cmp esi, dword [ebp - 0xf0]
ja 0x43bd70
lea edx, [ebp - 0x34]
mov ecx, ebx
call fcn.0040ef63
xor ecx, ecx
mov eax, ecx
cmp byte [ebp - 0x34], al
je 0x43bc1e
inc eax
cmp byte [ebp + eax - 0x34], cl
jne 0x43bc17
mov byte [ebp + eax - 0x34], 0x3a
inc eax
cmp eax, 0x10
jae 0x43b480
mov byte [ebp + eax - 0x34], cl
lea edx, [ebp - 0x34]
push 4
mov ecx, edi
call fcn.00439bd7
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x78], esi
push eax
lea ecx, [ebp - 0x1f0]
call fcn.0041be22
mov byte [ebp - 4], 0xb
mov edx, str.LZMA
mov ecx, dword [ebp - 0x1e4]
call fcn.0040f68a
test al, al
je 0x43bcdd
push 0x13
pop eax
mov word [ebp - 0x194], ax
xor eax, eax
mov word [ebp - 0x192], ax
mov dword [ebp - 0x18c], ebx
push 0x472834
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0040fccb
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1f0]
call fcn.0042c098
mov byte [ebp - 4], 0xc
mov esi, eax
push dword [ebp - 0x20]
call fcn.00455704
pop ecx
test esi, esi
jne 0x43bee8
mov byte [ebp - 4], 0xb
cmp word [ebp - 0x194], si
je 0x43bcdd
lea ecx, [ebp - 0x194]
call fcn.00414337
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x43bcef
mov eax, dword [ebp - 0x154]
jmp 0x43bcfe
mov eax, dword [ebp - 0x78]
cmp eax, 0x40000
jb 0x43bcfe
add eax, 0x10000
lea edx, [ebp - 0xd0]
push edx
lea edx, [ebp - 0xd4]
push edx
mov edx, dword [ebp - 0xe4]
push edi
push 0x1e
push ecx
push eax
lea eax, [ebp - 0x1f0]
push eax
push dword [ebp - 0x100]
xor eax, eax
push dword [ebp - 0x104]
lea ecx, [eax + 1]
call fcn.0043890d
mov edx, dword [edi]
mov ecx, edi
mov esi, eax
call dword [edx + 4]
lea ecx, [ebp - 0x1f0]
test esi, esi
jne 0x43bf03
mov byte [ebp - 4], 7
call fcn.004186eb
xor eax, eax
inc ebx
mov ecx, ebx
lea esi, [eax + 1]
shl esi, cl
cmp esi, dword [ebp - 0xf0]
jbe 0x43bc04
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x130]
inc edx
mov dword [ebp - 0xe8], edx
cmp edx, dword [ebp + 0xc]
jb 0x43bbc2
mov ebx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x70]
mov dl, 0x2d
mov esi, dword [ebp - 0x180]
mov ecx, edi
add eax, esi
push eax
call fcn.0043971b
cmp byte [ebp - 0xea], 0
je 0x43bdbf
mov eax, dword [edi]
mov ecx, edi
push 0x472704
call dword [eax]
push esi
mov dl, 0x2d
mov ecx, edi
call fcn.0043971b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0xea], 0
je 0x43be24
push dword [ebp - 0x70]
mov edx, str.Avr:
mov ecx, edi
call fcn.00439bd7
mov esi, dword [ebp - 0x148]
lea eax, [ebp - 0xbc]
mov dl, byte [ebp - 0xd8]
mov ecx, edi
push eax
push esi
push ebx
call fcn.0043995d
mov eax, dword [edi]
mov ecx, edi
push 0x472704
call dword [eax]
mov dl, byte [ebp - 0xd8]
lea eax, [ebp - 0x9c]
push eax
push esi
push ebx
mov ecx, edi
call fcn.0043995d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x43be2a
mov esi, dword [ebp - 0x148]
push dword [ebp - 0x70]
mov edx, str.Tot:
mov ecx, edi
call fcn.00439bd7
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x90]
adc eax, dword [ebp - 0xb0]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0xac]
mov dl, byte [ebp - 0xd8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x88]
adc eax, dword [ebp - 0xa8]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x80]
adc eax, dword [ebp - 0xa0]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x98]
adc eax, dword [ebp - 0xb8]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x54]
push eax
push esi
mov dword [ebp - 0x54], ecx
mov ecx, edi
push ebx
call fcn.0043995d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x134]
xor ebx, ebx
inc ecx
mov dword [ebp - 0x134], ecx
cmp ecx, 3
jae 0x43b4e7
xor edx, edx
inc edx
jmp 0x43b4ce
cmp word [ebp - 0x194], 0
je 0x43befd
lea ecx, [ebp - 0x194]
call fcn.00414337
lea ecx, [ebp - 0x1f0]
call fcn.004186eb
xor eax, eax
inc eax
mov byte [ebp - 4], al
push dword [ebp - 0x110]
call fcn.00455704
pop ecx
xor eax, eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x150]
call fcn.004029bf
lea ecx, [ebp - 0x1c4]
call fcn.004186eb
mov eax, esi
jmp 0x43bf57
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0x150]
call fcn.004029bf
lea ecx, [ebp - 0x1c4]
call fcn.004186eb
mov eax, 0x80070057
call fcn.0046390d
ret 0xc