Function at 0x42e57c
Capabilities:
Get common file path
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
push ebx
push esi
push edi
mov dword [ebp - 0x210], 0
mov al, byte [0x44f368]
mov byte [ebp - 0x104], al
lea edi, [ebp - 0x103]
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x44f36c]
mov byte [ebp - 0x208], al
lea edi, [ebp - 0x207]
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x20c], 0
lea eax, [ebp - 0x104]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x104]
push eax
call fcn.004307e0
add esp, 4
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov byte [ebp + eax - 0x105], 0
push str.spnserv.dat
lea eax, [ebp - 0x104]
push eax
push 0x44f370
lea eax, [ebp - 0x208]
push eax
call fcn.0042f1df
add esp, 0x10
cmp dword [ebp + 0x10], 2
jne 0x42e74d
push 0
push 2
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 3
push 0xc0000000
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
je 0x42e675
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0xffffffff
jne 0x42e69a
push str.Unable_to_service_standalone_clients._Please_restart_the_server_and_try_again._n
push 0
call fcn.00429ace
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], eax
mov eax, 1
jmp 0x42e7dd
mov eax, dword [ebp + 8]
add eax, 8
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0xffffffff
jne 0x42e6d8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x42e7dd
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0x400
mov eax, dword [ebp + 8]
mov dword [eax + 8], 0
push str.spnserv.dat
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
push 4
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x42e748
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x42e7dd
jmp 0x42e785
push str.spnserv.dat
push 0
push 6
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x42e785
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], eax
mov eax, 1
jmp 0x42e7dd
push 0
push 0
push 0
push 0xf001f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x42e7d2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x42e7dd
mov eax, dword [ebp - 0x210]
jmp 0x42e7dd
pop edi
pop esi
pop ebx
leave
ret