Function at 0x91ce30
Capabilities:
Get common file path

Disassembly:
mov eax, 0x31b4
call fcn.00a91950
mov eax, dword [0xb196ec]
xor eax, esp
mov dword [esp + 0x31ac], eax
mov eax, dword [esp + 0x31c0]
push ebx
push ebp
mov ebp, dword [esp + 0x31c0]
push esi
mov esi, dword [esp + 0x31e0]
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x31ec]
mov edi, edx
mov edx, dword [esp + 0x31e8]
xor ebx, ebx
push 0x3ff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x31f4]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x31f8]
lea eax, [esp + 0x9ad]
push ebx
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], 0x5000
mov byte [esp + 0x9b4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x3ff
lea ecx, [esp + 0x29ad]
push ebx
push ecx
mov byte [esp + 0x29b4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x11ad]
push ebx
push edx
mov byte [esp + 0x11b4], bl
call fcn.00a7ffb0
mov eax, dword [esp + 0x31ec]
add esp, 0xc
push 0x40f
lea ecx, [esp + 0x2dad]
push ebx
push ecx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x2db4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x40f
lea edx, [esp + 0x19d]
push ebx
push edx
mov byte [esp + 0x1a4], bl
call fcn.00a7ffb0
add esp, 0xc
call fcn.0091ccf0
mov dword [esp + 0x2c], eax
cmp edi, ebx
je 0x91cf50
mov byte [edi], bl
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x91cf5a
mov byte [eax], bl
cmp esi, ebx
je 0x91cf60
mov dword [esi], ebx
cmp ebp, ebx
je 0x91dea0
cmp byte [ebp], bl
je 0x91dea0
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x91dea0
cmp byte [eax], bl
je 0x91dea0
lea edi, [esp + 0x1c]
call fcn.0091cbd0
or esi, 0xffffffff
cmp dword [0xb4bd20], esi
je 0x91cfa1
cmp dword [0xbd6590], ebx
je 0x91cfdf
push 0xb4bd20
push str.DWCheckFileSizeForIntegrity
mov ecx, str.SOFTWAREMicroWorld
mov edx, 0x80000002
call fcn.0094c0d0
test al, al
jne 0x91cfdf
mov dword [0xb4bd20], ebx
xor eax, eax
mov esi, str.DWCheckFileSizeForIntegrity
mov ebx, str.SOFTWAREMicroWorld
mov ecx, 0x80000002
call fcn.0094be90
xor ebx, ebx
or esi, 0xffffffff
cmp dword [0xb4bd24], esi
je 0x91cfef
cmp dword [0xbd6590], ebx
je 0x91cff9
call fcn.0091ded0
mov dword [0xb4bd24], eax
cmp dword [0xb4bd28], esi
je 0x91d009
cmp dword [0xbd6590], ebx
je 0x91d046
push 0xb4bd28
push str.DWMinDiskSpaceRequiredMB
mov ecx, str.SOFTWAREMicroWorld
mov edx, 0x80000002
call fcn.0094c0d0
test al, al
jne 0x91d046
mov eax, 0x1f4
mov esi, str.DWMinDiskSpaceRequiredMB
mov ebx, str.SOFTWAREMicroWorld
mov ecx, 0x80000002
mov dword [0xb4bd28], eax
call fcn.0094be90
xor ebx, ebx
mov dword [0xbd6590], ebx
cmp dword [0xb4bd24], ebx
jne 0x91d076
cmp dword [esp + 0x14], ebx
je 0x91deb2
mov edi, dword [esp + 0x14]
mov ecx, 7
mov esi, str.Error:_File_Backup_Is_Disabled
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x91deb2
mov esi, ebp
call fcn.00966c80
test eax, eax
jne 0x91d0a0
cmp dword [esp + 0x14], ebx
je 0x91deb2
mov edi, dword [esp + 0x14]
mov ecx, 8
mov esi, str.Error:_File_Not_on_Fixed_Drive.
rep movsd dword es:[edi], dword [esi]
jmp 0x91deb2
lea edx, [esp + 0x2da8]
mov eax, ebp
sub edx, ebp
jmp 0x91d0b0
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x91d0b0
push 0x410
lea ebx, [esp + 0x19c]
lea esi, [esp + 0x2dac]
call fcn.00957fa0
add esp, 4
cmp byte [esp + 0x198], 0
jne 0x91d0f4
xor eax, eax
mov cl, byte [esp + eax + 0x2da8]
mov byte [esp + eax + 0x198], cl
inc eax
test cl, cl
jne 0x91d0e1
lea eax, [esp + 0x198]
push eax
call fcn.0091c950
add esp, 4
test eax, eax
je 0x91d128
cmp dword [esp + 0x14], 0
je 0x91deb2
mov edi, dword [esp + 0x14]
mov ecx, 9
mov esi, str.Error:_File_In_Backup_Exclude_List.
rep movsd dword es:[edi], dword [esi]
jmp 0x91deb2
mov eax, dword [esp + 0x31d8]
test eax, eax
je 0x91d170
cmp byte [eax], 0
je 0x91d170
lea edx, [esp + 0x9a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x91d141
mov eax, dword [esp + 0x31dc]
test eax, eax
je 0x91d1ae
cmp byte [eax], 0
je 0x91d1ae
lea edx, [esp + 0x29a8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x91d164
jmp 0x91d1c5
lea ebx, [esp + 0x9a8]
lea eax, [esp + 0x198]
call fcn.0096ff30
cmp byte [esp + 0x9a8], 0
jne 0x91d14b
cmp dword [esp + 0x14], 0
je 0x91deb2
mov edi, dword [esp + 0x14]
mov ecx, 6
mov esi, str.Error:_Extension_Missing
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x91deb2
lea ecx, [esp + 0x29a8]
push ecx
lea ecx, [esp + 0x19c]
call fcn.0095af90
add esp, 4
push 7
lea edx, [esp + 0x29ac]
push 0xae1d4c
push edx
call fcn.00a7be09
add esp, 0xc
test eax, eax
jne 0x91d1fb
cmp dword [esp + 0x14], eax
je 0x91deb2
mov edi, dword [esp + 0x14]
lea ecx, [eax + 0xb]
mov esi, str.Error:_File_Is_Backup_Created_After_An_Update
jmp 0x91deae
cmp dword [esp + 0x31d4], 0
jne 0x91d2fe
mov eax, 0xaaab94
lea ecx, [esp + 0x9a8]
call fcn.0094c330
test eax, eax
je 0x91d2fe
mov eax, 0xadea48
lea ecx, [esp + 0x9a8]
call fcn.0094c330
test eax, eax
je 0x91d2fe
mov eax, 0xaaaba4
lea ecx, [esp + 0x9a8]
call fcn.0094c330
test eax, eax
je 0x91d2fe
mov eax, 0xaaaba8
lea ecx, [esp + 0x9a8]
call fcn.0094c330
test eax, eax
je 0x91d2fe
mov eax, 0xaaab98
lea ecx, [esp + 0x9a8]
call fcn.0094c330
test eax, eax
jne 0x91d2db
cmp dword [0xb4bd2c], 0xffffffff
je 0x91d293
cmp dword [0xbd6590], eax
je 0x91d2d2
push 0xb4bd2c
push str.DWBackupDLLs
mov ecx, str.SOFTWAREMicroWorld
mov edx, 0x80000002
call fcn.0094c0d0
test al, al
jne 0x91d2d2
xor eax, eax
cmp dword [esp + 0x2c], eax
mov esi, str.DWBackupDLLs
setne al
mov ebx, str.SOFTWAREMicroWorld
mov ecx, 0x80000002
mov dword [0xb4bd2c], eax
call fcn.0094be90
cmp dword [0xb4bd2c], 1
je 0x91d2fe
cmp dword [esp + 0x14], 0
je 0x91deb2
mov edi, dword [esp + 0x14]
mov ecx, 0xd
mov esi, str.Error:_File_Extension_Not_Present_In_Pre_Defined_List.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x91deb2
cmp dword [esp + 0x28], 0
je 0x91d316
mov esi, dword [esp + 0x28]
mov ecx, 0x50
lea edi, [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
jmp 0x91d32a
push 0x140
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.00a7ffb0
add esp, 0xc
push 0x3ff
xor ebx, ebx
lea ecx, [esp + 0x25ad]
push ebx
push ecx
mov byte [esp + 0x25b4], 0
call fcn.00a7ffb0
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x21ad]
push ebx
push edx
mov byte [esp + 0x21b4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x3ff
lea eax, [esp + 0x1dad]
push ebx
push eax
mov byte [esp + 0x1db4], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x1db0]
push eax
lea ecx, [esp + 0x25b4]
push ecx
lea edx, [esp + 0x1a8]
push edx
lea edx, [esp + 0x48]
lea ecx, [esp + 0x21bc]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.0091c350
mov ebp, eax
add esp, 0x14
mov dword [esp + 0x20], ebp
cmp ebp, ebx
jne 0x91d474
lea esi, [esp + 0x198]
call fcn.0091cc70
test eax, eax
je 0x91d40b
mov edi, dword [esp + 0x14]
cmp edi, ebx
je 0x91deb2
mov ecx, 0x10
mov esi, str.Error:_File_possibly_a_temp_file_or_located_in_a_temporary_folder.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x91deb2
lea eax, [esp + 0x9a8]
push eax
call fcn.00904ac0
add esp, 4
test eax, eax
jne 0x91d474
lea ecx, [esp + 0x9a8]
push ecx
lea edx, [esp + 0x15ac]
push 0xae1e14
push edx
call fcn.00a78f30
lea eax, [esp + 0x15b4]
add esp, 0xc
push eax
lea ecx, [esp + 0x19c]
call 0x91be00
add esp, 4
test eax, eax
jne 0x91d474
mov edi, dword [esp + 0x14]
cmp edi, ebx
je 0x91deb2
mov ecx, 0xf
mov esi, str.Error:_File_Extension_Is_Not_Present_In_VR_and_BK.AVS_List.
rep movsd dword es:[edi], dword [esi]
jmp 0x91deb2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x28], ebx
jne 0x91d495
mov ecx, dword [esp + 0x24]
push ecx
lea edi, [esp + 0x5c]
lea ebx, [esp + 0x19c]
call fcn.009834f0
xor ebx, ebx
cmp ebp, 1
jne 0x91d550
cmp dword [esp + 0x50], ebx
jne 0x91d550
cmp dword [esp + 0x4c], ebx
jne 0x91d550
cmp dword [esp + 0x48], ebx
jne 0x91d550
cmp dword [esp + 0x44], ebx
jne 0x91d550
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
cmp esi, ebx
jne 0x91d4e4
cmp dword [esp + 0x5c], ebx
jne 0x91d4e4
cmp edi, ebx
jne 0x91d4e4
cmp ebp, ebx
je 0x91d550
lea edx, [esp + 0x198]
push edx
lea eax, [esp + 0x5ac]
push str.SOFTWAREMicroWorldFBackUp_s
push eax
call fcn.00a78f30
mov eax, esi
add esp, 0xc
mov esi, str.ftCreate.dwHighDateTime
lea ebx, [esp + 0x5a8]
mov ecx, 0x80000002
call fcn.0094be90
mov eax, dword [esp + 0x5c]
mov esi, str.ftCreate.dwLowDateTime
mov ecx, 0x80000002
call fcn.0094be90
mov eax, edi
mov esi, str.ftLastWrite.dwHighDateTime
mov ecx, 0x80000002
call fcn.0094be90
mov eax, ebp
mov esi, str.ftLastWrite.dwLowDateTime
mov ecx, 0x80000002
call fcn.0094be90
xor ebx, ebx
cmp dword [esp + 0x31e0], ebx
jne 0x91d56f
mov eax, dword [esp + 0x78]
cmp eax, ebx
jne 0x91d575
lea ecx, [esp + 0x198]
call fcn.0095a310
jmp 0x91d573
mov eax, dword [esp + 0x40]
cmp eax, ebx
mov ebx, dword [esp + 0x20]
ja 0x91d5a4
test ebx, ebx
jne 0x91d5a4
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91d595
mov ecx, 7
mov esi, str.Error:_File_is_of_Zero_bytes.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [esp + 0x18]
push ecx
call fcn.00985290
jmp 0x91deb2
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x91d5e0
shl ecx, 0xa
cmp eax, ecx
jbe 0x91d5e0
test ebx, ebx
jne 0x91d5e0
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91d5cd
mov ecx, 0xc
mov esi, str.Error:_File_is_more_than_permissible_backup_size.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
push 0x3ff
lea eax, [esp + 0x5ad]
push 0
push eax
mov byte [esp + 0x5b4], 0
call fcn.00a7ffb0
add esp, 0xc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x60]
push ecx
push 0
lea edx, [esp + 0x11d0]
push edx
lea eax, [esp + 0x1c4]
push eax
lea edx, [esp + 0x50]
xor ecx, ecx
call fcn.0096d300
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
jne 0x91d76b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp dword [esp + 0x24], 0
mov ebp, eax
je 0x91d746
push 0x2000000
push 3
push 3
push 0x80000000
lea edi, [esp + 0x1a8]
call fcn.0094db00
add esp, 0x10
mov dword [esp + 0x1c], eax
cmp eax, 0xffffffff
jne 0x91d73c
call esi
cmp eax, 5
je 0x91d68e
cmp eax, 0x20
jne 0x91d746
lea ecx, [esp + 0x15a8]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x91d6b8
push 0xaaa51c
lea edx, [esp + 0x15ac]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x19a8]
push eax
push 0
push 0xae1ea8
lea ecx, [esp + 0x15b4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov edx, dword [esp + 0x24]
push 0
push 0
push 0
push edx
lea eax, [esp + 0x19b8]
push eax
lea ecx, [esp + 0x1ac]
call fcn.0098a370
add esp, 0x14
cmp eax, 1
jne 0x91d746
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x60]
push ecx
push 0
lea edx, [esp + 0x11d0]
push edx
lea eax, [esp + 0x19d4]
push eax
lea edx, [esp + 0x50]
xor ecx, ecx
call fcn.0096d300
lea eax, [esp + 0x19a8]
call fcn.0094dd20
jmp 0x91d746
lea ecx, [esp + 0x1c]
push ecx
call fcn.00985290
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
call esi
push 0x400
mov edi, eax
lea esi, [esp + 0x5ac]
call fcn.00960a40
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 4
cmp byte [esp + 0x11a8], 0
mov ebp, 1
jne 0x91d7db
cmp dword [0xb4bd20], 0
jne 0x91d7db
test ebx, ebx
jne 0x91d7db
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91d7cc
cmp byte [esp + 0x5a8], bl
je 0x91d7bd
lea edx, [esp + 0x5a8]
push edx
push str.Error:_Unable_to_get_Version_Information___s
push edi
call fcn.00a78f30
add esp, 0xc
lea eax, [esp + 0x18]
push eax
call fcn.00985290
jmp 0x91deb2
mov ecx, 0xb
mov esi, str.Error:_File_Does_Not_Have_Version_Information.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x18]
push eax
call fcn.00985290
jmp 0x91deb2
cmp dword [0xbf9d04], 0
jne 0x91d7f3
mov eax, dword [esp + 0x30]
call fcn.00974c00
mov dword [0xbf9d04], ebp
push 0x3ff
lea ecx, [esp + 0xdad]
push 0
push ecx
mov byte [esp + 0xdb4], 0
call fcn.00a7ffb0
mov esi, dword [esp + 0x60]
add esp, 0xc
test esi, esi
je 0x91d959
cmp byte [esi], 0
je 0x91d959
push esi
lea edx, [esp + 0xdac]
push edx
call edi
test ebx, ebx
jne 0x91d9b0
cmp dword [esp + 0x31cc], ebp
jne 0x91da3e
cmp dword [esp + 0x2c], ebx
jne 0x91d9ec
cmp byte [0xbf9d08], bl
jne 0x91d8e6
push 0x104
push 0xbf9d08
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov ecx, 0xbf9d08
call fcn.00960910
mov eax, 0xbf9d08
cmp byte [0xbf9d08], bl
je 0x91d88b
add eax, ebp
cmp byte [eax], 0
jne 0x91d884
sub eax, 0xbf9d08
mov dword [0xc11714], eax
call fcn.00968110
test eax, eax
je 0x91d8e6
push 0xbf9d08
push 0xbf9e10
mov dword [0xbf9f14], ebp
call edi
push str.SysWow64_
push str.System32_
push 0xbf9e10
call fcn.0095e130
add esp, 0xc
cmp byte [0xbf9e10], 0
mov eax, 0xbf9e10
je 0x91d8dc
add eax, ebp
cmp byte [eax], 0
jne 0x91d8d5
sub eax, 0xbf9e10
mov dword [0xc11710], eax
mov eax, dword [0xc11714]
push eax
mov eax, 0xbf9d08
lea ecx, [esp + 0x19c]
call fcn.0094c380
add esp, 4
test eax, eax
je 0x91d9ec
cmp dword [0xbf9f14], ebp
jne 0x91d933
mov ecx, dword [0xc11710]
push ecx
mov eax, 0xbf9e10
lea ecx, [esp + 0x19c]
call fcn.0094c380
add esp, 4
test eax, eax
je 0x91d9ec
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91d94a
mov ecx, 0xa
mov esi, str.Error:_File_NOT_part_of_Sys32_Folder_tree.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
mov eax, dword [esp + 0x24]
push 0
push eax
lea ecx, [esp + 0xdb0]
push ecx
xor ecx, ecx
lea edx, [esp + 0x1a4]
call 0x98eaf0
test eax, eax
je 0x91d99a
cmp byte [esp + 0xda8], 0
je 0x91d99a
test esi, esi
je 0x91d832
lea edx, [esp + 0xda8]
push edx
push esi
jmp 0x91d830
cmp dword [esp + 0x31d4], 0
je 0x91de7d
test ebx, ebx
je 0x91de7d
lea eax, [esp + 0xda8]
lea ecx, [esp + 0x25a8]
call fcn.0094c330
test eax, eax
jne 0x91dac0
cmp dword [esp + 0x31cc], ebp
jne 0x91da61
lea eax, [esp + 0x18]
push eax
call fcn.00985290
mov eax, 2
jmp 0x91deb4
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x31e4]
lea ecx, [esp + 0x5c]
push ecx
push edx
mov edx, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0xdb8]
push ecx
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x11c4]
call fcn.0091c5a0
add esp, 0x1c
lea ecx, [esp + 0x18]
push ecx
mov esi, eax
call fcn.00985290
mov eax, esi
jmp 0x91deb4
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91da52
mov ecx, 0xb
mov esi, str.Error:_File_Is_Infected_So_No_Backup_Taken.
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
lea eax, [esp + 0x1da8]
call fcn.0094dd20
lea ecx, [esp + 0x198]
push ecx
lea edx, [esp + 0x15ac]
push str.SOFTWAREMicroWorldFBackUp_s
push edx
call fcn.00a78f30
add esp, 0xc
push 0x80000002
xor eax, eax
lea edi, [esp + 0x15ac]
call fcn.0095fbe0
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91dab1
mov ecx, 0xd
mov esi, str.Error:_File_In_Backup_Is_Infected._No_action_taken.
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x18]
push eax
call fcn.00985290
jmp 0x91deb2
xor ecx, ecx
xor edx, edx
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ebp
cmp byte [esp + 0x21a8], cl
je 0x91db01
lea ebx, [esp + 0x28]
lea edi, [esp + 0x1c]
lea esi, [esp + 0x21a8]
call fcn.00989fe0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0x11a8], 0
je 0x91db2f
lea ebx, [esp + 0x20]
lea edi, [esp + 0x2c]
lea esi, [esp + 0x11a8]
call fcn.00989fe0
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x91db37
test edx, edx
je 0x91db41
mov dword [0xb4bd20], 0
cmp eax, ebp
jne 0x91db49
cmp edx, ecx
je 0x91dbaa
test ebp, ebp
jne 0x91db51
test ecx, ecx
je 0x91dbaa
cmp dword [0xb4bd20], 0
mov edi, dword [esp + 0x31e0]
je 0x91db67
cmp dword [esp + 0x34], edi
jne 0x91dbb1
mov esi, dword [esp + 0x31cc]
test esi, esi
je 0x91dbb8
cmp ebp, eax
ja 0x91de11
jne 0x91db84
cmp ecx, edx
ja 0x91de11
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91db9b
mov ecx, 0xc
mov esi, str.Error:_Current_file_version_lower_than_backup_one.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
push ecx
call fcn.00985290
jmp 0x91deb2
mov edi, dword [esp + 0x31e0]
mov esi, dword [esp + 0x31cc]
cmp dword [esp + 0x31d4], 0
jne 0x91dc27
lea ecx, [esp + 0x18]
push ecx
call fcn.00985290
cmp esi, 1
jne 0x91dc1d
cmp dword [0xb4bd20], 0
je 0x91dc1d
cmp dword [esp + 0x34], edi
je 0x91dc1d
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edi
lea edx, [esp + 0xdb8]
push edx
mov edx, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x1b0]
push ecx
lea ecx, [esp + 0x11c4]
call fcn.0091c5a0
add esp, 0x1c
jmp 0x91deb4
mov eax, 1
jmp 0x91deb4
lea edx, [esp + 0x198]
push edx
lea eax, [esp + 0x5ac]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esp + 0x5a8], 0
lea eax, [esp + 0x5a8]
je 0x91dc56
mov edi, edi
inc eax
cmp byte [eax], 0
jne 0x91dc50
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x5b0]
mov byte [eax - 1], 0x7e
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x91dcb6
mov edx, dword [esp + 0x38]
test edx, edx
je 0x91dc90
lea eax, [esp + 0x5a8]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x91dc86
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91dca7
mov ecx, 0x10
mov esi, str.ErrorRestore:_File_already_present._Maybe_opened_by_another_thread
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x50]
push ecx
push 1
lea edx, [esp + 0x5b4]
push 0
push edx
lea ecx, [esp + 0x1dbc]
call fcn.0098a370
add esp, 0x14
cmp eax, 1
jne 0x91dded
push 0x3ff
lea eax, [esp + 0x19ad]
push 0
push eax
mov byte [esp + 0x19b4], 0
call fcn.00a7ffb0
add esp, 0xc
push 0
push 0
lea ecx, [esp + 0x19b0]
push ecx
xor ecx, ecx
lea edx, [esp + 0x5b4]
call 0x98eaf0
cmp eax, 1
jne 0x91dd7f
lea eax, [esp + 0x25a8]
lea ecx, [esp + 0x19a8]
call fcn.0094c330
test eax, eax
jne 0x91dd7f
mov edx, dword [esp + 0x38]
test edx, edx
je 0x91dd5a
lea eax, [esp + 0x5a8]
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x91dd50
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91dd70
mov ecx, 0xd
mov esi, str.ErrorRestore:_Restore_will_happen_in_separate_thread.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
lea eax, [esp + 0x1da8]
call fcn.0094dd20
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x15ac]
push str.SOFTWAREMicroWorldFBackUp_s
push ecx
call fcn.00a78f30
add esp, 0xc
push 0x80000002
xor eax, eax
lea edi, [esp + 0x15ac]
call fcn.0095fbe0
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91ddd2
mov ecx, 0xf
mov esi, str.ErrorRestore:_File_Not_Restored._Backup_file_may_be_corrupted.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x5a8]
call fcn.0094dd20
lea edx, [esp + 0x18]
push edx
call fcn.00985290
jmp 0x91deb2
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91de02
mov ecx, 0xe
mov esi, str.ErrorRestore:_File_Not_Restored._MyEncryptFile___failed.
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x18]
push eax
call fcn.00985290
jmp 0x91deb2
cmp esi, 1
jne 0x91de5a
lea edx, [esp + 0x18]
push edx
call fcn.00985290
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push edi
lea eax, [esp + 0xdb8]
push eax
push ecx
lea edx, [esp + 0x1b0]
push edx
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x11c4]
call fcn.0091c5a0
add esp, 0x1c
jmp 0x91deb4
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91de71
mov ecx, 0xc
mov esi, str.Error:_Backup_file_version_lower_than_current_one.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x18]
push eax
call fcn.00985290
jmp 0x91deb2
mov edi, dword [esp + 0x14]
test edi, edi
je 0x91de94
mov ecx, 0xb
mov esi, str.Error:_Failed_To_Obtain_The_File_MD5_Checksum.
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
push ecx
call fcn.00985290
jmp 0x91deb2
cmp edi, ebx
je 0x91deb2
mov esi, str.Error:_Invalid_Function_Arguments
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
mov ecx, dword [esp + 0x31bc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00a78f21
add esp, 0x31b4
ret