Function at 0x45adc0
Capabilities:
Copy file
Get file attributes
Move file
Read file on windows
Set file attributes
Timestomp file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dd586
mov eax, dword fs:[0]
push eax
sub esp, 0x520
mov eax, dword [0x5021c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x28]
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x474], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x4ec], esi
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x448], 0
mov dword [ebp - 4], 0
mov al, byte [0x507a32]
test al, al
jne 0x45da42
xor eax, eax
push ecx
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x468], eax
call fcn.004024d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x17c]
mov esi, dword [ebp + 8]
push 0x4ed998
call fcn.00403410
push esi
lea edx, [ebp - 0x17c]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x294]
call fcn.00403c70
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x17c]
call fcn.004027a0
push ecx
mov ecx, dword [ebp + 8]
push 0x5c
call fcn.00419110
mov ecx, dword [ebp + 8]
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.004058a0
push ecx
push 0x2e
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 3
call fcn.00419110
mov esi, eax
cmp esi, 0xffffffff
je 0x45af90
push esi
push 0
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004058a0
push 0x4ed9bc
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 4
call fcn.00403410
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 5
push eax
lea edx, [ebp - 0x17c]
lea ecx, [ebp - 0x294]
call fcn.00403c70
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x17c]
call fcn.004027a0
cmp dword [ebp - 0x2e4], esi
jbe 0x45af81
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004058a0
push 0x4ed9dc
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 6
call fcn.00403410
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x17c]
lea ecx, [ebp - 0x294]
call fcn.00403c70
add esp, 4
lea ecx, [ebp - 0x17c]
call fcn.004027a0
lea ecx, [ebp - 0x214]
call fcn.004027a0
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 3
call fcn.004027a0
cmp byte [ebp + 0x18], 0
jne 0x45b175
push ecx
mov edx, 0x4ebe50
lea ecx, [ebp - 0x134]
call fcn.00488250
mov edx, 0x4f0904
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x11c]
call fcn.00488250
mov edx, 0x4f0908
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x104]
call fcn.00488250
mov edx, 0x4eb878
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xec]
call fcn.00488250
mov edx, 0x4ec558
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd4]
call fcn.00488250
mov edx, 0x4ecc70
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xbc]
call fcn.00488250
mov edx, 0x4f090c
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa4]
call fcn.00488250
mov edx, 0x4f0910
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x8c]
call fcn.00488250
mov edx, 0x4f0914
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x74]
call fcn.00488250
mov edx, 0x4f0918
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x5c]
call fcn.00488250
mov edx, 0x4f091c
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00488250
mov edx, 0x4f0920
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2c]
call fcn.00488250
add esp, 4
mov byte [ebp - 4], 0x13
lea esi, [ebp - 0x134]
mov edi, dword [ebp - 0x46c]
mov eax, 0x7ffffffe
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x45dab4
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x45b0ab
mov eax, dword [esi]
push ecx
push eax
push 1
push 0x4ebe50
push ecx
push edi
lea ecx, [ebp - 0x164]
call fcn.004069c0
or dword [ebp - 0x448], 0x800
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x14
push eax
mov edx, esi
lea ecx, [ebp - 0x294]
call fcn.00403c70
add esp, 4
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x164]
call fcn.004027a0
lea eax, [ebp - 0x14]
add esi, 0x18
cmp esi, eax
mov eax, 0x7ffffffe
jne 0x45b093
push 0x402800
push 0xc
push 0x18
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 3
push eax
call fcn.004ad0d1
cmp byte [ebp + 0x1c], 0
je 0x45b175
lea eax, [ebp - 0x294]
mov edx, 0x4f06bc
push eax
lea ecx, [ebp - 0x17c]
call fcn.00415ec0
push 0x4f06bc
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x164]
call fcn.004620e0
add esp, 8
lea ecx, [ebp - 0x294]
push eax
call fcn.004033c0
lea ecx, [ebp - 0x164]
call fcn.004027a0
lea ecx, [ebp - 0x17c]
call fcn.004027a0
xor eax, eax
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], 7
mov word [ebp - 0x1dc], ax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], 7
mov word [ebp - 0x1b4], ax
mov byte [ebp - 0x19c], al
mov dword [ebp - 0x198], 2
mov edx, dword [ebp + 0x15]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x47c], eax
xor al, al
mov byte [ebp - 0x449], al
test dh, dh
je 0x45b243
mov eax, dword [ebp + 8]
mov dword [ebp - 0x47c], 1
mov dword [eax + 0x40], 1
jmp 0x45ca21
push dword [ebp + 8]
mov edx, 0x4f0924
lea ecx, [ebp - 0x17c]
call fcn.00415ec0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.00402810
push eax
lea ecx, [ebp - 0x24c]
call fcn.00441c60
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x19
call fcn.004027a0
cmp byte [0x507a10], 0
je 0x45b29e
push ecx
push 0
push str.nullbytes
push str.settings
call fcn.00461ed0
mov edi, eax
jmp 0x45b2f1
push str.SoftwaregrepWinNP3_nullbytes
lea ecx, [ebp - 0x164]
call fcn.00403410
sub esp, 0xc
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0x448]
lea eax, [ebp - 0x164]
or esi, 1
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x448], esi
push 0
push eax
call fcn.00426760
or esi, 2
mov dword [ebp - 4], 0x1b
mov ecx, eax
mov dword [ebp - 0x448], esi
call fcn.004267b0
mov edi, dword [eax]
mov eax, dword [ebp - 0x448]
test al, 2
je 0x45b315
and eax, 0xfffffffd
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x448], eax
call fcn.00416040
mov eax, dword [ebp - 0x448]
mov dword [ebp - 4], 0x19
test al, 1
je 0x45b334
and eax, 0xfffffffe
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x448], eax
call fcn.004027a0
mov esi, dword [ebp + 8]
test edi, edi
jle 0x45b35d
push 0
push 0x100000
push dword [esi + 0x1c]
push dword [esi + 0x18]
call fcn.004d7a30
inc eax
mov dword [ebp - 0x488], edx
imul eax, edi
mov dword [ebp - 0x198], eax
push 0x507a32
push dword [ebp + 0x15]
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
call fcn.00402810
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00419f60
lea ecx, [ebp - 0x24c]
mov byte [ebp - 0x449], al
mov byte [ebp - 4], 0x16
call fcn.00441cb0
cmp byte [ebp - 0x449], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x47c]
mov dword [ecx + 0x40], eax
je 0x45ca1e
cmp dword [ebp - 0x47c], 1
jne 0x45b3c6
cmp byte [ebp + 0x17], 0
jne 0x45b3c6
cmp byte [ebp + 0x14], 0
je 0x45ca4c
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x1dc]
mov byte [eax + 0x64], 0
lea eax, [ebp - 0x46c]
push eax
call fcn.0041b7f0
lea ecx, [ebp - 0x1dc]
mov esi, dword [eax]
lea eax, [ebp - 0x450]
push eax
call fcn.0041b7d0
push ecx
lea ecx, [ebp - 0x258]
mov edi, dword [eax]
call fcn.0042a440
xor eax, eax
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x458], eax
cmp byte [ebp + 0x19], al
jne 0x45b41d
mov eax, 0x100000
mov dword [ebp - 0x458], eax
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x4d0]
call fcn.0042b030
push ecx
lea ecx, [ebp - 0x4b8]
call fcn.0042a440
cmp byte [ebp + 0x1a], 0
mov eax, 0x2000000
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x448], eax
jne 0x45b45c
mov eax, 0x2000040
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x478], 0
push esi
push eax
push edi
push esi
lea edx, [ebp - 0x4d0]
lea ecx, [ebp - 0x4b8]
call fcn.0042c040
add esp, 0x10
test al, al
je 0x45b858
mov al, byte [0x507a32]
test al, al
jne 0x45b858
cmp byte [ebp - 0x490], 0
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
je 0x45b4ba
cmp eax, ecx
je 0x45da69
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jle 0x45b4dc
mov eax, dword [ebp - 0x4b8]
add eax, 0x18
jmp 0x45b4e2
lea eax, [ebp - 0x4a8]
cmp byte [eax + 8], 0
je 0x45b7b7
inc dword [ebp - 0x468]
mov al, byte [0x507a33]
test al, al
jne 0x45b858
push 0
lea ecx, [ebp - 0x4b8]
call fcn.0042a3a0
mov edx, eax
lea ecx, [ebp - 0x1dc]
lea eax, [ebp - 0x500]
push eax
call fcn.0041b7f0
mov ecx, dword [edx]
sub ecx, dword [eax]
sar ecx, 1
push ecx
lea ecx, [ebp - 0x1e4]
call fcn.0041b410
push 0
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x470], eax
call fcn.0042a3a0
mov edx, eax
lea ecx, [ebp - 0x1dc]
lea eax, [ebp - 0x460]
push eax
call fcn.0041b7f0
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
sar ecx, 1
push ecx
lea ecx, [ebp - 0x1e4]
call fcn.0041b410
mov edx, dword [ebp - 0x470]
mov ecx, eax
mov dword [ebp - 0x45c], ecx
cmp edx, dword [ebp - 0x464]
jne 0x45b58e
cmp ecx, dword [ebp - 0x478]
je 0x45b7a0
mov eax, edx
mov dword [ebp - 0x478], edx
cmp eax, ecx
jg 0x45b79a
push eax
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0041b460
cmp byte [ebp + 0x20], 0
mov byte [ebp - 4], 0x20
je 0x45b6be
push dword [ebp - 0x448]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x4c8]
call fcn.004024d0
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0042ae50
mov byte [ebp - 4], 0x21
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [edx + 0x34]
je 0x45b661
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x14c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x148]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x144]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x13c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x138]
mov dword [ecx + 0x14], eax
xor eax, eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 7
mov word [ebp - 0x14c], ax
add dword [edx + 0x30], 0x18
jmp 0x45b671
lea eax, [ebp - 0x14c]
push eax
push ecx
lea ecx, [edx + 0x2c]
call fcn.00403b50
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x138]
cmp ecx, 7
jbe 0x45b744
mov edx, dword [ebp - 0x14c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45b6af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45da6e
push ecx
push edx
call fcn.004accfd
add esp, 8
jmp 0x45b744
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [edx + 0x34]
je 0x45b734
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ecx + 0x14], eax
xor eax, eax
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 7
mov word [ebp - 0x1fc], ax
add dword [edx + 0x30], 0x18
jmp 0x45b744
lea eax, [ebp - 0x1fc]
push eax
push ecx
lea ecx, [edx + 0x2c]
call fcn.00403b50
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x478]
add ecx, 0x20
mov dword [ebp - 0x488], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x45b766
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x45b773
lea eax, [ebp - 0x488]
push eax
push edx
call fcn.00408e40
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x1f
call fcn.004027a0
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x45c]
inc eax
mov dword [ebp - 0x478], eax
jmp 0x45b596
mov edx, dword [ebp - 0x470]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x478], ecx
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
cmp byte [ebp - 0x490], 0
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
je 0x45b7d4
cmp eax, ecx
je 0x45da73
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x4b8]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [eax + 0x18]
cmp ecx, 2
jg 0x45b7fa
lea edx, [ebp - 0x4a8]
cmp esi, dword [edx + 4]
jne 0x45b81c
cmp esi, edi
je 0x45b858
mov eax, dword [ebp - 0x448]
add esi, 2
or eax, 0x104
mov dword [ebp - 0x448], eax
jmp 0x45b470
cmp byte [ebp - 0x490], 0
je 0x45b831
cmp eax, dword [ebp - 0x4b4]
je 0x45da78
lea esi, [eax + 0x18]
cmp ecx, 2
jg 0x45b83f
lea esi, [ebp - 0x4a8]
mov eax, dword [ebp - 0x448]
mov esi, dword [esi + 4]
or eax, 0x104
mov dword [ebp - 0x448], eax
jmp 0x45b470
cmp dword [ebp - 0x47c], 1
jne 0x45bebe
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 0
mov edx, dword [ebp - 0x474]
cmp dword [edx + 0x14], 7
mov eax, dword [edx + 0x10]
jbe 0x45b89b
mov ecx, dword [edx]
mov dword [ebp - 0x474], ecx
lea esi, [ecx + eax*2]
mov dword [ebp - 0x470], esi
jmp 0x45b8a4
lea eax, [edx + eax*2]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x4f4], 0
mov dword [ebp - 0x4f0], 0
push 0x154
mov byte [ebp - 4], 0x23
call fcn.004acccd
mov edi, eax
add esp, 4
mov dword [ebp - 0x460], edi
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.0042bde0
mov dword [ebp - 0x460], edi
push 0x10
mov byte [ebp - 4], 0x25
call fcn.004acccd
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x474]
mov ecx, edi
mov dword [ebp - 0x460], esi
mov byte [ebp - 4], 0x23
push dword [ebp - 0x458]
mov dword [esi + 4], 1
push dword [ebp - 0x470]
mov dword [esi + 8], 1
push eax
mov dword [esi], vtable.std::_Ref_count_class_boost::re_detail_500::basic_regex_implementation_wchar_t__struct_boost::regex_traits_wchar_t__class_boost::w32_regex_traits_wchar_t____.0
mov dword [esi + 0xc], edi
mov dword [ebp - 0x4f4], edi
mov dword [ebp - 0x4f0], esi
call fcn.0042ba60
mov dword [ebp - 0x484], edi
mov edi, dword [ebp - 0x480]
mov dword [ebp - 0x480], esi
test edi, edi
je 0x45b970
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x45b970
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x45b970
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x1dc]
cmp dword [ebp - 0x1c8], 7
jbe 0x45b98d
mov esi, dword [ebp - 0x1dc]
mov ecx, esi
jmp 0x45b993
lea ecx, [ebp - 0x1dc]
mov eax, dword [ebp - 0x1cc]
lea edi, [ecx + eax*2]
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x470], edi
push esi
push eax
push edi
push esi
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x4b8]
call fcn.0042c040
add esp, 0x10
test al, al
je 0x45be8e
mov al, byte [0x507a32]
test al, al
jne 0x45be8e
cmp byte [ebp - 0x490], 0
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
je 0x45b9f2
cmp eax, ecx
je 0x45da7d
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jle 0x45ba14
mov eax, dword [ebp - 0x4b8]
add eax, 0x18
jmp 0x45ba1a
lea eax, [ebp - 0x4a8]
cmp byte [eax + 8], 0
je 0x45bccb
inc dword [ebp - 0x468]
mov al, byte [0x507a33]
test al, al
jne 0x45be8e
cmp byte [ebp - 0x490], 0
mov ecx, dword [ebp - 0x4b4]
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x458], ecx
je 0x45ba5a
cmp eax, ecx
je 0x45da82
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jle 0x45ba7c
mov ecx, dword [ebp - 0x4b8]
add ecx, 0x18
jmp 0x45ba82
lea ecx, [ebp - 0x4a8]
cmp dword [ebp - 0x1c8], 7
lea eax, [ebp - 0x1dc]
jbe 0x45ba97
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [ebp - 0x1c4]
sar ecx, 1
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x1c0]
mov ecx, eax
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x474]
sub ecx, eax
sar ecx, 2
test ecx, ecx
jle 0x45bb19
lea esp, [esp]
mov edx, ecx
shr edx, 1
mov dword [ebp - 0x474], edx
lea edi, [eax + edx*4]
mov edx, dword [ebp - 0x488]
cmp dword [edi], edx
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x45c], edi
jae 0x45bb0d
mov eax, edi
add eax, 4
mov dword [ebp - 0x474], eax
or eax, 0xffffffff
sub eax, edx
add ecx, eax
mov eax, dword [ebp - 0x474]
jmp 0x45bb0f
mov ecx, edx
mov edi, dword [ebp - 0x470]
test ecx, ecx
jg 0x45bad0
sub eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0x458]
sar eax, 2
inc eax
cmp byte [ebp - 0x490], 0
mov dword [ebp - 0x45c], eax
je 0x45bb46
cmp ecx, edx
je 0x45da87
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [ecx + 0x18]
jg 0x45bb66
lea eax, [ebp - 0x4a8]
cmp dword [ebp - 0x1c8], 7
lea ecx, [ebp - 0x1dc]
jbe 0x45bb7b
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x450]
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x1c4]
sub edx, eax
sar edx, 2
test edx, edx
jle 0x45bbe9
lea ecx, [ecx]
mov ecx, edx
shr ecx, 1
mov dword [ebp - 0x450], ecx
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x488]
cmp dword [edi], ecx
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x458], edi
jae 0x45bbdd
mov eax, edi
add eax, 4
mov dword [ebp - 0x450], eax
or eax, 0xffffffff
sub eax, ecx
add edx, eax
mov eax, dword [ebp - 0x450]
jmp 0x45bbdf
mov edx, ecx
mov edi, dword [ebp - 0x470]
test edx, edx
jg 0x45bba0
sub eax, dword [ebp - 0x1c4]
sar eax, 2
inc eax
cmp byte [ebp + 0x20], 0
mov dword [ebp - 0x488], eax
je 0x45bcf1
push dword [ebp - 0x448]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x4c8]
call fcn.004024d0
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0042ae50
mov byte [ebp - 4], 0x28
mov eax, dword [ebp + 8]
add eax, 0x2c
mov dword [ebp - 0x450], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x45bc5b
lea eax, [ebp - 0x17c]
push eax
call fcn.004024d0
mov eax, dword [ebp - 0x450]
add dword [eax + 4], 0x18
jmp 0x45bc6a
lea edx, [ebp - 0x17c]
push edx
push ecx
mov ecx, eax
call fcn.004021d0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x45c]
add ecx, 0x20
mov dword [ebp - 0x450], edx
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x45bc8c
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x45bc99
lea edx, [ebp - 0x450]
push edx
push eax
call fcn.00408e40
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x27
call fcn.004027a0
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x464], edx
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x478], eax
cmp byte [ebp - 0x490], 0
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b4]
je 0x45be0a
cmp eax, ecx
je 0x45da8c
jmp 0x45be0a
mov edx, dword [ebp - 0x45c]
cmp edx, dword [ebp - 0x464]
jne 0x45bd07
cmp eax, dword [ebp - 0x478]
je 0x45bcae
mov ecx, edx
mov dword [ebp - 0x458], edx
nop
cmp ecx, eax
jg 0x45bca8
mov eax, dword [ebp + 8]
add eax, 0x2c
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x164]
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0041b460
mov edx, eax
mov eax, dword [ebp - 0x474]
mov byte [ebp - 4], 0x29
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x45bd9b
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x474]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
add dword [eax + 4], 0x18
jmp 0x45bda4
push edx
push ecx
mov ecx, eax
call fcn.00403b50
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x27
call fcn.004027a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x450], ecx
mov edx, dword [eax + 0x24]
cmp edx, dword [eax + 0x28]
je 0x45bde2
mov dword [edx], ecx
add dword [eax + 0x24], 4
inc ecx
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x458], ecx
jmp 0x45bd10
lea ecx, [ebp - 0x450]
push ecx
push edx
lea ecx, [eax + 0x20]
call fcn.00408e40
mov ecx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x488]
inc ecx
mov dword [ebp - 0x458], ecx
jmp 0x45bd10
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x4b8]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [eax + 0x18]
cmp ecx, 2
jg 0x45be30
lea edx, [ebp - 0x4a8]
cmp esi, dword [edx + 4]
jne 0x45be52
cmp esi, edi
je 0x45be8e
mov eax, dword [ebp - 0x448]
add esi, 2
or eax, 0x104
mov dword [ebp - 0x448], eax
jmp 0x45b9a8
cmp byte [ebp - 0x490], 0
je 0x45be67
cmp eax, dword [ebp - 0x4b4]
je 0x45da91
lea esi, [eax + 0x18]
cmp ecx, 2
jg 0x45be75
lea esi, [ebp - 0x4a8]
mov eax, dword [ebp - 0x448]
mov esi, dword [esi + 4]
or eax, 0x104
mov dword [ebp - 0x448], eax
jmp 0x45b9a8
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x480]
test esi, esi
je 0x45bebe
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45bebe
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x45bebe
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp + 0x1f], 0
je 0x45c97f
mov eax, dword [ebp - 0x468]
test eax, eax
jle 0x45c97f
push dword [ebp - 0x4c8]
and dword [ebp - 0x448], 0xfffffefb
lea ecx, [ebp - 0x314]
call fcn.004282f0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x14c]
mov esi, dword [ebp + 8]
xor eax, eax
push 0xb
push 0x4ed998
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
call fcn.00403450
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00412b30
cmp eax, esi
je 0x45bf5e
cmp dword [esi + 0x14], 7
mov ecx, dword [esi + 0x10]
jbe 0x45bf55
mov esi, dword [esi]
push ecx
push esi
mov ecx, eax
call fcn.00403a40
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x138]
cmp ecx, 7
jbe 0x45bfa2
mov edx, dword [ebp - 0x14c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45bf98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45da96
push ecx
push edx
call fcn.004accfd
add esp, 8
mov edx, dword [ebp + 8]
mov ecx, edx
cmp dword [ecx + 0x14], 7
mov eax, dword [edx + 0x10]
jbe 0x45bfb2
mov ecx, dword [edx]
test eax, eax
je 0x45bfe3
dec eax
cmp eax, 0xffffffff
jb 0x45bfbf
or eax, 0xffffffff
cmp word [ecx + eax*2], 0x5c
lea eax, [ecx + eax*2]
je 0x45bfdd
lea esp, [esp]
cmp eax, ecx
je 0x45bfe3
sub eax, 2
cmp word [eax], 0x5c
jne 0x45bfd0
sub eax, ecx
sar eax, 1
jmp 0x45bfe6
or eax, 0xffffffff
xor ecx, ecx
inc eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], ecx
mov ecx, dword [edx + 0x10]
cmp ecx, eax
jb 0x45da9b
sub ecx, eax
cmp ecx, 0xffffffff
jb 0x45c022
or ecx, 0xffffffff
cmp dword [edx + 0x14], 7
jbe 0x45c02a
mov edx, dword [edx]
push ecx
lea eax, [edx + eax*2]
push eax
lea ecx, [ebp - 0x194]
call fcn.00403450
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x194]
cmp dword [ebp - 0x180], 7
mov edi, dword [ebp - 0x194]
jbe 0x45c055
mov eax, edi
mov ecx, dword [ebp - 0x184]
test ecx, ecx
je 0x45c087
lea edx, [ecx - 1]
cmp edx, 0xffffffff
jb 0x45c06a
or edx, 0xffffffff
cmp word [eax + edx*2], 0x2e
lea esi, [eax + edx*2]
je 0x45c081
cmp esi, eax
je 0x45c087
sub esi, 2
cmp word [esi], 0x2e
jne 0x45c074
sub esi, eax
sar esi, 1
jmp 0x45c08a
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x45c316
xor eax, eax
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
cmp ecx, esi
jb 0x45c0bf
mov ecx, esi
cmp dword [ebp - 0x180], 7
lea eax, [ebp - 0x194]
jbe 0x45c0d0
mov eax, edi
push ecx
push eax
lea ecx, [ebp - 0x2c4]
call fcn.00403450
xor eax, eax
mov byte [ebp - 4], 0x2d
push 0xb
push 0x4ed9bc
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
call fcn.00403450
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00412b30
mov ecx, eax
lea eax, [ebp - 0x2c4]
cmp ecx, eax
je 0x45c156
cmp dword [ebp - 0x2b0], 7
jbe 0x45c14a
mov eax, dword [ebp - 0x2c4]
push dword [ebp - 0x2b4]
push eax
call fcn.00403a40
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x138]
cmp ecx, 7
jbe 0x45c19a
mov edx, dword [ebp - 0x14c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45c190
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45daa0
push ecx
push edx
call fcn.004accfd
add esp, 8
mov ecx, dword [ebp - 0x184]
cmp ecx, esi
jbe 0x45c307
xor eax, eax
inc esi
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
cmp ecx, esi
jb 0x45daa5
sub ecx, esi
cmp ecx, 0xffffffff
jb 0x45c1e1
or ecx, 0xffffffff
cmp dword [ebp - 0x180], 7
lea eax, [ebp - 0x194]
jbe 0x45c1f6
mov eax, dword [ebp - 0x194]
push ecx
lea eax, [eax + esi*2]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00403450
xor eax, eax
mov byte [ebp - 4], 0x2f
push 0xa
push 0x4ed9dc
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
call fcn.00403450
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00412b30
mov ecx, eax
lea eax, [ebp - 0x2ac]
cmp ecx, eax
je 0x45c27f
cmp dword [ebp - 0x298], 7
jbe 0x45c273
mov eax, dword [ebp - 0x2ac]
push dword [ebp - 0x29c]
push eax
call fcn.00403a40
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x138]
cmp ecx, 7
jbe 0x45c2c3
mov edx, dword [ebp - 0x14c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45c2b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45daaa
push ecx
push edx
call fcn.004accfd
add esp, 8
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x298]
cmp ecx, 7
jbe 0x45c307
mov edx, dword [ebp - 0x2ac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45c2fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45daaf
push ecx
push edx
call fcn.004accfd
add esp, 8
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x2c
call fcn.004027a0
push dword [ebp - 0x448]
lea eax, [ebp - 0x314]
sub esp, 0x20
mov esi, esp
mov ecx, esi
mov dword [ebp - 0x460], esi
push eax
call fcn.004024d0
add esi, 0x18
mov byte [ebp - 4], 0x31
push 0x40
mov dword [ebp - 0x4fc], esi
mov dword [ebp - 0x4f8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004acccd
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x32
push eax
mov ecx, esi
call fcn.00414150
lea eax, [ebp - 0x4d0]
mov byte [ebp - 4], 0x2c
push eax
lea edx, [ebp - 0x1dc]
lea ecx, [ebp - 0x214]
call fcn.0042b0b0
add esp, 0x28
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x1dc]
cmp dword [ebp - 0x1c8], 7
jbe 0x45c3b9
mov eax, dword [ebp - 0x1dc]
cmp dword [ebp - 0x200], 7
lea ecx, [ebp - 0x214]
jbe 0x45c3ce
mov ecx, dword [ebp - 0x214]
push dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x204]
push eax
call fcn.00405130
add esp, 8
test eax, eax
je 0x45c8e5
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0041ad40
cmp byte [ebp + 0x1d], 0
je 0x45c6e3
mov ecx, dword [ebp + 8]
mov edi, 0x7ffffffe
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x45dab4
cmp dword [ecx + 0x14], 7
jbe 0x45c427
mov ecx, dword [ecx]
push 4
push str..bak
push edx
push ecx
push ecx
push dword [ebp - 0x460]
lea ecx, [ebp - 0x2dc]
call fcn.004069c0
cmp byte [ebp + 0x1e], 0
mov byte [ebp - 4], 0x34
je 0x45c6a2
mov edx, dword [ebp - 0x4ec]
mov eax, edi
mov ecx, dword [edx + 0x10]
lea esi, [edx + 0x10]
sub eax, ecx
cmp eax, 0x13
jb 0x45dab9
cmp dword [edx + 0x14], 7
jbe 0x45c471
mov edx, dword [edx]
push 0x13
push str.grepWinNP3_backup_
push ecx
push edx
push ecx
push dword [ebp - 0x460]
lea ecx, [ebp - 0x22c]
call fcn.004069c0
mov byte [ebp - 4], 0x35
xor eax, eax
mov edx, dword [esi]
mov dword [ebp - 0x14c], eax
inc edx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jb 0x45dabe
sub ecx, edx
cmp ecx, 0xffffffff
jb 0x45c4d1
or ecx, 0xffffffff
cmp dword [eax + 0x14], 7
jbe 0x45c4d9
mov eax, dword [eax]
push ecx
lea eax, [eax + edx*2]
push eax
lea ecx, [ebp - 0x14c]
call fcn.00403450
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x22c]
call fcn.00404a00
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x35
call fcn.004027a0
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x164]
call fcn.00415660
mov esi, eax
lea eax, [ebp - 0x22c]
cmp eax, esi
je 0x45c57a
mov ecx, eax
call fcn.004027a0
mov eax, dword [esi]
mov dword [ebp - 0x22c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x228], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x224], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x220], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x21c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x218], eax
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x164]
call fcn.004027a0
lea ecx, [ebp - 0x22c]
call fcn.00415dd0
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x17c]
call fcn.004158c0
mov esi, eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x21c]
sub edi, ecx
cmp edi, 1
jb 0x45dac3
cmp dword [ebp - 0x218], 7
lea eax, [ebp - 0x22c]
jbe 0x45c5ca
mov eax, dword [ebp - 0x22c]
push 1
push 0x4ebe50
push ecx
push eax
push ecx
push dword [ebp - 0x460]
lea ecx, [ebp - 0x164]
call fcn.004069c0
push esi
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x38
push eax
push dword [ebp - 0x460]
lea ecx, [ebp - 0x14c]
call fcn.00464a90
lea ecx, [ebp - 0x2dc]
call fcn.004027a0
mov eax, dword [ebp - 0x14c]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x2c8], eax
xor eax, eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 7
mov word [ebp - 0x14c], ax
call fcn.004027a0
lea ecx, [ebp - 0x164]
call fcn.004027a0
lea ecx, [ebp - 0x17c]
call fcn.004027a0
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x34
call fcn.004027a0
lea eax, [ebp - 0x2dc]
push eax
call fcn.00444020
cmp dword [ebp - 0x2c8], 7
lea ecx, [ebp - 0x2dc]
jbe 0x45c6c3
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 7
jbe 0x45c6ce
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x2dc]
call fcn.004027a0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 7
jbe 0x45c6ee
mov eax, dword [eax]
push dword [ebp + 0x1b]
lea ecx, [ebp - 0x1e4]
push eax
call fcn.00419e50
test al, al
jne 0x45c8e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x45c8e5
cmp byte [ebp + 0x1b], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 0
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
je 0x45c7aa
mov ecx, dword [ebp + 8]
push 0
push 0
push 3
push 0
push 7
push 0x80000000
call fcn.00402810
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
call esi
mov dword [ebp - 0x450], eax
cmp eax, 0xffffffff
je 0x45c79d
lea ecx, [ebp - 0x4d8]
push ecx
lea ecx, [ebp - 0x4e8]
push ecx
lea ecx, [ebp - 0x4e0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
lea ecx, [ebp - 0x450]
call fcn.00419b60
jmp 0x45c7b0
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 7
jbe 0x45c7bb
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [ebp + 8]
mov edx, eax
and edx, 0xfffffff8
mov dword [ebp - 0x450], eax
cmp dword [ecx + 0x14], 7
jbe 0x45c7d8
mov ecx, dword [ecx]
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edx
push ecx
call edi
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 7
jbe 0x45c7ed
mov eax, dword [eax]
push 0
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00419e50
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x451], al
cmp dword [ecx + 0x14], 7
jbe 0x45c80c
mov ecx, dword [ecx]
push dword [ebp - 0x450]
push ecx
call edi
cmp byte [ebp + 0x1b], 0
je 0x45c895
mov byte [ebp - 0x449], 0
mov edi, 5
test edi, edi
js 0x45c895
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 7
jbe 0x45c836
mov eax, dword [eax]
push 0
push 0
push 3
push 0
push 7
push 0x40000000
push eax
call esi
mov esi, eax
cmp esi, 0xffffffff
je 0x45c87b
lea eax, [ebp - 0x4d8]
push eax
lea eax, [ebp - 0x4e8]
push eax
lea eax, [ebp - 0x4e0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
push esi
setne byte [ebp - 0x449]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
dec edi
cmp byte [ebp - 0x449], 0
jne 0x45c895
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x45c827
cmp byte [ebp - 0x451], 0
jne 0x45c8e5
lea ecx, [ebp - 0x214]
call fcn.004027a0
lea ecx, [ebp - 0x194]
call fcn.004027a0
lea ecx, [ebp - 0x314]
call fcn.0042a370
lea ecx, [ebp - 0x4b8]
call fcn.0042a400
lea ecx, [ebp - 0x4d0]
call fcn.0042a490
lea ecx, [ebp - 0x258]
call fcn.0042a400
jmp 0x45da21
lea ecx, [ebp - 0x214]
call fcn.004027a0
mov ecx, dword [ebp - 0x180]
cmp ecx, 7
jbe 0x45c930
mov edx, dword [ebp - 0x194]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45c926
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45dac8
push ecx
push edx
call fcn.004accfd
add esp, 8
xor eax, eax
mov dword [ebp - 0x184], 0
mov word [ebp - 0x194], ax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x180], 7
push dword [eax + 4]
lea eax, [ebp - 0x2fc]
push eax
mov ecx, eax
call fcn.00405200
push 0x40
push dword [ebp - 0x2fc]
call fcn.004accfd
add esp, 8
lea ecx, [ebp - 0x314]
call fcn.004027a0
mov esi, dword [ebp - 0x498]
or edi, 0xffffffff
test esi, esi
je 0x45c9ab
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45c9ab
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x45c9ab
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x4b8]
call fcn.0042a730
mov esi, dword [ebp - 0x4cc]
test esi, esi
je 0x45c9df
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45c9df
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x45c9df
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x238]
test esi, esi
je 0x45ca08
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45ca08
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x45ca08
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x258]
call fcn.0042a730
jmp 0x45d8a6
mov edx, dword [ebp + 0x15]
mov ecx, dword [ebp - 0x47c]
test ecx, ecx
jne 0x45ca37
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 1
jmp 0x45da21
cmp ecx, 1
jne 0x45ca5a
cmp byte [ebp + 0x17], 0
jne 0x45ca5a
cmp byte [ebp + 0x14], 0
jne 0x45ca5a
test dh, dh
jne 0x45ca5a
or ecx, 0xffffffff
mov dword [ebp - 0x468], ecx
jmp 0x45d8ac
mov eax, dword [ebp + 8]
push ecx
mov dword [eax + 0x40], ecx
lea ecx, [ebp - 0x214]
mov edx, dword [ebp + 8]
call fcn.0041bb20
add esp, 4
mov byte [ebp - 4], 0x3a
cmp dword [ebp - 0x47c], 2
mov edi, dword [ebp - 0x458]
mov edx, edi
push ecx
jne 0x45ca9f
lea ecx, [ebp - 0x32c]
call fcn.0041bb20
add esp, 4
or dword [ebp - 0x448], 4
jmp 0x45cab4
lea ecx, [ebp - 0x164]
call fcn.0041ba20
add esp, 4
or dword [ebp - 0x448], 8
push eax
lea ecx, [ebp - 0x17c]
call fcn.0040e840
mov dword [ebp - 4], 0x3c
mov eax, dword [ebp - 0x448]
test al, 8
je 0x45caeb
and eax, 0xfffffff7
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x448], eax
call fcn.0040e8d0
mov eax, dword [ebp - 0x448]
mov byte [ebp - 4], 0x3d
test al, 4
je 0x45cb07
and eax, 0xfffffffb
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x448], eax
call fcn.0040e8d0
cmp byte [ebp + 0x18], 0
jne 0x45cb59
push ecx
lea ecx, [ebp - 0x17c]
call fcn.00419590
push ecx
mov edx, edi
lea ecx, [ebp - 0x244]
call fcn.0041ba20
add esp, 4
push eax
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x3e
call fcn.0042ee90
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x3d
call fcn.0040e8d0
push 0x4f09d8
lea ecx, [ebp - 0x17c]
call fcn.0042a5e0
push ecx
lea ecx, [ebp - 0x52c]
call fcn.0042a440
cmp byte [ebp + 0x1a], 0
mov esi, 0x2000000
mov dword [ebp - 0x464], esi
jne 0x45cb81
mov esi, 0x2000040
mov dword [ebp - 0x464], esi
xor edi, edi
cmp byte [ebp + 0x19], 0
jne 0x45cb8e
mov edi, 0x100000
push edi
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x484]
call fcn.004632a0
mov dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4c0], 0
mov dword [ebp - 0x4bc], 0
xor al, al
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x214]
mov byte [ebp - 0x451], al
call fcn.0040e920
push eax
lea ecx, [ebp - 0x164]
call fcn.0040b700
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x33c]
call fcn.0045f6c0
lea ecx, [ebp - 0x164]
call fcn.0040e8d0
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x374]
call fcn.0045f7a0
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x33c]
call fcn.00463320
push ecx
lea ecx, [ebp - 0x27c]
call fcn.0045f630
mov byte [ebp - 4], 0x48
jmp 0x45cc40
push esi
sub esp, 0x10
lea eax, [ebp - 0x38c]
mov ecx, esp
push eax
call fcn.0045f7a0
sub esp, 0x10
lea eax, [ebp - 0x33c]
mov ecx, esp
push eax
call fcn.0045f7a0
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x27c]
call fcn.00463340
add esp, 0x24
test al, al
je 0x45cd8f
mov al, byte [0x507a32]
test al, al
jne 0x45cd8f
inc dword [ebp - 0x468]
mov al, byte [0x507a33]
test al, al
jne 0x45cd8f
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
cmp byte [ebp - 0x230], al
je 0x45ccbb
cmp esi, ecx
je 0x45dacd
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
lea ecx, [esi + 0x48]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jg 0x45ccdc
lea ecx, [ebp - 0x260]
mov ecx, dword [ecx + 0xc]
sub ecx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x450], ecx
cmp eax, dword [ebp - 0x4bc]
je 0x45cd06
mov dword [eax], ecx
add eax, 4
mov dword [ebp - 0x4c0], eax
jmp 0x45cd19
lea ecx, [ebp - 0x450]
push ecx
push eax
lea ecx, [ebp - 0x4c4]
call fcn.00408e40
mov eax, dword [ebp + 8]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
cmp byte [ebp - 0x230], 0
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
je 0x45cd41
cmp esi, ecx
je 0x45dad2
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [esi + 0x48]
jg 0x45cd62
lea eax, [ebp - 0x260]
add eax, 0x10
lea ecx, [ebp - 0x33c]
push eax
call fcn.0045f730
mov esi, dword [ebp - 0x464]
or esi, 0x104
mov byte [ebp - 0x451], 1
mov dword [ebp - 0x464], esi
jmp 0x45cc40
lea ecx, [ebp - 0x27c]
call fcn.0045f5c0
lea ecx, [ebp - 0x38c]
call fcn.00442370
lea ecx, [ebp - 0x374]
call fcn.00442370
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 0x42
call fcn.00442370
cmp dword [ebp - 0x47c], 1
jne 0x45cfee
cmp byte [ebp + 0x1f], 0
jne 0x45cfee
push edi
mov edi, dword [ebp - 0x458]
lea ecx, [ebp - 0x4fc]
push edi
call fcn.0042b030
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x49
call fcn.0040e920
push eax
lea ecx, [ebp - 0x164]
call fcn.0040b700
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x35c]
call fcn.0045f6c0
lea ecx, [ebp - 0x164]
call fcn.0040e8d0
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x144]
call fcn.0045f7a0
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x35c]
call fcn.00463320
push ecx
lea ecx, [ebp - 0x27c]
call fcn.0045f630
mov byte [ebp - 4], 0x4f
lea esp, [esp]
push esi
sub esp, 0x10
lea eax, [ebp - 0x1f4]
mov ecx, esp
lea esi, [ebp - 0x484]
lea edi, [ebp - 0x27c]
push eax
call fcn.0045f7a0
sub esp, 0x10
lea eax, [ebp - 0x35c]
mov ecx, esp
push eax
call fcn.0045f7a0
mov edx, esi
mov ecx, edi
call fcn.00463340
add esp, 0x24
test al, al
je 0x45cfb3
mov al, byte [0x507a32]
test al, al
jne 0x45cfb3
inc dword [ebp - 0x468]
mov al, byte [0x507a33]
test al, al
jne 0x45cfb3
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
cmp byte [ebp - 0x230], al
je 0x45cedf
cmp esi, ecx
je 0x45dad7
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
lea ecx, [esi + 0x48]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jg 0x45cf00
lea ecx, [ebp - 0x260]
mov ecx, dword [ecx + 0xc]
sub ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x450], ecx
cmp eax, dword [ebp - 0x4bc]
je 0x45cf2a
mov dword [eax], ecx
add eax, 4
mov dword [ebp - 0x4c0], eax
jmp 0x45cf3d
lea ecx, [ebp - 0x450]
push ecx
push eax
lea ecx, [ebp - 0x4c4]
call fcn.00408e40
mov eax, dword [ebp + 8]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], 0
cmp byte [ebp - 0x230], 0
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
je 0x45cf65
cmp esi, ecx
je 0x45dadc
sub ecx, esi
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
lea eax, [esi + 0x48]
jg 0x45cf86
lea eax, [ebp - 0x260]
add eax, 0x10
lea ecx, [ebp - 0x35c]
push eax
call fcn.0045f730
mov esi, dword [ebp - 0x464]
or esi, 0x104
mov byte [ebp - 0x451], 1
mov dword [ebp - 0x464], esi
jmp 0x45ce60
lea ecx, [ebp - 0x27c]
call fcn.0045f5c0
lea ecx, [ebp - 0x1f4]
call fcn.00442370
lea ecx, [ebp - 0x144]
call fcn.00442370
lea ecx, [ebp - 0x35c]
call fcn.00442370
lea ecx, [ebp - 0x4fc]
mov byte [ebp - 4], 0x42
call fcn.0042a490
cmp byte [ebp - 0x451], 0
je 0x45d86f
mov al, byte [0x507a32]
test al, al
jne 0x45d86f
cmp byte [ebp - 0x449], al
jne 0x45d1ff
cmp dword [ebp - 0x47c], 1
je 0x45d1ff
mov al, byte [0x507a33]
test al, al
jne 0x45d1ff
call fcn.0045fe80
mov dword [ebp - 0x458], 0xffffffff
mov byte [ebp - 4], 0x50
xor edi, edi
test edi, edi
je 0x45d04f
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp + 8]
push 0
push 0x8000000
push 3
push 0
push 7
push 0x80000000
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x450], eax
lea ecx, [ebp - 0x458]
lea eax, [ebp - 0x450]
push eax
call fcn.0045f820
mov esi, dword [ebp - 0x458]
inc edi
cmp esi, 0xffffffff
jne 0x45d09e
cmp edi, 5
jl 0x45d043
jmp 0x45d1f0
mov edx, 0x1000
lea ecx, [ebp - 0x470]
call fcn.00413e70
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x45c], 0
push 0
lea eax, [ebp - 0x478]
push eax
push 0x1000
push dword [ebp - 0x470]
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x45d195
cmp dword [ebp - 0x478], 0
je 0x45d195
xor edi, edi
jmp 0x45d100
mov edx, dword [ebp - 0x478]
cmp edi, edx
jae 0x45d0c6
mov eax, dword [ebp - 0x470]
mov cl, byte [edi + eax]
cmp cl, 0xd
jne 0x45d163
mov ecx, dword [ebp - 0x45c]
inc edi
inc ecx
mov dword [ebp - 0x45c], ecx
cmp edi, edx
jae 0x45d0c6
cmp byte [edi + eax], 0xa
mov eax, dword [0x507a78]
je 0x45d16d
mov dword [ebp - 0x488], eax
lea eax, [ecx - 1]
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x450]
push eax
call fcn.0045fd80
mov ecx, eax
mov eax, dword [ebp - 0x488]
mov dword [ecx], eax
inc dword [ebp - 0x45c]
inc edi
jmp 0x45d100
cmp cl, 0xa
jne 0x45d189
mov eax, dword [0x507a78]
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x45c]
push eax
call fcn.0045fd80
mov ecx, eax
mov eax, dword [ebp - 0x450]
mov dword [ecx], eax
inc dword [ebp - 0x45c]
inc edi
jmp 0x45d100
mov esi, dword [ebp - 0x4c4]
mov edi, dword [ebp - 0x4c0]
cmp esi, edi
je 0x45d1e5
jmp 0x45d1b0
mov eax, dword [esi]
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.0045fe40
mov eax, dword [ebp - 0x46c]
cmp eax, dword [0x507a74]
je 0x45d1de
mov eax, dword [eax + 0x14]
mov dword [esi], eax
add esi, 4
cmp esi, edi
jne 0x45d1b0
lea ecx, [ebp - 0x470]
call fcn.004033b0
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x42
call fcn.00419b60
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ecx + 0x20]
call fcn.00460f10
cmp byte [ebp + 0x1f], 0
je 0x45d86f
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x1fc]
push str..bak
call fcn.004066e0
add esp, 4
cmp byte [ebp + 0x1d], 0
mov byte [ebp - 4], 0x52
je 0x45d379
cmp byte [ebp + 0x1e], 0
je 0x45d34e
mov esi, dword [ebp - 0x4ec]
lea ecx, [ebp - 0x14c]
push str.grepWinNP3_backup_
mov edx, esi
call fcn.004066e0
add esp, 4
mov byte [ebp - 4], 0x53
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 8]
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.004058a0
push eax
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x54
call fcn.00412cd0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x53
call fcn.004027a0
lea edx, [ebp - 0x14c]
lea ecx, [ebp - 0x244]
call fcn.00415660
push eax
lea ecx, [ebp - 0x14c]
call fcn.004033c0
lea ecx, [ebp - 0x244]
call fcn.004027a0
lea ecx, [ebp - 0x14c]
call fcn.00415dd0
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x164]
call fcn.004158c0
mov esi, eax
push 0x4ebe50
lea edx, [ebp - 0x14c]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x32c]
call fcn.004066e0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x244]
call fcn.00462f80
add esp, 4
lea ecx, [ebp - 0x1fc]
push eax
call fcn.004033c0
lea ecx, [ebp - 0x244]
call fcn.004027a0
lea ecx, [ebp - 0x32c]
call fcn.004027a0
lea ecx, [ebp - 0x164]
call fcn.004027a0
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x52
call fcn.004027a0
lea ecx, [ebp - 0x1fc]
call fcn.00402810
mov ecx, dword [ebp + 8]
mov esi, eax
call fcn.00402810
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1fc]
push eax
call fcn.00444020
mov edx, dword [ebp - 0x4c8]
and dword [ebp - 0x464], 0xfffffefb
push ecx
lea ecx, [ebp - 0x244]
call fcn.0041ba20
add esp, 4
push eax
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x57
call fcn.004423b0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x59
call fcn.0040e8d0
mov edx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x32c]
call fcn.0041ba20
add esp, 4
mov esi, eax
push str._filepath
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x5a
call fcn.0040b700
push esi
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [ebp - 0x34c]
call fcn.00442980
lea ecx, [ebp - 0x164]
call fcn.0040e8d0
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x59
call fcn.0040e8d0
push ecx
mov ecx, dword [ebp + 8]
push 0x5c
call fcn.00419110
mov ecx, dword [ebp + 8]
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x32c]
push eax
call fcn.004058a0
push ecx
mov edx, eax
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x37c]
call fcn.0041ba20
add esp, 4
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x5e
call fcn.004027a0
sub esp, 8
lea ecx, [ebp - 0x37c]
call fcn.00461010
mov esi, eax
cmp esi, 0xffffffff
je 0x45d536
push esi
push 0
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00460fc0
push str._filename
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x5f
call fcn.0040b700
lea eax, [ebp - 0x364]
mov byte [ebp - 4], 0x60
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00442980
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x5f
call fcn.0040e8d0
cmp dword [ebp - 0x2e4], esi
jbe 0x45d527
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x37c]
call fcn.00460fc0
push str._fileext
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x61
call fcn.0040b700
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x62
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00442980
lea ecx, [ebp - 0x164]
call fcn.0040e8d0
lea ecx, [ebp - 0x14c]
call fcn.0040e8d0
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0x5e
call fcn.0040e8d0
cmp byte [ebp + 0x1b], 0
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 0
je 0x45d5c8
mov ecx, dword [ebp + 8]
push 0
push 0
push 3
push 0
push 7
push 0x80000000
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x46c], eax
cmp eax, 0xffffffff
je 0x45d5bd
lea ecx, [ebp - 0x4e0]
push ecx
lea ecx, [ebp - 0x4e8]
push ecx
lea ecx, [ebp - 0x4d8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
lea ecx, [ebp - 0x46c]
call fcn.00419b60
cmp byte [ebp + 0x1d], 0
je 0x45d5e9
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x164]
call fcn.0040b740
or dword [ebp - 0x448], 0x10
jmp 0x45d605
push ecx
lea edx, [ebp - 0x214]
lea ecx, [ebp - 0x244]
call fcn.00463430
add esp, 4
or dword [ebp - 0x448], 0x20
push eax
lea ecx, [ebp - 0x394]
call fcn.0040e840
mov dword [ebp - 4], 0x64
mov eax, dword [ebp - 0x448]
test al, 0x20
je 0x45d63c
and eax, 0xffffffdf
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x448], eax
call fcn.0040e8d0
mov eax, dword [ebp - 0x448]
mov byte [ebp - 4], 0x65
test al, 0x10
je 0x45d658
and eax, 0xffffffef
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x448], eax
call fcn.0040e8d0
cmp byte [ebp + 0x1d], 0
jne 0x45d695
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x32c]
push str..grepwinreplaced
call fcn.004066e0
add esp, 4
push eax
mov byte [ebp - 4], 0x66
call fcn.00444020
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x65
call fcn.004027a0
lea ecx, [ebp - 0x214]
jmp 0x45d6b7
push ecx
lea edx, [ebp - 0x1fc]
lea ecx, [ebp - 0x30c]
call fcn.0041bb20
add esp, 4
mov byte [ebp - 4], 0x67
mov ecx, eax
or dword [ebp - 0x448], 0x40
call fcn.0040e920
sub esp, 0xc
mov dword [ebp - 0x46c], eax
lea eax, [ebp - 0x46c]
lea ecx, [ebp - 0x4d0]
push eax
call fcn.00463480
mov dword [ebp - 4], 0x69
mov ecx, dword [ebp - 0x448]
test cl, 0x40
je 0x45d6f4
lea ecx, [ebp - 0x30c]
call fcn.0040e8d0
sub esp, 0xc
lea ecx, [ebp - 0x394]
call fcn.0040e920
push eax
lea ecx, [ebp - 0x444]
call fcn.0045f9d0
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x6a
call fcn.004ae760
lea ecx, [ebp - 0x4d0]
mov edi, eax
call fcn.004ae4f0
push dword [ebp - 0x464]
mov esi, eax
lea eax, [ebp - 0x34c]
sub esp, 0x20
mov ecx, esp
push eax
call fcn.0045db60
lea eax, [ebp - 0x484]
mov edx, esi
push eax
push edi
lea eax, [ebp - 0x444]
push eax
push 0
lea ecx, [ebp - 0x4f4]
call fcn.00463680
add esp, 0x34
lea ecx, [ebp - 0x444]
call fcn.0045f930
lea ecx, [ebp - 0x4d0]
call fcn.004ae730
cmp byte [ebp + 0x1d], 0
jne 0x45d7a2
lea ecx, [ebp - 0x214]
call fcn.0040e920
lea ecx, [ebp - 0x394]
mov esi, eax
call fcn.0040e920
push 1
push esi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
cmp byte [ebp + 0x1b], 0
je 0x45d82d
mov edi, dword [sym.imp.KERNEL32.dll_SetFileTime]
mov esi, 5
mov byte [ebp - 0x449], 0
mov edi, edi
test esi, esi
js 0x45d82d
mov ecx, dword [ebp + 8]
push 0
push 0
push 3
push 0
push 7
push 0x40000000
call fcn.00402810
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x46c], eax
cmp eax, 0xffffffff
je 0x45d80e
lea ecx, [ebp - 0x4e0]
push ecx
lea ecx, [ebp - 0x4e8]
push ecx
lea ecx, [ebp - 0x4d8]
push ecx
push eax
call edi
test eax, eax
setne byte [ebp - 0x449]
lea ecx, [ebp - 0x46c]
call fcn.00419b60
dec esi
cmp byte [ebp - 0x449], 0
jne 0x45d82d
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x45d7c0
lea ecx, [ebp - 0x444]
call fcn.004507d0
lea ecx, [ebp - 0x4d0]
call fcn.00442370
lea ecx, [ebp - 0x394]
call fcn.0040e8d0
lea ecx, [ebp - 0x37c]
call fcn.0040e8d0
lea ecx, [ebp - 0x34c]
call fcn.0045daf0
lea ecx, [ebp - 0x1fc]
call fcn.004027a0
lea ecx, [ebp - 0x4c4]
call fcn.0041b770
lea ecx, [ebp - 0x484]
call fcn.0042a490
lea ecx, [ebp - 0x52c]
call fcn.0042a400
lea ecx, [ebp - 0x17c]
call fcn.0040e8d0
lea ecx, [ebp - 0x214]
call fcn.0040e8d0
mov ecx, dword [ebp - 0x468]
mov al, byte [0x507a33]
or edi, 0xffffffff
test al, al
je 0x45d960
xor eax, eax
test ecx, ecx
setle al
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0
test eax, eax
je 0x45d8e6
push eax
call fcn.004ad06e
add esp, 4
lea ecx, [ebp - 0x1b4]
call fcn.004027a0
lea ecx, [ebp - 0x1c4]
call fcn.0041b770
lea ecx, [ebp - 0x1dc]
call fcn.004027a0
mov eax, dword [ebp - 0x1e4]
test eax, eax
je 0x45d91a
push eax
call fcn.004ad06e
add esp, 4
lea ecx, [ebp - 0x2f4]
call fcn.004027a0
lea ecx, [ebp - 0x294]
call fcn.004027a0
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x45d955
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45d955
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x45d955
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x46c]
jmp 0x45da4d
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0
test eax, eax
je 0x45d97d
push eax
call fcn.004ad06e
add esp, 4
lea ecx, [ebp - 0x1b4]
call fcn.004027a0
lea ecx, [ebp - 0x1c4]
call fcn.0041b770
lea ecx, [ebp - 0x1dc]
call fcn.004027a0
mov eax, dword [ebp - 0x1e4]
test eax, eax
je 0x45d9b1
push eax
call fcn.004ad06e
add esp, 4
lea ecx, [ebp - 0x2f4]
call fcn.004027a0
lea ecx, [ebp - 0x294]
call fcn.004027a0
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x45d9ec
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x45d9ec
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x45d9ec
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov eax, dword [ebp - 0x468]
jmp 0x45da4d
lea ecx, [ebp - 0x1e4]
call fcn.00419dc0
lea ecx, [ebp - 0x2f4]
call fcn.004027a0
lea ecx, [ebp - 0x294]
call fcn.004027a0
lea ecx, [ebp + 8]
call fcn.0042a490
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004accbf
mov esp, ebp
pop ebp
ret
call fcn.0042a610
call fcn.004b306f
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.004b306f
call fcn.00404b30
call fcn.004b306f
call fcn.00404b30
call fcn.004b306f
call fcn.004b306f
call fcn.004026f0
call fcn.004026f0
call fcn.00404b30
call fcn.004026f0
call fcn.004b306f
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
call fcn.0042a610
int3