Function at 0x418790
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44c
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x41fd20
mov dword [ebp - 0x40], ecx
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
lea eax, [ebp - 0x458]
push 0x400
push 0
push eax
call fcn.00420e00
add esp, 0xc
mov esi, 0x200
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x30], 0
cmp esi, 0x201
jae 0x418836
jmp 0x4188d0
cmp ebx, esi
mov esi, ebx
jb 0x418924
cmp esi, 0x201
jb 0x4188d0
mov ebx, esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
sub ebx, dword [ebp - 0x30]
sub eax, ecx
cmp eax, ebx
jae 0x418890
add ebx, ecx
jb 0x4189ca
mov eax, dword [ebp - 0x20]
add eax, eax
cmp ebx, eax
cmovb ebx, eax
mov edi, ebx
add edi, ebx
jb 0x4189ca
test edi, edi
js 0x4189ca
call sub.KERNEL32.dll_GetProcessHeap
cmp dword [ebp - 0x20], 0
je 0x4188a0
push edi
push dword [ebp - 0x28]
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
jne 0x4188b1
jmp 0x4189e4
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x24], esi
mov eax, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
jmp 0x4188dd
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4189e4
mov edi, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esi
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], eax
jmp 0x4188dd
mov dword [ebp - 0x2c], 0x200
lea edi, [ebp - 0x458]
push 0
call sub.KERNEL32.dll_SetLastError
push edi
push esi
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov ebx, eax
test eax, eax
jne 0x4188fe
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x41899d
cmp ebx, esi
jne 0x418820
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x418820
add esi, esi
cmp esi, 0x201
jae 0x418836
jmp 0x4188d0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
cmp edx, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
jb 0x4189f2
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x4c]
mov edx, edi
push ebx
call fcn.00417a40
add esp, 4
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
movsd qword [ebp - 0x58], xmm0
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
mov dword [ecx], 0
test edi, edi
je 0x418989
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], edi
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov dword [ecx], 1
test edi, edi
jne 0x41897b
jmp 0x418989
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
call fcn.00404cf0
ud2
mov ecx, edi
mov edx, 2
call fcn.00404cd0
ud2
mov ecx, ebx
call fcn.00406d70
ud2