Function at 0x4366c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x52bc
call fcn.00416eb0
mov dword [ebp - 0x50a8], 0
mov dword [ebp - 0x4e40], 0
push 0x258
push 0
lea eax, [ebp - 0x5098]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
movsx eax, word [edx + 2]
test eax, eax
jne 0x43695f
mov dword [ebp - 0x50b4], 0
push 0x3b
push 0x48bc48
lea ecx, [ebp - 0x50b0]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 0x317]
test eax, eax
je 0x436749
mov ecx, dword [ebp + 8]
add ecx, 0x317
mov dword [ebp - 0x52a4], ecx
jmp 0x436758
mov edx, dword [ebp + 8]
add edx, 0x30c
mov dword [ebp - 0x52a4], edx
mov eax, dword [ebp - 0x52a4]
push eax
push 0x48bc4c
lea ecx, [ebp - 0x517c]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 0x317]
test eax, eax
je 0x436793
mov ecx, dword [ebp + 8]
add ecx, 0x317
mov dword [ebp - 0x52a8], ecx
jmp 0x4367a2
mov edx, dword [ebp + 8]
add edx, 0x30c
mov dword [ebp - 0x52a8], edx
mov eax, dword [ebp - 0x52a8]
push eax
push str._s_LF
lea ecx, [ebp - 0x5118]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push str.LM_LICENSE_FILE
mov edx, dword [ebp + 8]
push edx
call fcn.0042d382
add esp, 8
mov dword [ebp - 0x5180], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3fc]
and ecx, 0x10
test ecx, ecx
je 0x436819
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3fc]
and eax, 0x2000000
test eax, eax
jne 0x436819
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d993
add esp, 8
mov dword [ebp - 0x50ac], eax
mov edx, dword [ebp - 0x50ac]
mov dword [ebp - 0x50b4], edx
jmp 0x436885
lea eax, [ebp - 0x517c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d382
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x50ac], 0
jne 0x436885
lea edx, [ebp - 0x5118]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042d382
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x50ac], 0
jne 0x436885
lea ecx, [ebp - 0x517c]
push ecx
call fcn.00432240
add esp, 4
lea edx, [ebp - 0x517c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042d382
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x5180], 0
je 0x43689c
mov ecx, dword [ebp - 0x5180]
mov dword [ebp - 0x52ac], ecx
jmp 0x4368a6
mov dword [ebp - 0x52ac], 0x4dea54
cmp dword [ebp - 0x50ac], 0
je 0x4368c6
cmp dword [ebp - 0x5180], 0
je 0x4368c6
lea edx, [ebp - 0x50b0]
mov dword [ebp - 0x52b0], edx
jmp 0x4368d0
mov dword [ebp - 0x52b0], 0x4dea58
cmp dword [ebp - 0x50ac], 0
je 0x4368e7
mov eax, dword [ebp - 0x50ac]
mov dword [ebp - 0x52b4], eax
jmp 0x4368f1
mov dword [ebp - 0x52b4], 0x4dea5c
mov ecx, dword [ebp - 0x52ac]
push ecx
mov edx, dword [ebp - 0x52b0]
push edx
mov eax, dword [ebp - 0x52b4]
push eax
push str._s_s_s
lea ecx, [ebp - 0x4e34]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
lea edx, [ebp - 0x4e34]
mov dword [ebp - 0x50a8], edx
cmp dword [ebp - 0x50a8], 0
je 0x436947
mov eax, dword [ebp - 0x50a8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x436947
mov dword [ebp - 0x50a8], 0
cmp dword [ebp - 0x50b4], 0
je 0x43695f
mov edx, dword [ebp - 0x50b4]
push edx
call fcn.0042b4ab
add esp, 4
cmp dword [0x48bc44], 0xffffffff
jne 0x43697e
push str.FLEXLM_USE_FINDER
mov eax, dword [ebp + 8]
push eax
call fcn.0042d382
add esp, 8
mov dword [0x48bc44], eax
cmp dword [ebp - 0x50a8], 0
jne 0x436999
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
movsx eax, word [edx + 0x39a]
cmp eax, 1
jne 0x4369a2
cmp dword [0x48bc44], 0
je 0x4369b4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044f8bf
add esp, 4
mov dword [ebp - 0x50a8], eax
cmp dword [ebp - 0x50a8], 0
jne 0x4369da
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
movsx ecx, word [eax + 0xa]
test ecx, ecx
je 0x4369da
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x50a8], ecx
cmp dword [ebp - 0x50a8], 0
jne 0x436a17
push 0xc7
lea edx, [ebp - 0x5248]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movsx eax, byte [ebp - 0x5248]
cmp eax, 0x41
jne 0x436a0d
mov dword [ebp - 0x50a8], str.A:_flexlmlicense.dat
jmp 0x436a17
mov dword [ebp - 0x50a8], 0x48bca8
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041b8ec
add esp, 4
push 0x2711
push 0
lea edx, [ebp - 0x271c]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x271c]
push eax
mov ecx, dword [ebp - 0x50a8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00437167
add esp, 0xc
mov dword [ebp - 0x50a8], eax
mov eax, dword [ebp - 0x50a8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00437e73
add esp, 8
mov dword [ebp - 0x4e3c], eax
call dword [sym.imp.MSVCRT.dll__errno]
mov dword [eax], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x4e3c]
mov dword [edx + 0x84], eax
mov ecx, dword [ebp - 0x50a8]
push ecx
call sub.MSVCRT.dll_strlen
add esp, 4
add eax, 3
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.0042b3d0
add esp, 8
mov dword [ebp - 0x4e38], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4e38]
mov dword [eax + 0x8c], ecx
mov edx, dword [ebp - 0x4e3c]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042b3d0
add esp, 8
mov dword [ebp - 0x50a4], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x50a4]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp - 0x4e3c]
imul ecx, ecx, 0x34
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042b3d0
add esp, 8
mov dword [ebp - 0x509c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x509c]
mov dword [eax + 0x88], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x509c]
mov dword [edx + 0x88], eax
mov dword [ebp - 0x4e3c], 0
mov ecx, dword [ebp - 0x50a8]
push ecx
mov edx, dword [ebp - 0x4e38]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
cmp dword [ebp - 0x4e38], 0
je 0x436c19
mov eax, dword [ebp - 0x4e3c]
mov ecx, dword [ebp - 0x50a4]
mov edx, dword [ebp - 0x4e38]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x4e3c]
imul eax, eax, 0x34
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + eax + 4], 0
mov edx, dword [ebp - 0x4e3c]
imul edx, edx, 0x34
mov eax, dword [ebp - 0x509c]
mov cl, byte [eax + edx + 0x10]
or cl, 2
mov edx, dword [ebp - 0x4e3c]
imul edx, edx, 0x34
mov eax, dword [ebp - 0x509c]
mov byte [eax + edx + 0x10], cl
mov ecx, dword [ebp - 0x4e3c]
add ecx, 1
imul ecx, ecx, 0x34
mov edx, dword [ebp - 0x509c]
add edx, ecx
mov eax, dword [ebp - 0x4e3c]
imul eax, eax, 0x34
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + eax], edx
mov edx, dword [ebp - 0x4e38]
push edx
call fcn.004370a9
add esp, 4
mov dword [ebp - 0x4e38], eax
cmp dword [ebp - 0x4e38], 0
je 0x436c05
mov eax, dword [ebp - 0x4e38]
mov byte [eax], 0
mov ecx, dword [ebp - 0x4e38]
add ecx, 1
mov dword [ebp - 0x4e38], ecx
mov edx, dword [ebp - 0x4e3c]
add edx, 1
mov dword [ebp - 0x4e3c], edx
jmp 0x436b47
mov eax, dword [ebp - 0x4e3c]
mov ecx, dword [ebp - 0x50a4]
mov dword [ecx + eax*4], 0
mov edx, dword [ebp - 0x4e3c]
sub edx, 1
imul edx, edx, 0x34
mov eax, dword [ebp - 0x509c]
mov dword [eax + edx], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x7c]
cmp dword [edx + eax*4], 0
je 0x436f0f
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.00446b80
add esp, 8
mov dword [ebp - 0x509c], eax
cmp dword [ebp - 0x509c], 0
je 0x436ef5
mov ecx, dword [ebp - 0x509c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x50a0], edx
mov eax, dword [ebp - 0x4e40]
add eax, 1
mov dword [ebp - 0x4e40], eax
lea ecx, [ebp - 0x5098]
push ecx
mov edx, dword [ebp - 0x509c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0044ed51
add esp, 0xc
mov dword [ebp - 8], eax
push 0x4c
push 0
lea ecx, [ebp - 0x5294]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edx, dword [ebp + 8]
add edx, 0x14
push edx
lea eax, [ebp - 0x5294]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042b2a0
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0xfffffff3
jne 0x436d17
lea eax, [ebp - 0x5294]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x14
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042b2a0
add esp, 0xc
lea eax, [ebp - 0x5294]
push eax
call fcn.0042b246
add esp, 4
mov dword [ebp - 0x4e3c], 0
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2720], ecx
jmp 0x436d59
mov edx, dword [ebp - 0x2720]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x2720], eax
mov ecx, dword [ebp - 0x4e3c]
add ecx, 1
mov dword [ebp - 0x4e3c], ecx
cmp dword [ebp - 0x2720], 0
je 0x436d64
jmp 0x436d3b
cmp dword [ebp - 0x4e3c], 0
jle 0x436e67
call dword [sym.imp.MSVCRT.dll__errno]
mov dword [eax], 0
mov edx, dword [ebp - 0x4e3c]
imul edx, edx, 0x78
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042b3d0
add esp, 8
mov dword [ebp - 0x2720], eax
mov ecx, dword [ebp - 0x4e3c]
imul ecx, ecx, 0x78
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x2720]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x5298], 0
jmp 0x436dd1
mov ecx, dword [ebp - 0x5298]
add ecx, 1
mov dword [ebp - 0x5298], ecx
mov edx, dword [ebp - 0x5298]
cmp edx, dword [ebp - 0x4e3c]
jge 0x436e08
mov eax, dword [ebp - 0x5298]
add eax, 1
imul eax, eax, 0x78
mov ecx, dword [ebp - 0x2720]
add ecx, eax
mov edx, dword [ebp - 0x5298]
imul edx, edx, 0x78
mov eax, dword [ebp - 0x2720]
mov dword [eax + edx + 0x48], ecx
jmp 0x436dc2
mov ecx, dword [ebp - 0x5298]
sub ecx, 1
imul ecx, ecx, 0x78
mov edx, dword [ebp - 0x2720]
mov dword [edx + ecx + 0x48], 0
push 8
mov eax, dword [ebp + 8]
push eax
call fcn.0042b3d0
add esp, 8
mov dword [ebp - 0x529c], eax
mov ecx, dword [ebp - 0x529c]
mov edx, dword [ebp - 0x2720]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x529c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x414]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x529c]
mov dword [eax + 0x414], ecx
jmp 0x436e71
mov dword [ebp - 0x2720], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
push eax
mov ecx, dword [ebp - 0x2720]
push ecx
mov edx, dword [ebp - 0x509c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0043b3e0
add esp, 0x10
mov ecx, dword [ebp - 0x50a4]
add ecx, 4
mov dword [ebp - 0x50a4], ecx
cmp dword [ebp - 0x50a0], 1
jne 0x436ef5
mov edx, dword [ebp - 0x509c]
cmp dword [edx + 4], 3
jne 0x436ef5
mov eax, dword [ebp - 0x509c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x52a0], ecx
mov edx, dword [ebp - 0x509c]
mov eax, dword [ebp - 0x50a0]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x509c]
push ecx
call fcn.00434176
add esp, 4
mov edx, dword [ebp - 0x509c]
mov eax, dword [ebp - 0x52a0]
mov dword [edx + 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x80]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x80], edx
jmp 0x436c52
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0
push 4
mov edx, dword [ebp + 8]
push edx
call fcn.0044e750
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.004479a4
add esp, 4
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044e750
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.004378bd
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.0043831e
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0
jmp 0x436f80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x7c]
cmp dword [edx + eax*4], 0
je 0x436fb7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
imul ecx, ecx, 0x34
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x88]
add eax, ecx
push eax
call fcn.00434176
add esp, 4
jmp 0x436f6b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], 0
cmp dword [0x4dea50], 0
je 0x436fd3
call dword [0x4dea50]
cmp dword [ebp - 0x4e40], 0
je 0x437040
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0xffffffff
je 0x436fee
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xffffffc3
jne 0x43703c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0
je 0x43700b
xor edx, edx
test edx, edx
je 0x43700b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x52b8], ecx
jmp 0x437015
mov dword [ebp - 0x52b8], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x52b8]
mov dword [edx + 0x14], eax
push 0
push 0xff
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042afe0
add esp, 0x1c
xor eax, eax
jmp 0x4370a5
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
je 0x437051
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
jmp 0x4370a5
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0
je 0x43706e
xor edx, edx
test edx, edx
je 0x43706e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x52bc], ecx
jmp 0x437078
mov dword [ebp - 0x52bc], 0xffffffff
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x52bc]
mov dword [edx + 0x14], eax
push 0
push 0xff
push 0
push 0
push 0x168
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042afe0
add esp, 0x1c
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret