Function at 0x551e6f
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 0x551ebe
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x108]
cmp eax, ecx
je 0x551ebe
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 0x551edf
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x108]
mov eax, dword [ebp + 8]
mov dword [eax + 0x10c], ecx
jmp 0x551f17
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 0x552184
push 0x58
push 0
lea edx, [ebp - 0x60]
push edx
call fcn.0066cc88
add esp, 0xc
call fcn.004078bc
test eax, eax
je 0x551f4b
mov dword [ebp - 0x60], 0x58
jmp 0x551f52
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.0066ce08
add esp, 8
push 0x5c
lea eax, [ebp - 0x860]
push eax
call fcn.0066cf51
add esp, 8
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
test edx, edx
jne 0x551faf
lea ecx, [ebp - 0x860]
mov dword [ebp - 4], ecx
jmp 0x551fb2
inc dword [ebp - 4]
push dword [ebp - 4]
lea eax, [ebp - 0x460]
push eax
call fcn.0066ce08
add esp, 8
push 0x400
push 0
lea edx, [ebp - 0x10c4]
push edx
call fcn.0066cc88
add esp, 0xc
lea ecx, [ebp - 0x460]
push ecx
call fcn.0066ce38
pop ecx
mov dword [ebp - 8], eax
lea eax, [ebp - 0x460]
push eax
lea edx, [ebp - 0x10c4]
push edx
call fcn.0066ce08
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.0066ce08
add esp, 8
lea ecx, [ebp - 0x860]
mov eax, dword [ebp - 4]
cmp ecx, eax
je 0x552045
mov edx, dword [ebp - 4]
mov byte [edx - 1], 0
lea ecx, [ebp - 0x860]
push ecx
lea eax, [ebp - 0xc60]
push eax
call fcn.0066ce08
add esp, 8
mov byte [ebp - 0x860], 0
push 0x81a227
lea edx, [ebp - 0xcc4]
push edx
call fcn.0066ce08
add esp, 8
push 0x58
push 0
lea ecx, [ebp - 0x60]
push ecx
call fcn.0066cc88
add esp, 0xc
call fcn.004078bc
test eax, eax
je 0x552082
mov dword [ebp - 0x60], 0x58
jmp 0x552089
mov dword [ebp - 0x60], 0x4c
mov eax, dword [0x6eba38]
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.0066ebe8
add esp, 8
test eax, eax
je 0x5520e6
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.00402b9c
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.004634f8
pop ecx
test eax, eax
je 0x55217f
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 0x552157
or eax, 0xffffffff
jmp 0x552186
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.0066ce08
add esp, 8
jmp 0x552184
or eax, 0xffffffff
jmp 0x552186
xor eax, eax
mov esp, ebp
pop ebp
ret