Function at 0x461c30
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x530]
sub esp, 0x530
push 0xffffffffffffffff
push 0x5243ac
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x57f578]
xor eax, ebp
mov dword [ebp + 0x52c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x538]
lea ecx, [ebp + 0xc8]
mov esi, dword [ebp + 0x53c]
mov ebx, dword [ebp + 0x540]
push eax
call fcn.00408fd0
mov dword [ebp - 4], 0
lea eax, [ebp + 0xc8]
push 0x54a114
push eax
call fcn.0040d250
lea eax, [ebp + 0xc8]
push 0x54a114
push eax
call fcn.0040d2d0
add esp, 0x10
lea ecx, [ebp + 0xe0]
call fcn.00408fb0
mov byte [ebp - 4], 1
push ecx
push 0x5c
lea ecx, [ebp + 0xc8]
call fcn.00410350
cmp eax, 0xffffffff
jne 0x461d81
push ecx
push 0x2f
lea ecx, [ebp + 0xc8]
call fcn.00410350
cmp eax, 0xffffffff
jne 0x461d81
lea ecx, [ebp + 0xe0]
call fcn.00409140
mov dword [ebp + 0x110], 0
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], 0
jb 0x461d14
mov eax, dword [eax]
lea ecx, [ebp + 0x110]
push ecx
push eax
call fcn.00409800
push 0x412
lea eax, [ebp + 0x118]
push 0
push eax
call fcn.004e8f30
add esp, 0x14
lea eax, [ebp + 0x118]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x461db5
cmp eax, 0x208
jae 0x461db5
xor eax, eax
mov word [ebp + 0x528], ax
lea eax, [ebp + 0x118]
push eax
call fcn.00409590
add esp, 4
lea ecx, [ebp + 0xe0]
push eax
lea eax, [ebp + 0x118]
push eax
call fcn.004092c0
jmp 0x461db5
push eax
push 0
lea eax, [ebp + 0xb0]
push eax
lea ecx, [ebp + 0xc8]
call fcn.0040da20
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xe0]
push eax
call fcn.00408f30
mov byte [ebp - 4], 1
lea ecx, [ebp + 0xb0]
call fcn.00408080
lea ecx, [ebp + 0xe0]
call fcn.00408e80
test al, al
jne 0x462118
mov ecx, esi
call fcn.00408e80
test al, al
jne 0x462118
mov ecx, ebx
call fcn.00408e80
test al, al
jne 0x462118
push esi
lea ecx, [ebp + 0x80]
call fcn.00408fd0
mov byte [ebp - 4], 3
lea eax, [ebp + 0x80]
push 0x54a114
push eax
call fcn.0040d250
lea eax, [ebp + 0x80]
push 0x54a114
push eax
call fcn.0040d2d0
lea eax, [ebp + 0xe0]
push 0x10
push eax
call fcn.00411a60
push 4
mov dword [ebp + 0x110], 0
call fcn.004e67b9
add esp, 0x1c
mov dword [ebp + 0x114], eax
mov byte [ebp - 4], 4
mov dword [eax], 0
mov dword [eax], 0xffffffff
mov byte [ebp - 4], 3
mov dword [ebp + 0x110], eax
mov byte [ebp - 4], 5
lea ecx, [ebp]
call fcn.00425b20
mov byte [ebp - 4], 6
lea eax, [ebp]
push eax
lea eax, [ebp + 0xc8]
push eax
lea ecx, [ebp + 0x110]
call fcn.00425f60
mov edi, dword [ebp + 0x110]
test al, al
je 0x4620c4
nop
lea ecx, [ebp + 0xf8]
call fcn.00408fb0
mov byte [ebp - 4], 8
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0xe0]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00410480
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp + 0xf8]
push eax
call fcn.00408f30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.00408080
lea eax, [ebp + 0xf8]
push 0x10
push eax
call fcn.00411a60
push 4
mov dword [ebp + 0x114], 0
call fcn.004e67b9
add esp, 0xc
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xa
mov dword [eax], 0
mov dword [eax], 0xffffffff
mov byte [ebp - 4], 8
mov dword [ebp + 0x114], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x40]
call fcn.00425b20
mov byte [ebp - 4], 0xc
lea eax, [ebp + 0x80]
push eax
lea eax, [ebp + 0xf8]
push eax
lea eax, [ebp + 0xb0]
push eax
call fcn.00410480
add esp, 0xc
mov byte [ebp - 4], 0xd
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0xb0]
push eax
lea ecx, [ebp + 0x114]
call fcn.00425f60
test al, al
je 0x46208b
mov esi, dword [ebp + 0x114]
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0xf8]
push eax
lea eax, [ebp + 0x98]
push eax
call fcn.00410480
add esp, 0xc
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0x98]
push ebx
push eax
call fcn.00461b20
test al, al
jne 0x46203f
lea eax, [ebp + 0x40]
mov ecx, esi
push eax
call fcn.00425ca0
test al, al
je 0x461fb9
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.00408080
jmp 0x461f66
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.00408080
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.00408080
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.00408080
mov byte [ebp - 4], 8
test esi, esi
je 0x46200e
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x462003
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x462003
mov dword [esi], 0xffffffff
push 4
push esi
call fcn.004e6b81
add esp, 8
lea eax, [ebp]
mov dword [ebp + 0x114], 0
push eax
mov ecx, edi
call fcn.00425ca0
test al, al
je 0x4620b5
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.00408080
jmp 0x461e90
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.00408080
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.00408080
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.00408080
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x114]
call fcn.00425ef0
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.00408080
mov bl, 1
jmp 0x4620c6
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.00408080
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.00408080
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x114]
call fcn.00425ef0
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.00408080
xor bl, bl
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x28]
call fcn.00408080
mov byte [ebp - 4], 3
test edi, edi
je 0x4620fd
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x4620f2
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x4620f2
mov dword [edi], 0xffffffff
push 4
push edi
call fcn.004e6b81
add esp, 8
mov dword [ebp + 0x110], 0
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x80]
call fcn.00408080
jmp 0x46211a
xor bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xe0]
call fcn.00408080
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc8]
call fcn.00408080
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x52c]
xor ecx, ebp
call fcn.004e679a
lea esp, [ebp + 0x530]
pop ebp
ret 0xc