Function at 0x484850
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x52bc
call fcn.00446420
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 0x484aef
mov dword [ebp - 0x50b4], 0
push 0x3b
push 0x4dc998
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 0x4848d9
mov ecx, dword [ebp + 8]
add ecx, 0x317
mov dword [ebp - 0x52a4], ecx
jmp 0x4848e8
mov edx, dword [ebp + 8]
add edx, 0x30c
mov dword [ebp - 0x52a4], edx
mov eax, dword [ebp - 0x52a4]
push eax
push 0x4dc99c
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 0x484923
mov ecx, dword [ebp + 8]
add ecx, 0x317
mov dword [ebp - 0x52a8], ecx
jmp 0x484932
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.004677b2
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 0x4849a9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3fc]
and eax, 0x2000000
test eax, eax
jne 0x4849a9
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00467dc3
add esp, 8
mov dword [ebp - 0x50ac], eax
mov edx, dword [ebp - 0x50ac]
mov dword [ebp - 0x50b4], edx
jmp 0x484a15
lea eax, [ebp - 0x517c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004677b2
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x50ac], 0
jne 0x484a15
lea edx, [ebp - 0x5118]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004677b2
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x50ac], 0
jne 0x484a15
lea ecx, [ebp - 0x517c]
push ecx
call fcn.004799a0
add esp, 4
lea edx, [ebp - 0x517c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004677b2
add esp, 8
mov dword [ebp - 0x50ac], eax
cmp dword [ebp - 0x5180], 0
je 0x484a2c
mov ecx, dword [ebp - 0x5180]
mov dword [ebp - 0x52ac], ecx
jmp 0x484a36
mov dword [ebp - 0x52ac], 0x4e3350
cmp dword [ebp - 0x50ac], 0
je 0x484a56
cmp dword [ebp - 0x5180], 0
je 0x484a56
lea edx, [ebp - 0x50b0]
mov dword [ebp - 0x52b0], edx
jmp 0x484a60
mov dword [ebp - 0x52b0], 0x4e3354
cmp dword [ebp - 0x50ac], 0
je 0x484a77
mov eax, dword [ebp - 0x50ac]
mov dword [ebp - 0x52b4], eax
jmp 0x484a81
mov dword [ebp - 0x52b4], 0x4e3358
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 0x484ad7
mov eax, dword [ebp - 0x50a8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x484ad7
mov dword [ebp - 0x50a8], 0
cmp dword [ebp - 0x50b4], 0
je 0x484aef
mov edx, dword [ebp - 0x50b4]
push edx
call fcn.00465d6b
add esp, 4
cmp dword [0x4dc994], 0xffffffff
jne 0x484b0e
push str.FLEXLM_USE_FINDER
mov eax, dword [ebp + 8]
push eax
call fcn.004677b2
add esp, 8
mov dword [0x4dc994], eax
cmp dword [ebp - 0x50a8], 0
jne 0x484b29
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6c]
movsx eax, word [edx + 0x39a]
cmp eax, 1
jne 0x484b32
cmp dword [0x4dc994], 0
je 0x484b44
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049534f
add esp, 4
mov dword [ebp - 0x50a8], eax
cmp dword [ebp - 0x50a8], 0
jne 0x484b6a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
movsx ecx, word [eax + 0xa]
test ecx, ecx
je 0x484b6a
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 0x484ba7
push 0xc7
lea edx, [ebp - 0x5248]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movsx eax, byte [ebp - 0x5248]
cmp eax, 0x41
jne 0x484b9d
mov dword [ebp - 0x50a8], str.A:_flexlmlicense.dat
jmp 0x484ba7
mov dword [ebp - 0x50a8], 0x4dc9f8
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045ca99
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.00485334
add esp, 0xc
mov dword [ebp - 0x50a8], eax
mov eax, dword [ebp - 0x50a8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00486042
add esp, 8
mov dword [ebp - 0x4e3c], 1
mov edx, dword [ebp - 0x50a8]
mov dword [ebp - 4], edx
jmp 0x484c20
mov eax, dword [ebp - 0x4e3c]
add eax, 1
mov dword [ebp - 0x4e3c], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00485277
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x484c40
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x484c11
call dword [sym.imp.MSVCRT.dll__errno]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x4e3c]
mov dword [eax + 0x84], ecx
mov edx, dword [ebp - 0x50a8]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
add eax, 3
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00465c90
add esp, 8
mov dword [ebp - 0x4e38], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x4e38]
mov dword [ecx + 0x8c], edx
mov eax, dword [ebp - 0x4e3c]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00465c90
add esp, 8
mov dword [ebp - 0x50a4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x50a4]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp - 0x4e3c]
imul edx, edx, 0x34
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00465c90
add esp, 8
mov dword [ebp - 0x509c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x509c]
mov dword [ecx + 0x88], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x509c]
mov dword [eax + 0x88], ecx
mov dword [ebp - 0x4e3c], 0
mov edx, dword [ebp - 0x50a8]
push edx
mov eax, dword [ebp - 0x4e38]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
cmp dword [ebp - 0x4e38], 0
je 0x484de7
mov ecx, dword [ebp - 0x4e3c]
mov edx, dword [ebp - 0x50a4]
mov eax, dword [ebp - 0x4e38]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x4e3c]
imul ecx, ecx, 0x34
mov edx, dword [ebp - 0x509c]
mov dword [edx + ecx + 4], 0
mov eax, dword [ebp - 0x4e3c]
imul eax, eax, 0x34
mov ecx, dword [ebp - 0x509c]
mov dl, byte [ecx + eax + 0x10]
or dl, 2
mov eax, dword [ebp - 0x4e3c]
imul eax, eax, 0x34
mov ecx, dword [ebp - 0x509c]
mov byte [ecx + eax + 0x10], dl
mov edx, dword [ebp - 0x4e3c]
add edx, 1
imul edx, edx, 0x34
mov eax, dword [ebp - 0x509c]
add eax, edx
mov ecx, dword [ebp - 0x4e3c]
imul ecx, ecx, 0x34
mov edx, dword [ebp - 0x509c]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x4e38]
push eax
call fcn.00485277
add esp, 4
mov dword [ebp - 0x4e38], eax
cmp dword [ebp - 0x4e38], 0
je 0x484dd3
mov ecx, dword [ebp - 0x4e38]
mov byte [ecx], 0
mov edx, dword [ebp - 0x4e38]
add edx, 1
mov dword [ebp - 0x4e38], edx
mov eax, dword [ebp - 0x4e3c]
add eax, 1
mov dword [ebp - 0x4e3c], eax
jmp 0x484d15
mov ecx, dword [ebp - 0x4e3c]
mov edx, dword [ebp - 0x50a4]
mov dword [edx + ecx*4], 0
mov eax, dword [ebp - 0x4e3c]
sub eax, 1
imul eax, eax, 0x34
mov ecx, dword [ebp - 0x509c]
mov dword [ecx + eax], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x7c]
cmp dword [eax + ecx*4], 0
je 0x4850dd
push 2
mov ecx, dword [ebp + 8]
push ecx
call fcn.0048e860
add esp, 8
mov dword [ebp - 0x509c], eax
cmp dword [ebp - 0x509c], 0
je 0x4850c3
mov edx, dword [ebp - 0x509c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x50a0], eax
mov ecx, dword [ebp - 0x4e40]
add ecx, 1
mov dword [ebp - 0x4e40], ecx
lea edx, [ebp - 0x5098]
push edx
mov eax, dword [ebp - 0x509c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00480a51
add esp, 0xc
mov dword [ebp - 8], eax
push 0x4c
push 0
lea edx, [ebp - 0x5294]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
lea ecx, [ebp - 0x5294]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00463440
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xfffffff3
jne 0x484ee5
lea ecx, [ebp - 0x5294]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x14
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00463440
add esp, 0xc
lea ecx, [ebp - 0x5294]
push ecx
call fcn.004633e6
add esp, 4
mov dword [ebp - 0x4e3c], 0
mov edx, dword [ebp - 8]
mov dword [ebp - 0x2720], edx
jmp 0x484f27
mov eax, dword [ebp - 0x2720]
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x2720], ecx
mov edx, dword [ebp - 0x4e3c]
add edx, 1
mov dword [ebp - 0x4e3c], edx
cmp dword [ebp - 0x2720], 0
je 0x484f32
jmp 0x484f09
cmp dword [ebp - 0x4e3c], 0
jle 0x485035
call dword [sym.imp.MSVCRT.dll__errno]
mov dword [eax], 0
mov eax, dword [ebp - 0x4e3c]
imul eax, eax, 0x78
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465c90
add esp, 8
mov dword [ebp - 0x2720], eax
mov edx, dword [ebp - 0x4e3c]
imul edx, edx, 0x78
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x2720]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dword [ebp - 0x5298], 0
jmp 0x484f9f
mov edx, dword [ebp - 0x5298]
add edx, 1
mov dword [ebp - 0x5298], edx
mov eax, dword [ebp - 0x5298]
cmp eax, dword [ebp - 0x4e3c]
jge 0x484fd6
mov ecx, dword [ebp - 0x5298]
add ecx, 1
imul ecx, ecx, 0x78
mov edx, dword [ebp - 0x2720]
add edx, ecx
mov eax, dword [ebp - 0x5298]
imul eax, eax, 0x78
mov ecx, dword [ebp - 0x2720]
mov dword [ecx + eax + 0x48], edx
jmp 0x484f90
mov edx, dword [ebp - 0x5298]
sub edx, 1
imul edx, edx, 0x78
mov eax, dword [ebp - 0x2720]
mov dword [eax + edx + 0x48], 0
push 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465c90
add esp, 8
mov dword [ebp - 0x529c], eax
mov edx, dword [ebp - 0x529c]
mov eax, dword [ebp - 0x2720]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x529c]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x414]
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x529c]
mov dword [ecx + 0x414], edx
jmp 0x48503f
mov dword [ebp - 0x2720], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
push ecx
mov edx, dword [ebp - 0x2720]
push edx
mov eax, dword [ebp - 0x509c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b900
add esp, 0x10
mov edx, dword [ebp - 0x50a4]
add edx, 4
mov dword [ebp - 0x50a4], edx
cmp dword [ebp - 0x50a0], 1
jne 0x4850c3
mov eax, dword [ebp - 0x509c]
cmp dword [eax + 4], 3
jne 0x4850c3
mov ecx, dword [ebp - 0x509c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x52a0], edx
mov eax, dword [ebp - 0x509c]
mov ecx, dword [ebp - 0x50a0]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x509c]
push edx
call fcn.00478fbe
add esp, 4
mov eax, dword [ebp - 0x509c]
mov ecx, dword [ebp - 0x52a0]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x80]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], eax
jmp 0x484e20
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 0
push 4
mov eax, dword [ebp + 8]
push eax
call fcn.00494ff0
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00489874
add esp, 4
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00494ff0
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.00485a8c
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.004861c4
add esp, 4
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 0
jmp 0x48514e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x80]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x7c]
cmp dword [eax + ecx*4], 0
je 0x485185
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x80]
imul edx, edx, 0x34
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x88]
add ecx, edx
push ecx
call fcn.00478fbe
add esp, 4
jmp 0x485139
mov edx, dword [ebp + 8]
mov dword [edx + 0x80], 0
cmp dword [0x4e334c], 0
je 0x4851a1
call dword [0x4e334c]
cmp dword [ebp - 0x4e40], 0
je 0x48520e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xffffffff
je 0x4851bc
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0xffffffc3
jne 0x48520a
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
je 0x4851d9
xor eax, eax
test eax, eax
je 0x4851d9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x52b8], edx
jmp 0x4851e3
mov dword [ebp - 0x52b8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x52b8]
mov dword [eax + 0x14], ecx
push 0
push 0xff
push 0
push 0
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00463180
add esp, 0x1c
xor eax, eax
jmp 0x485273
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x48521f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x14]
jmp 0x485273
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
je 0x48523c
xor eax, eax
test eax, eax
je 0x48523c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x52bc], edx
jmp 0x485246
mov dword [ebp - 0x52bc], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x52bc]
mov dword [eax + 0x14], ecx
push 0
push 0xff
push 0
push 0
push 0x168
push 0xffffffffffffffff
mov edx, dword [ebp + 8]
push edx
call fcn.00463180
add esp, 0x1c
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret