Function at 0x407f70
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3dc
push edi
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xc0], 0
mov ecx, 0x13
xor eax, eax
lea edi, [ebp - 0xbc]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
je 0x407fd2
push 0
push 1
call fcn.0040f302
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
push edx
push str.Starting_vendor_daemon_at_port__d_n
call fcn.0040f492
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x407fe2
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40801d
push 0
push 1
call fcn.0040f302
add esp, 8
push 0x4c9e2c
call fcn.0040f492
add esp, 4
push 0
push 1
call fcn.0040f302
add esp, 8
mov edx, dword [ebp + 8]
push edx
push str.ATTEMPT_TO_START_VENDOR_DAEMON__s_with_NO_MASTER_n
call fcn.0040f492
add esp, 8
jmp 0x408650
push 0x4c9e9c
mov eax, dword [ebp + 8]
push eax
call fcn.004b47b0
add esp, 8
test eax, eax
jne 0x408069
push 0
push 1
call fcn.0040f302
add esp, 8
push str.INTERNAL_error:_Please_report_the_following_to_your_vendor_n
call fcn.0040f492
add esp, 4
push 0
push 1
call fcn.0040f302
add esp, 8
push str.Attempt_to_start_a_vendor_daemon_named__lmgrd__n
call fcn.0040f492
add esp, 4
jmp 0x408650
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x34], 0
je 0x408092
push 0
push 1
call fcn.0040f302
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x34]
push eax
push str.Using_vendor_daemon_port__d_specified_in_license_file_n
call fcn.0040f492
add esp, 8
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x4e7604]
xor edx, edx
mov dx, word [ecx + 6]
push edx
mov eax, dword [0x4e7604]
xor ecx, ecx
mov cx, word [eax + 4]
push ecx
push str._d._d
lea edx, [ebp - 0xcc]
push edx
call fcn.004b486f
add esp, 0x10
mov eax, dword [ebp - 0x10]
push eax
push 0x4c9f50
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.004b486f
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], 0x4c9f54
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5c], eax
cmp dword [0x4d8c70], 0
jne 0x40810c
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x68], 4
jmp 0x408113
mov dword [ebp - 0x68], 3
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x2d0]
mov dword [ebp + edx*4 - 0x64], eax
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
lea edx, [ebp - 0xd0]
push edx
push 0x2e
mov eax, dword [0x4e7604]
push eax
call fcn.00436900
add esp, 0xc
cmp dword [ebp - 0xd0], 0
je 0x408175
mov ecx, dword [ebp - 0x68]
mov dword [ebp + ecx*4 - 0x64], 0x4c9f58
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x64], ecx
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
jmp 0x40817f
mov dword [ebp - 0xd0], 0x4d8cb8
cmp dword [0x4d8c70], 0
jne 0x4081bf
cmp dword [0x4c83b0], 0
jne 0x4081a5
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], 0x4c9f5c
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 6
jne 0x4081bf
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], 0x4c9f60
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
cmp dword [0x4c8bb0], 0x6978
jl 0x408220
mov ecx, dword [0x4e7604]
mov edx, dword [0x4c8bb0]
cmp edx, dword [ecx + 0x188]
jg 0x408220
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], str._lmgrd_port
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
mov edx, dword [0x4c8bb0]
push edx
push 0x4c9f70
push 0x4d8ca0
call fcn.004b486f
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], 0x4d8ca0
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [0x4c8bac], 0
jne 0x408251
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], 0x4c9f74
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp + ecx*4 - 0x64], str.lmremove
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
cmp dword [0x4cc03c], 0
jne 0x40826e
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], str._nfs_log
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [0x4e2eec], 0
je 0x4082b8
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], str._max_connections
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [0x4e2eec]
push ecx
push 0x4c9fa4
push 0x4d8c94
call fcn.004b486f
add esp, 0xc
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], 0x4d8c94
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x10], 0
je 0x408302
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], str._daemon_port
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
push 0x4c9fb8
push 0x4d8cac
call fcn.004b486f
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], 0x4d8cac
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x68]
mov dword [ebp + edx*4 - 0x64], str.__lmgrd_start
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [0x4e2ef4]
push ecx
push 0x4c9fcc
lea edx, [ebp - 0xc]
push edx
call fcn.004b486f
add esp, 0xc
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0xc]
mov dword [ebp + eax*4 - 0x64], ecx
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x64], 0
mov ecx, dword [ebp - 0x68]
mov dword [ebp + ecx*4 - 0x64], 0
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x70], 0xffffffff
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x70]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
movsx eax, byte [edx]
test eax, eax
je 0x4084bf
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
push edx
lea eax, [ebp - 0x3d0]
push eax
call fcn.004b4b70
add esp, 8
mov ecx, dword [ebp - 0x68]
push ecx
lea edx, [ebp - 0x3d4]
push edx
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x3d0]
push edx
call fcn.00408655
add esp, 0x14
test eax, eax
jne 0x4084b5
push 0
push 1
call fcn.0040f302
add esp, 8
push 0x4c9fd0
call fcn.0040f492
add esp, 4
cmp dword [ebp - 0x3d4], 0
je 0x40841b
mov eax, dword [ebp - 0x3d4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40841b
push 0
push 1
call fcn.0040f302
add esp, 8
mov edx, dword [ebp - 0x3d4]
push edx
push 0x4ca004
call fcn.0040f492
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 2
jne 0x40848c
push 0
push 1
call fcn.0040f302
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
push 0x4ca00c
call fcn.0040f492
add esp, 8
call fcn.00418ab0
test eax, eax
je 0x40848a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc0], eax
push 0
push 0
lea ecx, [ebp - 0xc0]
push ecx
push 1
push 0xc00002f4
push 4
push 1
mov edx, dword [0x4e7604]
push edx
call fcn.00418cd8
add esp, 0x20
jmp 0x4084b3
push 0
push 1
call fcn.0040f302
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x3dc]
push edx
push str.CreateProcess_error_code:_0x_x_File__s_n
call fcn.0040f492
add esp, 0xc
jmp 0x4084bf
mov dword [ebp - 0x3d8], 1
cmp dword [ebp - 0x3d8], 0
jne 0x408601
mov eax, dword [ebp + 8]
push eax
push str._s.exe
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.004b486f
add esp, 0xc
mov edx, dword [ebp - 0x68]
push edx
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp - 0x64]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x3d0]
push eax
call fcn.00408655
add esp, 0x14
test eax, eax
jne 0x4085f7
push 0
push 1
call fcn.0040f302
add esp, 8
push str.License_server_manager__lmgrd__startup_failed:__n
call fcn.0040f492
add esp, 4
cmp dword [ebp - 0x3d4], 0
je 0x40855d
mov ecx, dword [ebp - 0x3d4]
movsx edx, byte [ecx]
test edx, edx
je 0x40855d
push 0
push 1
call fcn.0040f302
add esp, 8
mov eax, dword [ebp - 0x3d4]
push eax
push str._t_s_n
call fcn.0040f492
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 2
jne 0x4085ce
push 0
push 1
call fcn.0040f302
add esp, 8
lea ecx, [ebp - 0x3d0]
push ecx
push str.File_not_found___s_n
call fcn.0040f492
add esp, 8
call fcn.00418ab0
test eax, eax
je 0x4085cc
lea edx, [ebp - 0x3d0]
mov dword [ebp - 0xc0], edx
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
push 1
push 0xc00002f4
push 4
push 1
mov ecx, dword [0x4e7604]
push ecx
call fcn.00418cd8
add esp, 0x20
jmp 0x4085f5
push 0
push 1
call fcn.0040f302
add esp, 8
lea edx, [ebp - 0x3d0]
push edx
mov eax, dword [ebp - 0x3dc]
push eax
push str.CreateProcess_error_code:_0x_x___File__s_n
call fcn.0040f492
add esp, 0xc
jmp 0x408601
mov dword [ebp - 0x3d8], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x70], edx
push 0
call fcn.004b53a5
add esp, 4
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax + 0x28]
cmp ecx, 0x78
jle 0x40862f
mov edx, dword [ebp + 8]
mov dword [edx + 0x2c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x70]
mov dword [edx + 0x18], eax
pop edi
mov esp, ebp
pop ebp
ret