Function at 0x456ff0
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x134]
sub esp, 0x134
push 0xffffffffffffffff
push 0x4dce70
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x5021c0]
xor eax, ebp
mov dword [ebp + 0x130], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x24], ebx
push 0x3f4
lea eax, [ebp - 0x1c]
push eax
call fcn.00403140
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x1c]
mov ecx, esi
lea edx, [ecx + 2]
jmp 0x457050
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x457050
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x3c]
call fcn.00403a40
push 0x3e8
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00403140
lea ecx, [ebp - 0x1c]
cmp ecx, eax
je 0x45709c
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x45709c
push eax
call fcn.004ad06e
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4570ac
push eax
call fcn.004ad06e
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4570b1
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x54]
call fcn.00403a40
push 0x3ff
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00403140
lea ecx, [ebp - 0x1c]
cmp ecx, eax
je 0x4570fd
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x4570fd
push eax
call fcn.004ad06e
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x45710d
push eax
call fcn.004ad06e
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x457112
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x6c]
call fcn.00403a40
push 0x413
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00403140
lea ecx, [ebp - 0x1c]
cmp ecx, eax
je 0x45715e
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x45715e
push eax
call fcn.004ad06e
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x45716e
push eax
call fcn.004ad06e
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x457173
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0xac]
call fcn.00403a40
push 0x410
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00403140
lea ecx, [ebp - 0x1c]
cmp ecx, eax
je 0x4571c2
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x4571c2
push eax
call fcn.004ad06e
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4571d2
push eax
call fcn.004ad06e
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4571d7
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebx + 0x90]
call fcn.00403a40
mov eax, dword [ebx + 0x84]
lea edi, [ebx + 0x84]
mov ecx, dword [edi + 4]
cmp eax, ecx
je 0x457229
mov ebx, eax
mov esi, ecx
lea ebx, [ebx]
mov ecx, ebx
call fcn.004027a0
add ebx, 0x18
cmp ebx, esi
jne 0x457210
mov eax, dword [edi]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
mov dword [edi + 4], eax
mov edi, esi
mov dword [ebp - 0x10], esi
mov edi, edi
push 0x4ec558
push edi
call fcn.004c0a08
xor ecx, ecx
mov dword [ebp - 0x14], eax
add esp, 8
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x60], ecx
push eax
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x68], ecx
lea ecx, [ebp + 0x54]
push edi
call fcn.00403450
mov byte [ebp - 4], 1
mov edx, dword [ebp + 0x64]
test edx, edx
je 0x457414
cmp dword [ebp + 0x68], 7
lea ecx, [ebp + 0x54]
mov edi, dword [ebp + 0x54]
seta byte [ebp - 0x15]
jbe 0x457280
mov ecx, edi
cmp byte [ebp - 0x15], 0
je 0x45728a
mov eax, edi
jmp 0x45728f
lea eax, [ebp + 0x54]
mov edi, eax
lea eax, [eax + edx*2]
mov dword [ebp - 0x28], eax
cmp edi, eax
je 0x4572c7
sub ecx, edi
mov esi, eax
mov dword [ebp - 0x20], ecx
mov ebx, ecx
mov byte [ebp - 4], 2
movzx eax, word [edi]
push eax
call fcn.004b32c8
movzx eax, ax
add esp, 4
mov byte [ebp - 4], 1
mov word [edi + ebx], ax
add edi, 2
cmp edi, esi
jne 0x4572a2
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x88]
lea edi, [ebx + 0x84]
lea ecx, [ebp + 0x54]
push ecx
cmp eax, dword [edi + 8]
je 0x4572e9
mov ecx, eax
call fcn.004024d0
add dword [edi + 4], 0x18
jmp 0x4572f1
push eax
mov ecx, edi
call fcn.004021d0
mov ecx, dword [ebp + 0x54]
lea eax, [ebp + 0x54]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x68]
cmp eax, 7
seta byte [ebp - 0x15]
jbe 0x457309
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp + 0x64]
cmp word [esi + edx*2 - 2], 0x2a
mov esi, dword [ebp - 0x1c]
jne 0x45741a
cmp edx, 2
jbe 0x45741a
mov ebx, dword [ebp - 0x20]
cmp word [ebx + edx*2 - 4], 0x2e
mov ebx, dword [ebp - 0x24]
jne 0x45741a
lea eax, [edx - 2]
mov dword [ebp + 0x6c], 0
mov dword [ebp + 0x70], 0
mov dword [ebp + 0x74], 0
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 0
cmp edx, eax
jb 0x45736f
mov edx, eax
cmp byte [ebp - 0x15], 0
lea eax, [ebp + 0x54]
je 0x45737a
mov eax, ecx
push edx
push eax
lea ecx, [ebp + 0x6c]
call fcn.00403450
mov byte [ebp - 4], 3
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 8]
je 0x4573c7
mov eax, dword [ebp + 0x6c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x70]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x74]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x78]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0x7c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 0x80]
mov dword [ecx + 0x14], eax
xor eax, eax
add dword [edi + 4], 0x18
mov ecx, 7
mov word [ebp + 0x6c], ax
jmp 0x4573d9
lea eax, [ebp + 0x6c]
push eax
push ecx
mov ecx, edi
call fcn.00403b50
mov ecx, dword [ebp + 0x80]
mov byte [ebp - 4], 1
cmp ecx, 7
jbe 0x457414
mov edx, dword [ebp + 0x6c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45740a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4587b7
push ecx
push edx
call fcn.004accfd
add esp, 8
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x68]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov byte [ebp - 4], 0
lea edx, [edx + edi*2]
mov dword [ebp - 0x14], edx
lea edi, [edx + 2]
mov dword [ebp - 0x10], edi
cmp eax, 7
jbe 0x457467
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45745a
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4587b7
push edx
push ecx
call fcn.004accfd
mov edx, dword [ebp - 0x14]
add esp, 8
xor eax, eax
mov dword [ebp + 0x64], 0
mov dword [ebp + 0x68], 7
mov word [ebp + 0x54], ax
cmp word [edi], ax
je 0x457489
cmp word [edx], ax
jne 0x457230
mov edi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0x3e9
push dword [ebx + 8]
call edi
cmp eax, 1
sete cl
mov byte [ebx + 0xc5], cl
jne 0x4574bd
lea ecx, [ebx + 0x54]
call fcn.00456ed0
test al, al
jne 0x4574bd
cmp dword [ebx + 0x64], 0
jne 0x4577fa
push 0x416
push dword [ebx + 8]
call edi
cmp eax, 1
sete cl
mov byte [ebx + 0xc7], cl
jne 0x4574f1
lea ecx, [ebx + 0x90]
call fcn.00456ed0
test al, al
jne 0x4574f1
cmp dword [ebx + 0xa0], 0
jne 0x4577fa
lea ecx, [ebx + 0xac]
call fcn.00456ed0
test al, al
jne 0x45750d
cmp dword [ebx + 0xbc], 0
jne 0x4577fa
push 0x3ed
push dword [ebx + 8]
call edi
cmp eax, 1
setne al
sete cl
movzx eax, al
push eax
mov byte [ebx + 0xc8], cl
mov ecx, ebx
push 0x3f0
call fcn.004030b0
cmp byte [ebx + 0xc8], 0
mov ecx, ebx
sete al
movzx eax, al
push eax
push 0x3ef
call fcn.004030b0
cmp byte [ebx + 0xc8], 0
mov dword [ebx + 0xd0], 0
mov dword [ebx + 0xd4], 0
mov dword [ebx + 0xd8], 0
jne 0x4575f4
push 0x3f0
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.00403140
lea ecx, [ebp - 0x1c]
cmp ecx, eax
je 0x4575aa
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x4575aa
push eax
call fcn.004ad06e
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4575ba
push eax
call fcn.004ad06e
add esp, 4
push esi
call fcn.004b437f
add esp, 4
cdq
shld edx, eax, 0xa
shl eax, 0xa
push 0
push 0
push 0x147
push 0x3ef
push dword [ebx + 8]
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xd4], edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebx + 0xd8], eax
push 0x3f1
push dword [ebx + 8]
call edi
cmp eax, 1
push 0x3f2
push dword [ebx + 8]
sete al
mov byte [ebx + 0xdc], al
call edi
cmp eax, 1
push 0x3f3
push dword [ebx + 8]
sete al
mov byte [ebx + 0xde], al
call edi
cmp eax, 1
push 0x444
push dword [ebx + 8]
sete al
mov byte [ebx + 0xe0], al
call edi
cmp eax, 1
push 0x41a
push dword [ebx + 8]
sete al
mov byte [ebx + 0xe2], al
call edi
cmp eax, 1
push 0x405
push dword [ebx + 8]
sete al
mov byte [ebx + 0xe4], al
call edi
cmp eax, 1
push 0x426
push dword [ebx + 8]
sete al
mov byte [ebx + 0xe6], al
call edi
cmp eax, 1
push 0x3eb
push dword [ebx + 8]
sete al
mov byte [ebx + 0xea], al
call edi
cmp eax, 1
push 0x41d
push dword [ebx + 8]
sete al
mov byte [ebx + 0xec], al
call edi
cmp eax, 1
push 0x41e
push dword [ebx + 8]
sete al
mov byte [ebx + 0xee], al
call edi
cmp eax, 1
push 0x412
push dword [ebx + 8]
sete al
mov byte [ebx + 0xf0], al
call edi
cmp eax, 1
push 0x41b
push dword [ebx + 8]
sete al
mov byte [ebx + 0xf1], al
call edi
cmp eax, 1
mov dword [ebx + 0xfc], 0
push 0x436
push dword [ebx + 8]
sete al
mov byte [ebx + 0xf3], al
call edi
cmp eax, 1
jne 0x45771f
mov dword [ebx + 0xfc], 0
push 0x437
push dword [ebx + 8]
call edi
cmp eax, 1
jne 0x457734
mov dword [ebx + 0xfc], eax
push 0x438
push dword [ebx + 8]
call edi
cmp eax, 1
jne 0x45774d
mov dword [ebx + 0xfc], 2
push 0x439
push dword [ebx + 8]
call edi
cmp eax, 1
jne 0x457766
mov dword [ebx + 0xfc], 3
xor eax, eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
lea eax, [ebp + 0x44]
push eax
push 0
push 0x1001
push 0x43a
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call ebx
mov eax, dword [ebp - 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
add eax, 0x104
push eax
lea eax, [ebp + 0x44]
push eax
call edi
lea eax, [ebp + 0x44]
push eax
mov eax, dword [ebp - 0x24]
push 0
push 0x1001
push 0x43b
push dword [eax + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebx
mov ebx, dword [ebp - 0x24]
lea eax, [ebx + 0x10c]
push eax
lea eax, [ebp + 0x44]
push eax
call edi
push 0x424
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
sete al
cmp dword [ebx + 0x4c], 0
mov byte [ebx + 0x117], al
jne 0x457801
xor bl, bl
jmp 0x458785
cmp byte [ebx + 0x114], 0
jne 0x458783
mov al, byte [0x507a10]
test al, al
je 0x45786c
cmp dword [ebx + 0x68], 7
lea eax, [ebx + 0x54]
jbe 0x457822
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push str.searchfor
push str.global
mov ecx, 0x507a38
call fcn.004173a0
mov al, byte [0x507a10]
test al, al
je 0x45786c
cmp dword [ebx + 0x50], 7
lea eax, [ebx + 0x3c]
jbe 0x457850
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push str.searchpath
push str.global
mov ecx, 0x507a38
call fcn.004173a0
jmp 0x45787f
mov eax, dword [ebx + 0xb50]
lea ecx, [ebx + 0xb50]
lea edx, [ebx + 0x3c]
push edx
call dword [eax + 0x18]
cmp byte [0x507a10], 0
mov al, byte [ebx + 0xc5]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
je 0x457901
mov ecx, 0x4ebc74
test al, al
jne 0x4578a2
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4578c0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.UseRegex
push str.global
call fcn.004173a0
jmp 0x457910
movzx eax, al
lea ecx, [ebx + 0x3b8]
push eax
call fcn.00460e60
cmp byte [0x507a10], 0
mov al, byte [ebx + 0xc7]
je 0x457989
mov ecx, 0x4ebc74
test al, al
jne 0x45792d
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457948
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.UseFileMatchRegex
push str.global
call fcn.004173a0
jmp 0x457998
movzx eax, al
lea ecx, [ebx + 0x9e0]
push eax
call fcn.00460e60
cmp byte [0x507a10], 0
mov al, byte [ebx + 0xc8]
je 0x457a11
mov ecx, 0x4ebc74
test al, al
jne 0x4579b5
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4579d0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.AllSize
push str.global
call fcn.004173a0
jmp 0x457a20
movzx eax, al
lea ecx, [ebx + 0x418]
push eax
call fcn.00460e60
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xd4]
shrd ecx, eax, 0xa
shr eax, 0xa
cmp byte [0x507a10], 0
push eax
push ecx
lea eax, [ebp + 0x2c]
push str._I64u
push eax
je 0x457a7e
call fcn.00419200
add esp, 0x10
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 7
jbe 0x457a5b
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push 0x4effb8
push str.global
mov ecx, 0x507a38
call fcn.004173a0
mov byte [ebp - 4], 0
jmp 0x457b3b
call fcn.00419200
add esp, 0x10
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 7
jbe 0x457a94
mov edx, dword [edx]
xor eax, eax
mov ecx, edx
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x80], eax
lea eax, [ecx + 2]
mov dword [ebp - 0x14], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x457ab3
sub ecx, dword [ebp - 0x14]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x6c]
call fcn.00403450
lea ecx, [ebx + 0x478]
mov byte [ebp - 4], 6
mov eax, dword [ecx]
lea edx, [ebp + 0x6c]
push edx
call dword [eax + 0x18]
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 0x80]
cmp ecx, 7
jbe 0x457b21
mov edx, dword [ebp + 0x6c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x457b17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4587b7
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp + 0x7c], 0
mov dword [ebp + 0x80], 7
mov word [ebp + 0x6c], ax
mov byte [ebp - 4], al
lea ecx, [ebp + 0x2c]
call fcn.004027a0
cmp byte [0x507a10], 0
push dword [ebx + 0xd8]
je 0x457b97
lea eax, [ebp + 0x2c]
push 0x4ed960
push eax
call fcn.00419200
add esp, 0xc
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 7
jbe 0x457b6f
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push str.SizeCombo
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0
call fcn.004027a0
jmp 0x457ba2
lea ecx, [ebx + 0x500]
call fcn.00460e60
cmp byte [0x507a10], 0
mov al, byte [ebx + 0xdc]
je 0x4584c8
mov ecx, 0x4ebc74
test al, al
jne 0x457bc3
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
mov edi, edi
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457be0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.IncludeSystem
push str.global
call fcn.004173a0
cmp byte [ebx + 0xde], 0
mov ecx, 0x4ebc74
jne 0x457c32
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457c50
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.IncludeHidden
push str.global
call fcn.004173a0
cmp byte [ebx + 0xe0], 0
mov ecx, 0x4ebc74
jne 0x457ca2
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457cc0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.IncludeSubfolders
push str.global
call fcn.004173a0
cmp byte [ebx + 0xe2], 0
mov ecx, 0x4ebc74
jne 0x457d12
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457d30
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.IncludeSymLinks
push str.global
call fcn.004173a0
cmp byte [ebx + 0xe4], 0
mov ecx, 0x4ebc74
jne 0x457d82
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457da0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.IncludeBinary
push str.global
call fcn.004173a0
cmp byte [ebx + 0xe6], 0
mov ecx, 0x4ebc74
jne 0x457df2
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457e10
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.CreateBackup
push str.global
call fcn.004173a0
cmp byte [ebx + 0xea], 0
mov ecx, 0x4ebc74
jne 0x457e62
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457e80
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.KeepFileDate
push str.global
call fcn.004173a0
cmp byte [ebx + 0xec], 0
mov ecx, 0x4ebc74
jne 0x457ed2
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457ef0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.WholeWords
push str.global
call fcn.004173a0
cmp byte [ebx + 0xee], 0
mov ecx, 0x4ebc74
jne 0x457f42
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457f60
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.UTF8
push str.global
call fcn.004173a0
cmp byte [ebx + 0x187], 0
mov ecx, 0x4ebc74
jne 0x457fb2
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x457fd0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.StayOnTop
push str.global
call fcn.004173a0
cmp byte [ebx + 0xf0], 0
mov ecx, 0x4ebc74
jne 0x458022
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458040
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.Binary
push str.global
call fcn.004173a0
cmp byte [ebx + 0xf1], 0
mov ecx, 0x4ebc74
jne 0x458092
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4580b0
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.CaseSensitive
push str.global
call fcn.004173a0
cmp byte [ebx + 0xf3], 0
mov ecx, 0x4ebc74
jne 0x458102
mov ecx, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, ecx
neg eax
mov dword [ebp - 0x10], ecx
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458120
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push dword [ebp - 0x10]
push 0
push eax
call edi
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.DotMatchesNewline
push str.global
call fcn.004173a0
cmp dword [ebx + 0xa4], 7
lea eax, [ebx + 0x90]
jbe 0x458170
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push str.pattern
push str.global
mov ecx, 0x507a38
call fcn.004173a0
cmp dword [ebx + 0xc0], 7
lea eax, [ebx + 0xac]
jbe 0x45819b
mov eax, dword [eax]
push 1
push ecx
push 0
push eax
push str.ExcludeDirsPattern
push str.global
mov ecx, 0x507a38
call fcn.004173a0
mov ecx, dword [ebx + 0xfc]
lea edi, [ebp + 0x12e]
test ecx, ecx
jns 0x458200
neg ecx
jmp 0x4581d0
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x4581d0
add edi, 0xfffffffe
mov eax, 0x2d
mov word [edi], ax
jmp 0x458220
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x458200
push ecx
lea eax, [ebp + 0x12e]
push eax
push edi
lea ecx, [ebp + 0x6c]
call fcn.004883b0
mov byte [ebp - 4], 8
lea eax, [ebp + 0x6c]
cmp dword [ebp + 0x80], 7
jbe 0x458244
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push eax
push str.DateLimit
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call fcn.004027a0
mov ecx, dword [ebx + 0x104]
lea edi, [ebp + 0x12e]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x458276
push ecx
lea eax, [ebp + 0x12e]
push eax
push edi
lea ecx, [ebp + 0x6c]
call fcn.004883b0
mov byte [ebp - 4], 9
lea eax, [ebp + 0x6c]
cmp dword [ebp + 0x80], 7
jbe 0x4582ba
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push eax
push str.Date1Low
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call fcn.004027a0
mov ecx, dword [ebx + 0x108]
lea edi, [ebp + 0x12e]
lea esp, [esp]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x4582f0
push ecx
lea eax, [ebp + 0x12e]
push eax
push edi
lea ecx, [ebp + 0x6c]
call fcn.004883b0
mov byte [ebp - 4], 0xa
lea eax, [ebp + 0x6c]
cmp dword [ebp + 0x80], 7
jbe 0x458334
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push eax
push str.Date1High
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call fcn.004027a0
mov ecx, dword [ebx + 0x10c]
lea edi, [ebp + 0x12e]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x458366
push ecx
lea eax, [ebp + 0x12e]
push eax
push edi
lea ecx, [ebp + 0x6c]
call fcn.004883b0
mov byte [ebp - 4], 0xb
lea eax, [ebp + 0x6c]
cmp dword [ebp + 0x80], 7
jbe 0x4583aa
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push eax
push str.Date2Low
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call fcn.004027a0
mov ecx, dword [ebx + 0x110]
lea edi, [ebp + 0x12e]
lea esp, [esp]
mov eax, 0xcccccccd
sub edi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [edi], cx
mov ecx, edx
test ecx, ecx
jne 0x4583e0
push ecx
lea eax, [ebp + 0x12e]
push eax
push edi
lea ecx, [ebp + 0x6c]
call fcn.004883b0
mov byte [ebp - 4], 0xc
lea eax, [ebp + 0x6c]
cmp dword [ebp + 0x80], 7
jbe 0x458424
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push eax
push str.Date2High
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0
call fcn.004027a0
cmp byte [ebx + 0x118], 0
jne 0x458658
cmp byte [ebx + 0x117], 0
mov edi, 0x4ebc74
jne 0x45846a
mov edi, 0x4ebc6c
movzx eax, byte [0x507a58]
mov edx, edi
neg eax
sbb eax, eax
lea ecx, [edx + 1]
and eax, 0xfde9
mov dword [ebp - 0x14], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x458482
sub edx, dword [ebp - 0x14]
lea ecx, [ebp + 0x84]
push 0x40
push ecx
lea ecx, [edx + 1]
push ecx
push edi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 1
push ecx
push 0
lea eax, [ebp + 0x84]
mov ecx, 0x507a38
push eax
push str.showcontent
push str.global
call fcn.004173a0
jmp 0x458658
movzx eax, al
lea ecx, [ebx + 0x560]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xde]
lea ecx, [ebx + 0x5c0]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xe0]
lea ecx, [ebx + 0x620]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xe2]
lea ecx, [ebx + 0x680]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xe4]
lea ecx, [ebx + 0x6e0]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xe6]
lea ecx, [ebx + 0x740]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xea]
lea ecx, [ebx + 0x7a0]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xec]
lea ecx, [ebx + 0x800]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xee]
lea ecx, [ebx + 0x860]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0x187]
lea ecx, [ebx + 0xf00]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xf0]
lea ecx, [ebx + 0x8c0]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xf1]
lea ecx, [ebx + 0x920]
push eax
call fcn.00460e60
movzx eax, byte [ebx + 0xf3]
lea ecx, [ebx + 0x980]
push eax
call fcn.00460e60
mov eax, dword [ebx + 0xa40]
lea ecx, [ebx + 0xa40]
lea edx, [ebx + 0x90]
push edx
call dword [eax + 0x18]
mov eax, dword [ebx + 0xac8]
lea ecx, [ebx + 0xac8]
lea edx, [ebx + 0xac]
push edx
call dword [eax + 0x18]
push dword [ebx + 0xfc]
lea ecx, [ebx + 0xcc0]
call fcn.00460e60
push dword [ebx + 0x104]
lea ecx, [ebx + 0xd20]
call fcn.00460e60
push dword [ebx + 0x108]
lea ecx, [ebx + 0xd80]
call fcn.00460e60
push dword [ebx + 0x10c]
lea ecx, [ebx + 0xde0]
call fcn.00460e60
push dword [ebx + 0x110]
lea ecx, [ebx + 0xe40]
call fcn.00460e60
cmp byte [ebx + 0x118], 0
jne 0x458658
movzx eax, byte [ebx + 0x117]
lea ecx, [ebx + 0xea0]
push eax
call fcn.00460e60
lea eax, [ebp]
mov dword [ebp + 4], 0
push eax
push dword [ebx + 8]
mov dword [ebp + 8], 0
mov dword [ebp + 0xc], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], 0
mov dword [ebp], 0x2c
call dword [sym.imp.USER32.dll_GetWindowPlacement]
lea ecx, [ebp + 0x114]
call fcn.004144a0
push eax
lea ecx, [ebp + 0x6c]
mov byte [ebp - 4], 0xd
call fcn.004628c0
add esp, 4
lea ecx, [ebp + 0x114]
mov byte [ebp - 4], 0xf
call fcn.004027a0
cmp byte [0x507a10], 0
je 0x458753
push dword [ebp + 0x28]
lea eax, [ebp + 0x2c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 4]
push str._d__d__d__d__d__d__d__d__d__d
push eax
call fcn.00419200
add esp, 0x30
mov byte [ebp - 4], 0x10
lea ecx, [ebp + 0x2c]
cmp dword [ebp + 0x40], 7
jbe 0x458724
mov ecx, dword [ebp + 0x2c]
cmp dword [ebp + 0x80], 7
lea eax, [ebp + 0x6c]
jbe 0x458733
mov eax, dword [ebp + 0x6c]
push 1
push ecx
push 0
push ecx
push eax
push str.global
mov ecx, 0x507a38
call fcn.004173a0
lea ecx, [ebp + 0x2c]
call fcn.004027a0
jmp 0x45877b
cmp dword [ebp + 0x80], 7
lea eax, [ebp + 0x6c]
jbe 0x458762
mov eax, dword [ebp + 0x6c]
push 0x2c
lea ecx, [ebp]
push ecx
push 0
push eax
push str.SoftwaregrepWinNP3
push 0x80000001
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
lea ecx, [ebp + 0x6c]
call fcn.004027a0
mov bl, 1
test esi, esi
je 0x458792
push esi
call fcn.004ad06e
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x130]
xor ecx, ebp
call fcn.004accbf
lea esp, [ebp + 0x134]
pop ebp
ret
call fcn.004b306f
int3