Function at 0x433eb6
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x2d8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp + 0x60], ecx
push 0x5e
mov word [ebp - 0x5c], ax
xor ebx, ebx
lea eax, [ebp - 0x5a]
mov esi, edx
push ebx
push eax
mov dword [ebp + 0x68], esi
call sub.msvcrt.dll_memset
xor eax, eax
push 0x3e
mov word [ebp + 4], ax
lea eax, [ebp + 6]
push ebx
push eax
call sub.msvcrt.dll_memset
xor eax, eax
push 0x206
mov word [ebp - 0x264], ax
lea eax, [ebp - 0x262]
push ebx
push eax
call sub.msvcrt.dll_memset
push 0x104
lea eax, [ebp - 0x264]
mov byte [ebp + 0x73], 1
push eax
push str.last_run_path
call fcn.00404f44
add esp, 0x30
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x433f61
push 0x30
lea eax, [ebp - 0x5c]
mov byte [ebp + 0x73], bl
push eax
push 0x45880c
call fcn.00404f44
push 0x20
lea eax, [ebp + 4]
push eax
push str.lbmini_pid
call fcn.00404f44
add esp, 0x18
push esi
call dword [sym.imp.msvcrt.dll__wtoi]
neg eax
mov edi, 0x4525f0
pop ecx
sbb al, al
inc al
mov dword [ebp + 0x64], eax
je 0x433fcb
call fcn.0040129e
push eax
lea ecx, [ebp + 0x6c]
call fcn.004028e5
push edi
lea ecx, [ebp + 0x6c]
call fcn.0040bff3
mov esi, dword [ebp + 0x6c]
mov edx, str.SoftwareKingsoftLBMINI
push esi
push 0x45880c
mov ecx, SysReAllocStringLen
call fcn.00404f81
pop ecx
pop ecx
lea ecx, [esi - 0x10]
call fcn.0040169b
push dword [ebp + 0x60]
mov edx, str.SoftwareKingsoftLBMINI
mov ecx, SysReAllocStringLen
push str.lbmini_pid
call fcn.00404f81
pop ecx
pop ecx
push ebx
push 0x3e9
lea ecx, [ebp + 0x44]
call fcn.004380b9
cmp byte [ebp + 0x73], bl
mov esi, 0x44e0e8
mov ecx, 0x458864
mov eax, esi
cmove eax, ecx
lea ecx, [ebp + 0x44]
push eax
push str.type
call fcn.00438394
cmp byte [ebp + 0x64], bl
lea ecx, [ebp + 0x44]
mov eax, 0x458864
cmove esi, eax
push esi
push str.result
call fcn.00438394
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x434038
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x43401e
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x43403c
mov eax, ebx
jmp 0x434052
add esi, esi
mov eax, esi
call fcn.0044c2f1
mov edx, dword [ebp + 0x68]
mov ecx, esp
push 3
push esi
call fcn.0040aa41
push eax
push str.errcode
lea ecx, [ebp + 0x44]
call fcn.00438394
cmp byte [ebp + 0x64], bl
jne 0x4340a6
mov edi, dword [ebp + 0x7c]
test edi, edi
je 0x43408b
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x434071
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x43408f
mov edi, ebx
jmp 0x4340a6
add esi, esi
mov eax, esi
call fcn.0044c2f1
mov ecx, esp
mov edx, edi
push 3
push esi
call fcn.0040aa41
mov edi, eax
push edi
push str.newver
lea ecx, [ebp + 0x44]
call fcn.00438394
lea ecx, [ebp - 0x5c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4340ba
sub ecx, edx
mov edi, 0x3fffffff
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, edi
jle 0x4340d9
mov eax, ebx
jmp 0x4340ef
add esi, esi
mov eax, esi
call fcn.0044c2f1
mov ecx, esp
lea edx, [ebp - 0x5c]
push 3
push esi
call fcn.0040aa41
push eax
push str.oldver
lea ecx, [ebp + 0x44]
call fcn.00438394
lea ecx, [ebp + 4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x434103
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, edi
jg 0x434131
add esi, esi
mov eax, esi
call fcn.0044c2f1
mov ecx, esp
lea edx, [ebp + 4]
push 3
push esi
call fcn.0040aa41
mov ebx, eax
push ebx
push str.oldpid
lea ecx, [ebp + 0x44]
call fcn.00438394
push 1
lea ecx, [ebp + 0x44]
call fcn.004385c3
lea ecx, [ebp + 0x44]
call fcn.00438372
lea esp, [ebp - 0x270]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x74]
pop ebp
ret