Function at 0x1004ddd0
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x530]
sub esp, 0x530
push 0xffffffffffffffff
push 0x1013759c
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x1019d008]
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.10004ac0
mov dword [ebp - 4], 0
mov edx, 0x10163748
lea ecx, [ebp + 0xc8]
call fcn.1005a990
mov edx, 0x10163748
lea ecx, [ebp + 0xc8]
call fcn.1005aa20
lea ecx, [ebp + 0xe0]
call fcn.10005020
mov byte [ebp - 4], 1
push ecx
push 0x5c
lea ecx, [ebp + 0xc8]
call fcn.100341b0
cmp eax, 0xffffffff
jne 0x1004deee
push ecx
push 0x2f
lea ecx, [ebp + 0xc8]
call fcn.100341b0
cmp eax, 0xffffffff
jne 0x1004deee
lea ecx, [ebp + 0xe0]
call fcn.100121e0
push 0x412
lea eax, [ebp + 0x118]
push 0
push eax
call fcn.10105570
add esp, 0xc
lea eax, [ebp + 0x118]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1004df22
cmp eax, 0x208
jae 0x1004df22
xor eax, eax
mov word [ebp + 0x528], ax
lea eax, [ebp + 0x118]
push eax
call fcn.10005260
add esp, 4
lea ecx, [ebp + 0xe0]
push eax
lea eax, [ebp + 0x118]
push eax
call fcn.10004c10
jmp 0x1004df22
push eax
push 0
lea eax, [ebp + 0xb0]
push eax
lea ecx, [ebp + 0xc8]
call fcn.1000ea50
mov byte [ebp - 4], 2
lea ecx, [ebp + 0xe0]
push eax
call fcn.10004fa0
mov byte [ebp - 4], 1
lea ecx, [ebp + 0xb0]
call fcn.10004ab0
lea ecx, [ebp + 0xe0]
call fcn.10004f90
test al, al
jne 0x1004e284
mov ecx, esi
call fcn.10004f90
test al, al
jne 0x1004e284
mov ecx, ebx
call fcn.10004f90
test al, al
jne 0x1004e284
push esi
lea ecx, [ebp + 0x80]
call fcn.10004ac0
mov byte [ebp - 4], 3
mov edx, 0x10163748
lea ecx, [ebp + 0x80]
call fcn.1005a990
mov edx, 0x10163748
lea ecx, [ebp + 0x80]
call fcn.1005aa20
mov edx, 0x10
lea ecx, [ebp + 0xe0]
call fcn.10062c60
push 4
mov dword [ebp + 0x110], 0
call fcn.101037ad
add esp, 4
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.1006b070
mov byte [ebp - 4], 6
lea eax, [ebp]
push eax
lea eax, [ebp + 0xc8]
push eax
lea ecx, [ebp + 0x110]
call fcn.1006b6a0
mov edi, dword [ebp + 0x110]
test al, al
je 0x1004e230
nop dword [eax + eax]
lea ecx, [ebp + 0xf8]
call fcn.10005020
mov byte [ebp - 4], 8
lea eax, [ebp + 0x28]
push eax
lea edx, [ebp + 0xe0]
lea ecx, [ebp - 0x28]
call fcn.10020060
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp + 0xf8]
push eax
call fcn.10004fa0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x28]
call fcn.10004ab0
mov edx, 0x10
lea ecx, [ebp + 0xf8]
call fcn.10062c60
push 4
mov dword [ebp + 0x114], 0
call fcn.101037ad
add esp, 4
mov dword [ebp - 0x10], 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.1006b070
mov byte [ebp - 4], 0xc
lea eax, [ebp + 0x80]
push eax
lea edx, [ebp + 0xf8]
lea ecx, [ebp + 0xb0]
call fcn.10020060
add esp, 4
mov byte [ebp - 4], 0xd
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0xb0]
push eax
lea ecx, [ebp + 0x114]
call fcn.1006b6a0
test al, al
je 0x1004e1f7
mov esi, dword [ebp + 0x114]
lea eax, [ebp + 0x68]
push eax
lea edx, [ebp + 0xf8]
lea ecx, [ebp + 0x98]
call fcn.10020060
add esp, 4
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0x98]
push ebx
push eax
call fcn.1004dcc0
test al, al
jne 0x1004e1ab
lea eax, [ebp + 0x40]
mov ecx, esi
push eax
call fcn.1006b480
test al, al
je 0x1004e125
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.10004ab0
jmp 0x1004e0d4
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.10004ab0
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.10004ab0
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.10004ab0
mov byte [ebp - 4], 8
test esi, esi
je 0x1004e17a
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x1004e16f
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1004e16f
mov dword [esi], 0xffffffff
push 4
push esi
call fcn.10103c3e
add esp, 8
lea eax, [ebp]
mov dword [ebp + 0x114], 0
push eax
mov ecx, edi
call fcn.1006b480
test al, al
je 0x1004e221
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.10004ab0
jmp 0x1004e000
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x98]
call fcn.10004ab0
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.10004ab0
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.10004ab0
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x114]
call fcn.1006b660
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.10004ab0
mov bl, 1
jmp 0x1004e232
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0xb0]
call fcn.10004ab0
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x68]
call fcn.10004ab0
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x114]
call fcn.1006b660
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xf8]
call fcn.10004ab0
xor bl, bl
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x28]
call fcn.10004ab0
mov byte [ebp - 4], 3
test edi, edi
je 0x1004e269
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x1004e25e
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x1004e25e
mov dword [edi], 0xffffffff
push 4
push edi
call fcn.10103c3e
add esp, 8
mov dword [ebp + 0x110], 0
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x80]
call fcn.10004ab0
jmp 0x1004e286
xor bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xe0]
call fcn.10004ab0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc8]
call fcn.10004ab0
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.10103789
lea esp, [ebp + 0x530]
pop ebp
ret 0xc