Function at 0x416280
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5187a6
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
mov eax, dword [0x563910]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x27c], ebx
cmp dword [edi + 0x260], ebx
jne 0x4163b0
mov eax, dword [0x56dd1c]
test eax, eax
jne 0x4162fb
push 0x38
call fcn.004dc2f5
add esp, 4
mov dword [ebp - 0x27c], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x4162ed
mov ecx, eax
call fcn.004020b0
jmp 0x4162ef
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x56dd1c], eax
lea ecx, [ebp - 0x248]
push ecx
mov ecx, eax
call fcn.004027f0
mov edx, eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x230]
call fcn.00416170
lea esi, [edi + 0x250]
mov dword [ebp - 0x27c], eax
cmp esi, eax
je 0x41635e
cmp dword [esi + 0x14], 8
jb 0x416343
push dword [esi]
call fcn.004dc2f0
mov eax, dword [ebp - 0x27c]
add esp, 4
xor ecx, ecx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], cx
mov ecx, esi
push eax
call fcn.00403130
cmp dword [ebp - 0x21c], 8
jb 0x416375
push dword [ebp - 0x230]
call fcn.004dc2f0
add esp, 4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x234], 8
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
jb 0x4163b0
push dword [ebp - 0x248]
call fcn.004dc2f0
add esp, 4
cmp dword [edi + 0x264], 8
lea esi, [edi + 0x250]
jb 0x4163c3
mov eax, dword [esi]
jmp 0x4163c5
mov eax, esi
push eax
push str.read_from_reg:_path_is__s
push 0x112
push str.DNDownloaderModel::_calcInstallPath
call fcn.0043aed0
add esp, 0x10
cmp dword [edi + 0x260], 0
je 0x416420
push 0x545204
mov edx, esi
lea ecx, [ebp - 0x230]
call fcn.00410a30
add esp, 4
mov dword [ebp - 4], 2
mov ebx, 1
push eax
mov dword [ebp - 0x27c], ebx
call fcn.00435510
add esp, 4
mov byte [ebp - 0x27d], bl
test al, al
je 0x416427
mov byte [ebp - 0x27d], 0
mov dword [ebp - 4], 0xffffffff
test bl, 1
je 0x41644a
cmp dword [ebp - 0x21c], 8
jb 0x41644a
push dword [ebp - 0x230]
call fcn.004dc2f0
add esp, 4
cmp byte [ebp - 0x27d], 0
je 0x416485
cmp dword [esi + 0x14], 8
jb 0x41645d
mov eax, dword [esi]
jmp 0x41645f
mov eax, esi
push eax
push str._s_is_not_exist_player
push 0x116
push str.DNDownloaderModel::_calcInstallPath
call fcn.0043aed0
add esp, 0x10
mov ecx, esi
push 0
push 0x543c38
call fcn.004037f0
cmp dword [edi + 0x260], 0
jne 0x4166a6
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.004e7190
add esp, 0xc
lea eax, [ebp - 0x27c]
push eax
push 0x10
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x4164d8
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x27c]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
cmp word [ebp - 0x218], ax
jne 0x416502
xor ecx, ecx
jmp 0x41651f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
jmp 0x416510
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416510
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.004037f0
mov dword [ebp - 4], 3
cmp dword [ebp - 0x220], 0
je 0x416688
xor eax, eax
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
push 1
push 0x543c04
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 4
call fcn.00402f70
lea eax, [ebp - 0x298]
push eax
call fcn.00402100
mov ecx, eax
call fcn.004028a0
push eax
lea edx, [ebp - 0x230]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x260]
call fcn.00420160
add esp, 4
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 6
push ecx
push eax
call fcn.0043f170
add esp, 8
cmp dword [ebp - 0x24c], 8
jb 0x4165d0
push dword [ebp - 0x260]
call fcn.004dc2f0
add esp, 4
xor eax, eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x284], 8
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
jb 0x416608
push dword [ebp - 0x298]
call fcn.004dc2f0
add esp, 4
cmp dword [ebp - 0x238], 0
je 0x41664d
lea eax, [ebp - 0x248]
push eax
call fcn.00435510
add esp, 4
test al, al
je 0x41664d
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x298]
push eax
call fcn.00435310
add esp, 8
mov ecx, esi
push eax
call fcn.0040fe00
lea ecx, [ebp - 0x298]
call fcn.00403270
cmp dword [esi + 0x14], 8
jb 0x416657
mov eax, dword [esi]
jmp 0x416659
mov eax, esi
push eax
push str.read_player_path_from_shortcut__s
push 0x129
push str.DNDownloaderModel::_calcInstallPath
call fcn.0043aed0
add esp, 0x10
cmp dword [ebp - 0x234], 8
jb 0x416688
push dword [ebp - 0x248]
call fcn.004dc2f0
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x21c], 8
jb 0x4166a6
push dword [ebp - 0x230]
call fcn.004dc2f0
add esp, 4
lea ecx, [edi + 0x238]
cmp ecx, esi
je 0x4166ba
push 0xffffffffffffffff
push 0
push esi
call fcn.004033d0
cmp dword [edi + 0x260], 0
jne 0x4167b7
lea edx, [edi + 0x4e4]
lea ecx, [ebp - 0x278]
call fcn.00433530
mov dword [ebp - 4], 7
mov eax, dword [0x56dd1c]
test eax, eax
jne 0x416714
push 0x38
call fcn.004dc2f5
add esp, 4
mov dword [ebp - 0x27c], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x416709
mov ecx, eax
call fcn.004020b0
jmp 0x41670b
xor eax, eax
mov byte [ebp - 4], 7
mov dword [0x56dd1c], eax
lea ecx, [ebp - 0x298]
push ecx
mov ecx, eax
call fcn.004022e0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 9
call fcn.00403050
mov byte [ebp - 4], 7
cmp dword [ebp - 0x284], 8
jb 0x416751
push dword [ebp - 0x298]
call fcn.004dc2f0
add esp, 4
lea eax, [ebp - 0x278]
cmp esi, eax
je 0x416767
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004033d0
cmp dword [esi + 0x14], 8
jb 0x416771
mov eax, dword [esi]
jmp 0x416773
mov eax, esi
push eax
push str.get_install_path_from_MaxFreeSpace:__s
push 0x134
push str.DNDownloaderModel::_calcInstallPath
call fcn.0043aed0
lea ecx, [edi + 0x4cc]
add esp, 0x10
cmp ecx, esi
je 0x41679f
push 0xffffffffffffffff
push 0
push esi
call fcn.004033d0
cmp dword [ebp - 0x264], 8
jb 0x416863
push dword [ebp - 0x278]
jmp 0x41685b
push str._vms_
mov edx, esi
lea ecx, [ebp - 0x260]
call fcn.00410a30
add esp, 4
lea eax, [ebp - 0x260]
mov dword [ebp - 4], 0xa
push eax
call fcn.00435510
add esp, 4
test al, al
je 0x4167ed
mov byte [edi + 0x268], 1
lea edx, [edi + 0x4e4]
lea ecx, [ebp - 0x298]
call fcn.00433530
mov esi, eax
add edi, 0x4cc
cmp edi, esi
je 0x416835
cmp dword [edi + 0x14], 8
jb 0x41681a
push dword [edi]
call fcn.004dc2f0
add esp, 4
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov ecx, edi
push esi
mov word [edi], ax
call fcn.00403130
cmp dword [ebp - 0x284], 8
jb 0x41684c
push dword [ebp - 0x298]
call fcn.004dc2f0
add esp, 4
cmp dword [ebp - 0x24c], 8
jb 0x416863
push dword [ebp - 0x260]
call fcn.004dc2f0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004dc2d2
mov esp, ebp
pop ebp
ret