Function at 0x65f910
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e0
cmp dword [0x7ec490], 1
push ebx
push ebp
push esi
push edi
je 0x65fe8d
xor eax, eax
mov ecx, 0x5a
lea edi, [esp + 0x80]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x16a
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x65fe8d
lea eax, [esp + 0x80]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x65f964
sub eax, edx
cmp eax, 1
jl 0x65fe8d
cmp eax, 0x104
jg 0x65fe8d
mov byte [esp + eax + 0x80], 0x5c
inc eax
mov edx, 0x16a
sub edx, eax
lea eax, [esp + eax + 0x80]
mov ecx, eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
call fcn.0065b400
lea ecx, [esp + 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x65fa21
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065b780
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov ebx, eax
test ebx, ebx
je 0x65fa21
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec3ec], ebx
call fcn.0065b8b0
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov esi, eax
test esi, esi
je 0x65fa21
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec3f0], esi
call fcn.0065ba10
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov ebp, eax
test ebp, ebp
jne 0x65fa2e
mov eax, 0x363
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec3f4], ebp
call fcn.0065bb20
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec3f8], eax
call fcn.0065bc50
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec3fc], eax
call fcn.0065bd80
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec400], eax
call fcn.0065bf50
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec404], eax
call fcn.0065c110
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec408], eax
call fcn.0065c240
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec40c], eax
call fcn.0065c390
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec410], eax
call fcn.0065c550
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec414], eax
call fcn.0065c730
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec418], eax
call fcn.0065c910
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov dword [0x7ec41c], eax
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065cae0
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec420], eax
call fcn.0065cc30
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec424], eax
call fcn.0065ce30
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec428], eax
call fcn.0065cf90
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec42c], eax
call fcn.0065d0e0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec430], eax
call fcn.0065d1d0
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec434], eax
call fcn.0065d3f0
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec438], eax
call fcn.0065d5d0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec43c], eax
call fcn.0065d760
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec440], eax
call fcn.0065d970
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov dword [0x7ec444], eax
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065db50
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov dword [0x7ec448], eax
call fcn.0065b530
lea edx, [esp + 0x80]
push edx
call ebx
mov edi, eax
test edi, edi
jne 0x65fc95
mov eax, 0x364
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065dd60
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec44c], eax
call fcn.0065deb0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec450], eax
call fcn.0065e030
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec454], eax
call fcn.0065e150
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec458], eax
call fcn.0065e2a0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec45c], eax
call fcn.0065e3f0
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec460], eax
call fcn.0065e540
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec464], eax
call fcn.0065e6d0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec468], eax
call fcn.0065eeb0
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec478], eax
call fcn.0065f090
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov dword [0x7ec47c], eax
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065f260
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov dword [0x7ec480], eax
call ebp
test eax, eax
js 0x65fe15
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065e830
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec46c], eax
call fcn.0065e9d0
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec470], eax
call fcn.0065ec60
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov dword [0x7ec474], eax
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
call fcn.0065b660
lea edx, [esp + 0x80]
push edx
call ebx
mov edi, eax
test edi, edi
je 0x65fe83
mov edx, 0x66
lea ecx, [esp + 0x10]
call fcn.0065f3c0
lea eax, [esp + 0x10]
push eax
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec484], eax
call fcn.0065f5e0
lea ecx, [esp + 0x10]
push ecx
push edi
call esi
mov edx, 0x66
lea ecx, [esp + 0x10]
mov dword [0x7ec488], eax
call fcn.0065f7b0
lea edx, [esp + 0x10]
push edx
push edi
call esi
mov dword [0x7ec48c], eax
mov dword [0x7ec490], 1
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret