Function at 0x85f470
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0xb14cf0
push 0xa847a0
mov eax, dword fs:[0]
push eax
sub esp, 0x234
mov eax, dword [0xb196ec]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x238], 0xb8dff8
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.0091ded0
test eax, eax
je 0x85f6af
mov esi, str.DWBackUpCleaned
mov ecx, str.SOFTWAREMicroWorld
mov edx, 0x80000002
call fcn.0095f910
call fcn.0091e080
test eax, eax
je 0x85f695
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x230], ebx
push 0x10c
push ebx
lea ecx, [ebp - 0x22c]
push ecx
call fcn.00a7ffb0
xor esi, esi
mov dword [ebp - 0x240], esi
push ebx
push 1
push str.Compressing_FBackup...
push 0xb54ce8
call fcn.008808e0
add esp, 0x1c
mov dword [ebp - 0x230], ebx
push str.SoftwareMicroWorldFBackUp
lea edx, [ebp - 0x22c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp - 0x128], ebx
lea eax, [ebp - 0x238]
push eax
push ebx
lea ecx, [ebp - 0x230]
push ecx
push 0x91e0d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x23c], eax
cmp eax, ebx
je 0x85f627
mov ebx, dword [ebp - 0x238]
or esi, 0xffffffff
mov edi, str.ENUM_REG_4a
call fcn.0085df70
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x128], 0
jne 0x85f5a0
push 1
call esi
jmp 0x85f591
push 0
push 0x6d60
mov esi, dword [ebp - 0x23c]
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
cmp eax, 0x102
jne 0x85f607
cmp dword [ebp - 0x124], 0
je 0x85f5ef
lea edx, [ebp - 0x234]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp eax, 1
jne 0x85f5ef
cmp dword [ebp - 0x234], 0x103
jne 0x85f5ef
mov eax, dword [ebp - 0x124]
mov dword [eax], 1
xor eax, eax
mov esi, str.DWCompressionEnabled
mov ebx, str.SOFTWAREMicroWorld
mov ecx, 0x80000002
call fcn.0094be90
jmp 0x85f613
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x240], ecx
lea edx, [ebp - 0x23c]
push edx
call fcn.00985290
xor ebx, ebx
mov esi, dword [ebp - 0x240]
cmp dword [0xbd6594], ebx
je 0x85f797
cmp esi, ebx
jle 0x85f797
cmp dword [0xb5659c], ebx
jne 0x85f797
push esi
push str.FBackup_Thread_Created___d_...
lea eax, [ebp - 0x120]
push eax
call fcn.00a78f30
push ebx
push 1
lea ecx, [ebp - 0x120]
push ecx
push 0xb54ce8
call fcn.008808e0
mov edx, dword [ebp - 0x244]
push edx
push ebx
push 0x91e9a0
call fcn.00a791b2
add esp, 0x28
mov esi, eax
mov edi, str.AVM_1a
xor ebx, ebx
call fcn.0085df70
jmp 0x85f797
push ebx
push 1
push str.Not_Compressing_FBackup._Compression_Disabled.
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
jmp 0x85f797
push ebx
push 1
push str.Not_Compressing_FBackup._Backup_Disabled.
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
cmp byte [0xb8dff8], bl
je 0x85f797
mov ecx, 0xb8dff8
call fcn.0095a450
test eax, eax
je 0x85f797
mov dword [ebp - 0x234], ebx
lea eax, [ebp - 0x234]
push eax
push str.DWBackUpCleaned
mov ecx, str.SOFTWAREMicroWorld
mov edx, 0x80000002
call fcn.0094c0d0
mov eax, 2
cmp dword [ebp - 0x234], eax
jae 0x85f797
mov dword [ebp - 0x234], eax
mov esi, str.DWBackUpCleaned
mov ebx, str.SOFTWAREMicroWorld
mov ecx, 0x80000002
call fcn.0094be90
push 0x80000002
xor eax, eax
mov edi, str.SoftwareMicroWorldFBackUp
call fcn.0095fbe0
push 0xb8dff8
push 0
push 0x85f2b0
call fcn.00a791b2
add esp, 0xc
mov esi, eax
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x85f760
mov ecx, dword [ebp - 0x238]
cmp byte [ecx], 0
je 0x85f771
push 1
call edi
jmp 0x85f760
mov edi, str.AVM_1b
xor ebx, ebx
call fcn.0085df70
jmp 0x85f797
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00a78f21
mov esp, ebp
pop ebp
ret