Function at 0x1003a9c
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x658
mov eax, dword [0x100d048]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x648], eax
xor eax, eax
mov dword [ebp - 0x400], esi
mov ecx, 0xfd
lea edi, [ebp - 0x3fc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x60c], esi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x608]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x61c], esi
mov dword [ebp - 0x638], esi
mov dword [ebp - 0x650], esi
mov dword [ebp - 0x610], esi
mov dword [ebp - 0x614], esi
mov dword [ebp - 0x654], esi
mov dword [ebp - 0x62c], esi
stosw word es:[edi], ax
mov dword [ebp - 0x630], esi
lea eax, [ebp - 0x650]
push eax
lea eax, [ebp - 0x638]
push eax
lea eax, [ebp - 0x61c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x610]
push eax
push 3
push esi
push esi
push dword [ebp - 0x634]
call sub.NETAPI32.dll_NetFileEnum
cmp eax, 5
mov dword [ebp - 0x620], eax
je 0x1003f12
cmp eax, esi
je 0x1003b8a
cmp eax, 0xea
jne 0x1003cef
cmp dword [ebp - 0x61c], esi
mov dword [ebp - 0x618], esi
jbe 0x1003cdf
mov eax, dword [ebp - 0x610]
push dword [eax + 0xc]
call fcn.0100389b
test eax, eax
jne 0x1003cc0
mov eax, dword [ebp - 0x610]
push dword [eax]
push dword [ebp - 0x64c]
call fcn.010038bf
mov edi, eax
mov eax, dword [ebp - 0x610]
push dword [eax + 0x10]
push dword [ebp - 0x640]
call fcn.01003902
mov ebx, eax
mov eax, dword [ebp - 0x610]
push dword [eax + 4]
push dword [ebp - 0x644]
call fcn.01003946
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x610]
push dword [eax + 0xc]
push dword [ebp - 0x648]
call fcn.01003a58
cmp edi, esi
je 0x1003cc0
cmp ebx, esi
je 0x1003cc0
cmp dword [ebp - 0x624], esi
je 0x1003cc0
cmp eax, esi
je 0x1003cc0
xor eax, eax
mov ecx, 0xfe
lea edi, [ebp - 0x400]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x610]
push dword [eax]
mov dword [ebp - 0x630], 1
push dword [ebp - 0x634]
call sub.NETAPI32.dll_NetFileClose
test eax, eax
mov eax, dword [ebp - 0x610]
push dword [eax + 0xc]
jne 0x1003c93
push 0x3e
call fcn.01008098
push eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x400]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
jmp 0x1003cba
push 0x40
call fcn.01008098
push eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x400]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007c8b
inc dword [ebp - 0x618]
mov eax, dword [ebp - 0x618]
add dword [ebp - 0x610], 0x14
cmp eax, dword [ebp - 0x61c]
jb 0x1003b9c
cmp dword [ebp - 0x620], 0xea
je 0x1003b3f
cmp dword [ebp - 0x610], esi
je 0x1003d08
push dword [ebp - 0x610]
call sub.NETAPI32.dll_NetApiBufferFree
mov dword [ebp - 0x610], esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x104
lea eax, [ebp - 0x60c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1003f1a
push 0x10013ec
lea eax, [ebp - 0x60c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x60c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, esi
mov dword [ebp - 0x628], eax
je 0x1003f1a
push 0x10013dc
push eax
call ebx
push 0x10013c8
push dword [ebp - 0x628]
mov edi, eax
call ebx
push 0x10013b4
push dword [ebp - 0x628]
mov dword [ebp - 0x63c], eax
call ebx
cmp dword [ebp - 0x63c], esi
mov dword [ebp - 0x620], eax
je 0x100400f
cmp edi, esi
je 0x100400f
cmp eax, esi
je 0x100400f
lea eax, [ebp - 0x62c]
push eax
push dword [ebp - 0x634]
call edi
test eax, eax
jne 0x100400f
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x638]
push eax
lea eax, [ebp - 0x61c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x614]
push eax
push dword [ebp - 0x62c]
call dword [ebp - 0x620]
cmp eax, 5
mov dword [ebp - 0x620], eax
je 0x1004007
cmp eax, esi
je 0x1003e00
cmp eax, 0xea
jne 0x1003fb7
cmp dword [ebp - 0x61c], esi
mov dword [ebp - 0x618], esi
jbe 0x1003fa7
mov eax, dword [ebp - 0x614]
push dword [eax + 0x14]
call fcn.0100389b
test eax, eax
jne 0x1003f88
mov eax, dword [ebp - 0x614]
push dword [eax]
push dword [ebp - 0x64c]
call fcn.010038bf
mov edi, eax
mov eax, dword [ebp - 0x614]
push dword [eax + 0x10]
push dword [ebp - 0x640]
call fcn.01003902
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x614]
push dword [eax + 4]
push dword [ebp - 0x644]
call fcn.01003946
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x614]
push dword [eax + 0x14]
push dword [ebp - 0x648]
call fcn.01003a58
cmp edi, esi
je 0x1003f88
cmp dword [ebp - 0x658], esi
je 0x1003f88
cmp dword [ebp - 0x624], esi
je 0x1003f88
cmp eax, esi
je 0x1003f88
xor eax, eax
mov ecx, 0xfe
lea edi, [ebp - 0x400]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x614]
push dword [eax]
mov dword [ebp - 0x630], 1
push dword [ebp - 0x62c]
call dword [ebp - 0x63c]
test eax, eax
jne 0x1003f52
mov eax, dword [ebp - 0x614]
push dword [eax + 0x14]
push 0x3e
call fcn.01008098
push eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x400]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
jmp 0x1003f82
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x9c
call fcn.01008098
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007c8b
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007f13
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01006b1c
leave
ret 0x14
mov eax, dword [ebp - 0x610]
push dword [eax + 0xc]
push 0x40
call fcn.01008098
push eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x400]
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007c8b
inc dword [ebp - 0x618]
mov eax, dword [ebp - 0x618]
add dword [ebp - 0x614], 0x18
cmp eax, dword [ebp - 0x61c]
jb 0x1003e12
cmp dword [ebp - 0x620], 0xea
je 0x1003d0e
cmp dword [ebp - 0x630], esi
jne 0x1003fd8
push 0xb0
call fcn.01008098
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call fcn.01007c8b
cmp dword [ebp - 0x614], esi
je 0x1003ff1
push dword [ebp - 0x614]
call sub.NETAPI32.dll_NetApiBufferFree
mov dword [ebp - 0x614], esi
xor esi, esi
inc esi
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
jmp 0x1003f43
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x9c
call fcn.01008098
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007c8b
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.01007f13
jmp 0x1003ff4