Function at 0x41efd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x525c
call fcn.00442360
push ebx
push esi
push edi
mov dword [ebp - 0x50a8], 0
mov dword [ebp - 0x4e40], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x74]
movsx eax, word [eax + 2]
test eax, eax
jne 0x41f20a
mov dword [ebp - 0x50b4], 0
push 0x3b
push 0x47aca0
lea eax, [ebp - 0x50b0]
push eax
call fcn.004411d2
add esp, 0xc
mov eax, dword [ebp + 8]
movsx eax, byte [eax + 0xd3]
test eax, eax
je 0x41f04b
mov eax, dword [ebp + 8]
add eax, 0xd3
mov dword [ebp - 0x5248], eax
jmp 0x41f059
mov eax, dword [ebp + 8]
add eax, 0xc8
mov dword [ebp - 0x5248], eax
mov eax, dword [ebp - 0x5248]
push eax
push 0x47aca4
lea eax, [ebp - 0x5118]
push eax
call fcn.004411d2
add esp, 0xc
push str.LM_LICENSE_FILE
mov eax, dword [ebp + 8]
push eax
call fcn.004030ff
add esp, 8
mov dword [ebp - 0x511c], eax
mov eax, dword [ebp + 8]
test byte [eax + 0x1b8], 0x10
je 0x41f0be
mov eax, dword [ebp + 8]
push eax
call fcn.00403781
add esp, 4
mov dword [ebp - 0x50ac], eax
mov eax, dword [ebp - 0x50ac]
mov dword [ebp - 0x50b4], eax
jmp 0x41f10c
lea eax, [ebp - 0x5118]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004030ff
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x50ac], 0
jne 0x41f10c
lea eax, [ebp - 0x5118]
push eax
call fcn.0040cf50
add esp, 4
lea eax, [ebp - 0x5118]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004030ff
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x511c], 0
je 0x41f12a
mov eax, dword [ebp - 0x511c]
mov dword [ebp - 0x524c], eax
jmp 0x41f134
mov dword [ebp - 0x524c], 0x47acc4
cmp dword [ebp - 0x50ac], 0
je 0x41f15f
cmp dword [ebp - 0x511c], 0
je 0x41f15f
lea eax, [ebp - 0x50b0]
mov dword [ebp - 0x5250], eax
jmp 0x41f169
mov dword [ebp - 0x5250], 0x47acc8
cmp dword [ebp - 0x50ac], 0
je 0x41f187
mov eax, dword [ebp - 0x50ac]
mov dword [ebp - 0x5254], eax
jmp 0x41f191
mov dword [ebp - 0x5254], 0x47accc
mov eax, dword [ebp - 0x524c]
push eax
mov eax, dword [ebp - 0x5250]
push eax
mov eax, dword [ebp - 0x5254]
push eax
push str._s_s_s
lea eax, [ebp - 0x4e34]
push eax
call fcn.004411d2
add esp, 0x14
lea eax, [ebp - 0x4e34]
mov dword [ebp - 0x50a8], eax
cmp dword [ebp - 0x50a8], 0
je 0x41f1ee
mov eax, dword [ebp - 0x50a8]
movsx eax, byte [eax]
test eax, eax
jne 0x41f1ee
mov dword [ebp - 0x50a8], 0
cmp dword [ebp - 0x50b4], 0
je 0x41f20a
mov eax, dword [ebp - 0x50b4]
push eax
call fcn.0040cabe
add esp, 4
cmp dword [0x47ac9c], 0xffffffff
jne 0x41f22d
push str.FLEXLM_USE_FINDER
mov eax, dword [ebp + 8]
push eax
call fcn.004030ff
add esp, 8
mov dword [0x47ac9c], eax
cmp dword [ebp - 0x50a8], 0
jne 0x41f250
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x74]
movsx eax, word [eax + 0x13a]
cmp eax, 1
jne 0x41f25d
cmp dword [0x47ac9c], 0
je 0x41f26f
mov eax, dword [ebp + 8]
push eax
call fcn.0042f75f
add esp, 4
mov dword [ebp - 0x50a8], eax
cmp dword [ebp - 0x50a8], 0
jne 0x41f29d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x74]
movsx eax, word [eax + 0xa]
test eax, eax
je 0x41f29d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50a8], eax
cmp dword [ebp - 0x50a8], 0
jne 0x41f2e5
push 0xc7
lea eax, [ebp - 0x51e4]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movsx eax, byte [ebp - 0x51e4]
cmp eax, 0x41
jne 0x41f2db
mov dword [ebp - 0x50a8], str.A:_flexlmlicense.dat
jmp 0x41f2e5
mov dword [ebp - 0x50a8], 0x47ad04
mov eax, dword [ebp + 8]
push eax
call fcn.0041e5ea
add esp, 4
push 0x2711
push 0
lea eax, [ebp - 0x271c]
push eax
call fcn.00440740
add esp, 0xc
lea eax, [ebp - 0x271c]
push eax
mov eax, dword [ebp - 0x50a8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041faa9
add esp, 0xc
mov dword [ebp - 0x50a8], eax
mov dword [ebp - 0x4e3c], 1
mov eax, dword [ebp - 0x50a8]
mov dword [ebp - 4], eax
jmp 0x41f345
inc dword [ebp - 0x4e3c]
mov eax, dword [ebp - 4]
push eax
call fcn.0041f9c3
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x41f366
inc dword [ebp - 4]
jmp 0x41f33f
call fcn.004413ab
mov dword [ebp - 0x5258], eax
mov eax, dword [ebp - 0x5258]
mov dword [eax], 0
mov eax, dword [ebp - 0x4e3c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x8c], eax
mov eax, dword [ebp - 0x50a8]
push eax
call fcn.00440880
add esp, 4
add eax, 3
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c9f0
add esp, 8
mov dword [ebp - 0x4e38], eax
mov eax, dword [ebp - 0x4e38]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
mov eax, dword [ebp - 0x4e3c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c9f0
add esp, 8
mov dword [ebp - 0x50a4], eax
mov eax, dword [ebp - 0x50a4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x84], eax
mov eax, dword [ebp - 0x4e3c]
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
shl eax, 2
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c9f0
add esp, 8
mov dword [ebp - 0x509c], eax
mov eax, dword [ebp - 0x509c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp - 0x509c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov dword [ebp - 0x4e3c], 0
mov eax, dword [ebp - 0x50a8]
push eax
mov eax, dword [ebp - 0x4e38]
push eax
call fcn.00440fa0
add esp, 8
cmp dword [ebp - 0x4e38], 0
je 0x41f52f
mov eax, dword [ebp - 0x4e38]
mov ecx, dword [ebp - 0x4e3c]
mov edx, dword [ebp - 0x50a4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x4e3c]
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + eax*4 + 4], 0
mov eax, dword [ebp - 0x4e3c]
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x509c]
xor edx, edx
mov dl, byte [ecx + eax*4 + 0x10]
or dl, 2
mov eax, dword [ebp - 0x4e3c]
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x509c]
mov byte [ecx + eax*4 + 0x10], dl
mov eax, dword [ebp - 0x4e3c]
inc eax
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
shl eax, 2
add eax, dword [ebp - 0x509c]
mov ecx, dword [ebp - 0x4e3c]
mov edx, ecx
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*4]
mov edx, dword [ebp - 0x509c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x4e38]
push eax
call fcn.0041f9c3
add esp, 4
mov dword [ebp - 0x4e38], eax
cmp dword [ebp - 0x4e38], 0
je 0x41f524
mov eax, dword [ebp - 0x4e38]
mov byte [eax], 0
inc dword [ebp - 0x4e38]
inc dword [ebp - 0x4e3c]
jmp 0x41f451
mov eax, dword [ebp - 0x4e3c]
mov ecx, dword [ebp - 0x50a4]
mov dword [ecx + eax*4], 0
mov eax, dword [ebp - 0x4e3c]
dec eax
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + eax*4], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x88], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x88]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x84]
cmp dword [ecx + eax*4], 0
je 0x41f850
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.00422920
add esp, 8
mov dword [ebp - 0x509c], eax
cmp dword [ebp - 0x509c], 0
je 0x41f842
mov eax, dword [ebp - 0x509c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50a0], eax
inc dword [ebp - 0x4e40]
lea eax, [ebp - 0x5098]
push eax
mov eax, dword [ebp - 0x509c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0042ec38
add esp, 0xc
mov dword [ebp - 8], eax
push 0x54
push 0
lea eax, [ebp - 0x5238]
push eax
call fcn.00440740
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
lea eax, [ebp - 0x5238]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00403f2c
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xfffffff3
jne 0x41f62e
lea eax, [ebp - 0x5238]
push eax
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00403f2c
add esp, 0xc
lea eax, [ebp - 0x5238]
push eax
call fcn.00403eb9
add esp, 4
mov dword [ebp - 0x4e3c], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2720], eax
jmp 0x41f66a
mov eax, dword [ebp - 0x2720]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x2720], eax
inc dword [ebp - 0x4e3c]
cmp dword [ebp - 0x2720], 0
je 0x41f67c
jmp 0x41f655
cmp dword [ebp - 0x4e3c], 0
jle 0x41f7ac
call fcn.004413ab
mov dword [ebp - 0x525c], eax
mov eax, dword [ebp - 0x525c]
mov dword [eax], 0
mov eax, dword [ebp - 0x4e3c]
shl eax, 3
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040c9f0
add esp, 8
mov dword [ebp - 0x2720], eax
mov eax, dword [ebp - 0x4e3c]
shl eax, 3
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x2720]
push eax
call fcn.00440a70
add esp, 0xc
mov dword [ebp - 0x523c], 0
jmp 0x41f6fa
inc dword [ebp - 0x523c]
mov eax, dword [ebp - 0x4e3c]
cmp dword [ebp - 0x523c], eax
jge 0x41f743
mov eax, dword [ebp - 0x523c]
lea eax, [eax*8 + 8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x2720]
mov ecx, dword [ebp - 0x523c]
shl ecx, 3
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebp - 0x2720]
mov dword [ecx + edx + 0x48], eax
jmp 0x41f6f4
mov eax, dword [ebp - 0x523c]
lea eax, [eax*8 - 8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 0x2720]
mov dword [eax + ecx + 0x48], 0
push 8
mov eax, dword [ebp + 8]
push eax
call fcn.0040c9f0
add esp, 8
mov dword [ebp - 0x5240], eax
mov eax, dword [ebp - 0x2720]
mov ecx, dword [ebp - 0x5240]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1d0]
mov ecx, dword [ebp - 0x5240]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5240]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1d0], eax
jmp 0x41f7b6
mov dword [ebp - 0x2720], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 0x2720]
push eax
mov eax, dword [ebp - 0x509c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00415820
add esp, 0x10
test eax, eax
jne 0x41f7e2
add dword [ebp - 0x50a4], 4
cmp dword [ebp - 0x50a0], 1
jne 0x41f842
mov eax, dword [ebp - 0x509c]
cmp dword [eax + 4], 3
jne 0x41f842
mov eax, dword [ebp - 0x509c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x5244], eax
mov eax, dword [ebp - 0x50a0]
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x509c]
push eax
call fcn.00420ecc
add esp, 4
mov eax, dword [ebp - 0x5244]
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
inc dword [eax + 0x88]
jmp 0x41f56b
mov eax, dword [ebp + 8]
mov dword [eax + 0x88], 0
mov eax, dword [ebp + 8]
push eax
call fcn.00429267
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.0042e6e0
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.0042017a
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x88], 0
jmp 0x41f89c
mov eax, dword [ebp + 8]
inc dword [eax + 0x88]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x88]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x84]
cmp dword [ecx + eax*4], 0
je 0x41f8e3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x88]
mov ecx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
shl eax, 2
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x90]
push eax
call fcn.00420ecc
add esp, 4
jmp 0x41f893
mov eax, dword [ebp + 8]
mov dword [eax + 0x88], 0
cmp dword [0x483970], 0
je 0x41f903
call dword [0x483970]
cmp dword [ebp - 0x4e40], 0
je 0x41f965
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xffffffff
je 0x41f92a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xffffffc3
jne 0x41f959
jmp 0x41f934
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0
push 0
push 0xff
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00403cc0
add esp, 0x1c
xor eax, eax
jmp 0x41f9be
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x41f982
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
jmp 0x41f9be
jmp 0x41f98c
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0xffffffff
push 0
push 0xff
push 0
push 0
push 0x168
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.00403cc0
add esp, 0x1c
mov eax, 0xffffffff
jmp 0x41f9be
pop edi
pop esi
pop ebx
leave
ret