Function at 0x53d898
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
push ebx
push esi
xor ebx, ebx
lea esi, [ecx + 0x864]
push edi
cmp dword [ecx + 0x754], ebx
je 0x53d8d6
push str.__typeassistant___uninstall_service
lea ecx, [ebp - 0x20]
call fcn.00408fc4
push 0xffffffffffffffff
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.00548e04
lea ecx, [ebp - 0x20]
call fcn.00403d40
push str.QBServiceExeName
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], 7
call fcn.00408fc4
sub esp, 0x18
mov ecx, esp
push str.TsService.exe
call fcn.00408fc4
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x20]
push eax
push 2
call fcn.004be0e0
add esp, 0x24
lea ecx, [ebp - 0x20]
call fcn.00403d40
push str.serviceTsService.exe.new
lea ecx, [ebp - 0x20]
call fcn.00408fc4
push 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x38]
push 1
push eax
call fcn.004c0910
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00403d40
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
lea eax, [ebp - 0x80]
push eax
call fcn.00532317
mov ecx, eax
call fcn.00532347
mov edi, eax
lea eax, [ebp - 0x38]
cmp eax, edi
je 0x53d981
mov ecx, eax
call fcn.00403d40
push edi
lea ecx, [ebp - 0x38]
call fcn.00444c2a
lea ecx, [ebp - 0x80]
call fcn.00403d40
push str.TsService.exe
lea ecx, [ebp - 0x20]
call fcn.00408fc4
push 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x50]
push ebx
push eax
call fcn.004c0910
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00403d40
lea ecx, [ebp - 0xb8]
call fcn.004c5c50
cmp dword [ebp - 0x3c], 8
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x53da75
push str..new
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00452ffd
add esp, 0xc
lea eax, [ebp - 0x20]
push 1
sub esp, 0x18
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
lea ecx, [ebp - 0xb8]
call fcn.004cb7d0
test eax, eax
je 0x53da6b
push str.__typeassistant___install_service
lea ecx, [ebp - 0x80]
call fcn.00408fc4
push 0xffffffffffffffff
lea eax, [ebp - 0x80]
mov ecx, esi
push eax
call fcn.00548e04
lea ecx, [ebp - 0x80]
call fcn.00403d40
sub esp, 0x18
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
lea ecx, [ebp - 0xb8]
call fcn.004cc470
lea ecx, [ebp - 0x20]
call fcn.00403d40
jmp 0x53dae6
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
sub esp, 0x18
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
call fcn.004c7cd0
add esp, 0x30
test eax, eax
jns 0x53dae6
push 1
sub esp, 0x18
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040850d
lea ecx, [ebp - 0xb8]
call fcn.004cb7d0
lea ecx, [ebp - 0xb8]
call fcn.004c5d00
lea ecx, [ebp - 0x50]
call fcn.00403d40
lea ecx, [ebp - 0x38]
call fcn.00403d40
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x53db3e
mov ecx, dword [ebp - 0x68]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x53db35
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056c61e
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret