Function at 0x42f360
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1804
call fcn.00497b90
push edi
mov dword [ebp - 0x14e0], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0
push 0x2711
mov eax, dword [ebp + 8]
push eax
call fcn.00428790
add esp, 8
mov dword [ebp - 8], eax
push 0x2711
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428790
add esp, 8
mov dword [ebp - 0x10], eax
push 0x14b4
push 0
lea edx, [ebp - 0x14d0]
push edx
call fcn.004976c0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd0]
movsx edx, word [ecx + 2]
test edx, edx
jne 0x42f711
mov byte [ebp - 0x16c0], 0
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x16bf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x1658], 0
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x1657]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x165c], 0
mov dword [ebp - 0x16c4], 0
mov dword [ebp - 0x14e8], 0
mov dword [ebp - 0x15f4], 0
mov byte [ebp - 0x15ec], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x15eb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x15f0], 0
xor eax, eax
mov byte [ebp - 0x15ef], al
mov ecx, dword [ebp + 8]
push ecx
call fcn.00431a70
add esp, 4
mov dword [ebp - 0x14e4], eax
mov edx, dword [ebp + 8]
push edx
call fcn.00431b26
add esp, 4
mov dword [ebp - 0x16c8], eax
push 0x2711
mov eax, dword [ebp + 8]
push eax
call fcn.00428790
add esp, 8
mov dword [ebp - 0x165c], eax
push 0x3b
push 0x4fccec
lea ecx, [ebp - 0x15f0]
push ecx
call fcn.004970c0
add esp, 0xc
mov edx, dword [ebp - 0x16c8]
movsx eax, byte [edx]
test eax, eax
je 0x42f4ce
mov ecx, dword [ebp - 0x16c8]
mov dword [ebp - 0x17ec], ecx
jmp 0x42f4da
mov edx, dword [ebp - 0x14e4]
mov dword [ebp - 0x17ec], edx
mov eax, dword [ebp - 0x17ec]
push eax
push 0x4fccf0
lea ecx, [ebp - 0x16c0]
push ecx
call fcn.004970c0
add esp, 0xc
mov edx, dword [ebp - 0x16c8]
movsx eax, byte [edx]
test eax, eax
je 0x42f510
mov ecx, dword [ebp - 0x16c8]
mov dword [ebp - 0x17f0], ecx
jmp 0x42f51c
mov edx, dword [ebp - 0x14e4]
mov dword [ebp - 0x17f0], edx
mov eax, dword [ebp - 0x17f0]
push eax
push str._s_LF
lea ecx, [ebp - 0x1658]
push ecx
call fcn.004970c0
add esp, 0xc
push 0x2710
mov edx, dword [ebp - 0x165c]
push edx
push 0x4fcd08
mov eax, dword [ebp + 8]
push eax
call fcn.00417ac4
add esp, 0x10
mov dword [ebp - 0x16c4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x134]
and edx, 0x10
test edx, edx
je 0x42f5a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x134]
and ecx, 0x2000000
test ecx, ecx
jne 0x42f5a2
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00418656
add esp, 8
mov dword [ebp - 0x14e8], eax
mov eax, dword [ebp - 0x14e8]
mov dword [ebp - 0x15f4], eax
jmp 0x42f626
push 0x104
lea ecx, [ebp - 0x15ec]
push ecx
lea edx, [ebp - 0x16c0]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00417ac4
add esp, 0x10
mov dword [ebp - 0x14e8], eax
cmp dword [ebp - 0x14e8], 0
jne 0x42f626
lea ecx, [ebp - 0x1658]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00417f64
add esp, 8
mov dword [ebp - 0x14e8], eax
cmp dword [ebp - 0x14e8], 0
jne 0x42f626
lea eax, [ebp - 0x16c0]
push eax
call fcn.0043c970
add esp, 4
push 0x104
lea ecx, [ebp - 0x15ec]
push ecx
lea edx, [ebp - 0x16c0]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00417ac4
add esp, 0x10
mov dword [ebp - 0x14e8], eax
cmp dword [ebp - 0x16c4], 0
je 0x42f63d
mov ecx, dword [ebp - 0x16c4]
mov dword [ebp - 0x17f4], ecx
jmp 0x42f647
mov dword [ebp - 0x17f4], 0x50ba68
cmp dword [ebp - 0x14e8], 0
je 0x42f667
cmp dword [ebp - 0x16c4], 0
je 0x42f667
lea edx, [ebp - 0x15f0]
mov dword [ebp - 0x17f8], edx
jmp 0x42f671
mov dword [ebp - 0x17f8], 0x50ba6c
cmp dword [ebp - 0x14e8], 0
je 0x42f688
mov eax, dword [ebp - 0x14e8]
mov dword [ebp - 0x17fc], eax
jmp 0x42f692
mov dword [ebp - 0x17fc], 0x50ba70
mov ecx, dword [ebp - 0x17f4]
push ecx
mov edx, dword [ebp - 0x17f8]
push edx
mov eax, dword [ebp - 0x17fc]
push eax
push 0x4fcd18
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004970c0
add esp, 0x14
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14e0], edx
cmp dword [ebp - 0x14e0], 0
je 0x42f6e1
mov eax, dword [ebp - 0x14e0]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x42f6e1
mov dword [ebp - 0x14e0], 0
cmp dword [ebp - 0x15f4], 0
je 0x42f6f9
mov edx, dword [ebp - 0x15f4]
push edx
call fcn.004289be
add esp, 4
cmp dword [ebp - 0x165c], 0
je 0x42f711
mov eax, dword [ebp - 0x165c]
push eax
call fcn.004289be
add esp, 4
cmp dword [0x4fcce8], 0xffffffff
jne 0x42f730
push 0x4fcd20
mov ecx, dword [ebp + 8]
push ecx
call fcn.00417f64
add esp, 8
mov dword [0x4fcce8], eax
cmp dword [ebp - 0x14e0], 0
jne 0x42f74e
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd0]
movsx ecx, word [eax + 0x109a]
cmp ecx, 1
jne 0x42f757
cmp dword [0x4fcce8], 0
je 0x42f769
mov edx, dword [ebp + 8]
push edx
call fcn.0046451b
add esp, 4
mov dword [ebp - 0x14e0], eax
cmp dword [ebp - 0x14e0], 0
jne 0x42f795
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd0]
movsx edx, word [ecx + 8]
test edx, edx
je 0x42f795
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd0]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x14e0], edx
cmp dword [ebp - 0x14e0], 0
jne 0x42f7d2
push 0xc7
lea eax, [ebp - 0x1790]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movsx ecx, byte [ebp - 0x1790]
cmp ecx, 0x41
jne 0x42f7c8
mov dword [ebp - 0x14e0], str.A:_flexlmlicense.dat
jmp 0x42f7d2
mov dword [ebp - 0x14e0], str.C:_flexlmlicense.dat
mov edx, dword [ebp + 8]
push edx
call fcn.0041da6f
add esp, 4
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14e0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042ff06
add esp, 0xc
mov dword [ebp - 0x14e0], eax
mov eax, dword [ebp - 0x14e0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00430d7e
add esp, 8
mov dword [ebp - 0x18], eax
call fcn.004980c9
mov dword [eax], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + 0xe8], eax
mov ecx, dword [ebp - 0x14e0]
push ecx
call fcn.00496dc0
add esp, 4
add eax, 3
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00428790
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0xf0], ecx
mov edx, dword [ebp - 0x18]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00428790
add esp, 8
mov dword [ebp - 0x14dc], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x14dc]
mov dword [edx + 0xe0], eax
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x430
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00428790
add esp, 8
mov dword [ebp - 0x14d4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14d4]
mov dword [eax + 0xec], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x14d4]
mov dword [edx + 0xec], eax
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x14e0]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00496980
add esp, 8
cmp dword [ebp - 0x14], 0
je 0x42f999
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 0xe8]
jle 0x42f8f3
jmp 0x42f999
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14dc]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x430
mov eax, dword [ebp - 0x14d4]
mov dword [eax + edx + 4], 0
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x430
mov edx, dword [ebp - 0x14d4]
mov al, byte [edx + ecx + 0x10]
or al, 2
mov ecx, dword [ebp - 0x18]
imul ecx, ecx, 0x430
mov edx, dword [ebp - 0x14d4]
mov byte [edx + ecx + 0x10], al
mov eax, dword [ebp - 0x18]
add eax, 1
imul eax, eax, 0x430
mov ecx, dword [ebp - 0x14d4]
add ecx, eax
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x430
mov eax, dword [ebp - 0x14d4]
mov dword [eax + edx], ecx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0042fe4f
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x42f98b
mov edx, dword [ebp - 0x14]
mov byte [edx], 0
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x42f8d6
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14dc]
mov dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x18]
sub ecx, 1
imul ecx, ecx, 0x430
mov edx, dword [ebp - 0x14d4]
mov dword [edx + ecx], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0xe4], 0