Function at 0x551a53
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffff3c
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10c]
cmp edx, 0xffffffff
je 0x551aa2
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x108]
cmp eax, ecx
je 0x551aa2
mov eax, dword [ebp + 8]
push dword [eax + 0x10c]
call sub.KERNEL32.DLL_CloseHandle
mov edx, dword [ebp + 8]
mov dword [edx + 0x10c], 0xffffffff
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x466f8]
test eax, eax
jne 0x551ac3
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x108]
mov eax, dword [ebp + 8]
mov dword [eax + 0x10c], ecx
jmp 0x551afb
push 0
push 0
push 3
push 0
push 1
push SysReAllocStringLen
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x466f8]
shl ecx, 5
lea ecx, [ecx + ecx*8]
mov eax, dword [ebp + 8]
add ecx, eax
add ecx, 0x1f8
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov edx, dword [ebp + 8]
mov dword [edx + 0x10c], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10c]
cmp eax, 0xffffffff
jne 0x551d68
push 0x58
push 0
lea edx, [ebp - 0x60]
push edx
call fcn.0066c86c
add esp, 0xc
call fcn.00407784
test eax, eax
je 0x551b2f
mov dword [ebp - 0x60], 0x58
jmp 0x551b36
mov dword [ebp - 0x60], 0x4c
mov byte [ebp - 0xc60], 0
mov byte [ebp - 0x460], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x466f8]
shl eax, 5
lea eax, [eax + eax*8]
mov edx, dword [ebp + 8]
add eax, edx
add eax, 0x1f8
push eax
lea ecx, [ebp - 0x860]
push ecx
call fcn.0066c9ec
add esp, 8
push 0x5c
lea eax, [ebp - 0x860]
push eax
call fcn.0066cb35
add esp, 8
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
test edx, edx
jne 0x551b93
lea ecx, [ebp - 0x860]
mov dword [ebp - 4], ecx
jmp 0x551b96
inc dword [ebp - 4]
push dword [ebp - 4]
lea eax, [ebp - 0x460]
push eax
call fcn.0066c9ec
add esp, 8
push 0x400
push 0
lea edx, [ebp - 0x10c4]
push edx
call fcn.0066c86c
add esp, 0xc
lea ecx, [ebp - 0x460]
push ecx
call fcn.0066ca1c
pop ecx
mov dword [ebp - 8], eax
lea eax, [ebp - 0x460]
push eax
lea edx, [ebp - 0x10c4]
push edx
call fcn.0066c9ec
add esp, 8
lea ecx, [ebp - 0x460]
push ecx
lea eax, [ebp - 0x10c3]
mov edx, dword [ebp - 8]
add eax, edx
push eax
call fcn.0066c9ec
add esp, 8
lea ecx, [ebp - 0x860]
mov eax, dword [ebp - 4]
cmp ecx, eax
je 0x551c29
mov edx, dword [ebp - 4]
mov byte [edx - 1], 0
lea ecx, [ebp - 0x860]
push ecx
lea eax, [ebp - 0xc60]
push eax
call fcn.0066c9ec
add esp, 8
mov byte [ebp - 0x860], 0
push 0x80c853
lea edx, [ebp - 0xcc4]
push edx
call fcn.0066c9ec
add esp, 8
push 0x58
push 0
lea ecx, [ebp - 0x60]
push ecx
call fcn.0066c86c
add esp, 0xc
call fcn.00407784
test eax, eax
je 0x551c66
mov dword [ebp - 0x60], 0x58
jmp 0x551c6d
mov dword [ebp - 0x60], 0x4c
mov eax, dword [0x6e7170]
mov dword [ebp - 0x5c], eax
xor edx, edx
mov dword [ebp - 0x58], edx
xor ecx, ecx
mov dword [ebp - 0x50], ecx
xor eax, eax
mov dword [ebp - 0x4c], eax
lea edx, [ebp - 0x460]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], 0x400
lea ecx, [ebp - 0x860]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], 0x400
push 0
lea eax, [ebp - 0xc60]
push eax
call fcn.0066e7cc
add esp, 8
test eax, eax
je 0x551cca
lea edx, [ebp - 0xc60]
push edx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea ecx, [ebp - 0xc60]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], 0xa1800
push 0x5a06
call fcn.00402a64
pop ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x10c4]
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0xcc4]
mov dword [ebp - 0x24], edx
lea ecx, [ebp - 0x60]
push ecx
call fcn.00463210
pop ecx
test eax, eax
je 0x551d63
push 0
push 0
push 3
push 0
push 1
push SysReAllocStringLen
push dword [ebp - 0x44]
call sub.KERNEL32.DLL_CreateFileA
mov edx, dword [ebp + 8]
mov dword [edx + 0x10c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10c]
cmp ecx, 0xffffffff
jne 0x551d3b
or eax, 0xffffffff
jmp 0x551d6a
push dword [ebp - 0x44]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x466f8]
shl ecx, 5
lea ecx, [ecx + ecx*8]
mov eax, dword [ebp + 8]
add ecx, eax
add ecx, 0x1f8
push ecx
call fcn.0066c9ec
add esp, 8
jmp 0x551d68
or eax, 0xffffffff
jmp 0x551d6a
xor eax, eax
mov esp, ebp
pop ebp
ret