Function at 0x415620
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ab06
mov eax, dword fs:[0]
push eax
sub esp, 0x38c
mov eax, dword [0x480090]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38c], 0x114
mov ecx, dword [ebp + 8]
call fcn.0040f680
movzx eax, byte [0x483528]
test eax, eax
jne 0x41575a
mov ecx, 1
imul ecx, ecx, 0
mov dword [ebp - 0x370], ecx
cmp dword [ebp - 0x370], 0x115
jae 0x415688
jmp 0x41568d
call fcn.0045e80b
mov edx, dword [ebp - 0x370]
mov byte [ebp + edx - 0x128], 0
lea eax, [ebp - 0x128]
push eax
push 0x114
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0
je 0x4156c8
cmp dword [ebp - 0x36c], 0x114
jb 0x4156cf
xor al, al
jmp 0x4158f3
mov ecx, 1
imul ecx, ecx, 0x114
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 0x115
jae 0x4156ee
jmp 0x4156f3
call fcn.0045e80b
mov edx, dword [ebp - 0x368]
mov byte [ebp + edx - 0x128], 0
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x398]
push ecx
call fcn.004119e0
mov dword [ebp - 0x388], eax
mov edx, dword [ebp - 0x388]
mov dword [ebp - 0x384], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp + 8]
call fcn.004101c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x398]
call fcn.0041b0a0
mov al, 1
jmp 0x4158f3
mov ecx, 2
imul ecx, ecx, 0
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0x22a
jae 0x415776
jmp 0x41577b
call fcn.0045e80b
xor edx, edx
mov eax, dword [ebp - 0x364]
mov word [ebp + eax - 0x354], dx
lea ecx, [ebp - 0x354]
push ecx
push 0x114
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0
jne 0x4157b3
xor al, al
jmp 0x4158f3
cmp dword [ebp - 0x35c], 0x114
jae 0x415809
mov edx, 2
imul edx, edx, 0x114
mov dword [ebp - 0x374], edx
cmp dword [ebp - 0x374], 0x22a
jae 0x4157de
jmp 0x4157e3
call fcn.0045e80b
xor eax, eax
mov ecx, dword [ebp - 0x374]
mov word [ebp + ecx - 0x354], ax
lea edx, [ebp - 0x354]
push edx
mov ecx, dword [ebp + 8]
call fcn.00410340
mov al, 1
jmp 0x4158f3
lea ecx, [ebp - 0x380]
call fcn.00410050
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x380]
call fcn.00411b20
push eax
mov ecx, dword [ebp - 0x35c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0
jne 0x41586e
mov byte [ebp - 0x357], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x380]
call fcn.0041b0a0
mov al, byte [ebp - 0x357]
jmp 0x4158f3
mov edx, dword [ebp - 0x35c]
push edx
lea ecx, [ebp - 0x380]
call fcn.00413a70
lea ecx, [ebp - 0x380]
call fcn.0040f700
cmp eax, dword [ebp - 0x360]
jne 0x4158a4
mov eax, dword [ebp - 0x35c]
sub eax, 1
cmp eax, dword [ebp - 0x360]
je 0x4158c5
mov byte [ebp - 0x356], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x380]
call fcn.0041b0a0
mov al, byte [ebp - 0x356]
jmp 0x4158f3
lea ecx, [ebp - 0x380]
push ecx
mov ecx, dword [ebp + 8]
call fcn.004101c0
mov byte [ebp - 0x355], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x380]
call fcn.0041b0a0
mov al, byte [ebp - 0x355]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045dacb
mov esp, ebp
pop ebp
ret 4