Function at 0x485300
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aba26
mov eax, dword fs:[0]
push eax
sub esp, 0x29c
mov eax, dword [0x4de880]
xor eax, ebp
mov dword [ebp - 0x20], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0x23
lea eax, [ebp - 0x174]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0x4bb234
lea ecx, [ebp - 0x174]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x174]
push eax
call fcn.00483280
add esp, 8
test eax, eax
je 0x485463
mov ecx, dword [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x1ac]
call fcn.004021a0
mov dword [ebp - 4], 0
push 0x4bb244
lea ecx, [ebp - 0x1f8]
call fcn.004021a0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x1f8]
push edx
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x214]
push ecx
call fcn.0041cd30
add esp, 0xc
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0x288], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x288]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004061d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x214]
call fcn.00401e40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1f8]
call fcn.00401e40
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
push edx
call fcn.00422e10
add esp, 4
push 0x4bb24c
lea ecx, [ebp - 0x1ac]
call fcn.00401df0
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x485451
mov byte [ebp - 0x219], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ac]
call fcn.00401e40
mov al, byte [ebp - 0x219]
jmp 0x4858d6
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ac]
call fcn.00401e40
cmp dword [ebp + 0xc], 0
jne 0x485470
xor al, al
jmp 0x4858d6
push 0x4bb27c
lea ecx, [ebp - 0x238]
call fcn.00401600
mov dword [ebp - 4], 3
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x254]
call fcn.00401600
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x238]
push ecx
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x58]
push eax
call fcn.0041cae0
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x254]
call fcn.00401030
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x238]
call fcn.00401030
lea ecx, [ebp - 0x58]
call fcn.004018e0
test eax, eax
jne 0x4854ff
mov byte [ebp - 0x255], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x255]
jmp 0x4858d6
push str.25984794283661001614485219010202708249338366
lea ecx, [ebp - 0x58]
call fcn.00401050
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x4855f5
lea ecx, [ebp - 0x1b8]
push ecx
call fcn.0040b180
push 0x4bb2e4
mov ecx, 0x4e3ef0
call fcn.00483140
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x4855b9
mov eax, dword [ebp - 0x1b0]
add eax, 0x3f480
cdq
mov esi, eax
mov edi, edx
lea ecx, [ebp - 0x1b8]
call fcn.0040b160
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edx
mov edx, dword [ebp - 0x28c]
cmp edx, dword [ebp - 0x294]
jg 0x4855b7
jl 0x485596
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0x298]
jae 0x4855b7
mov byte [ebp - 0x256], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x256]
jmp 0x4858d6
jmp 0x4855d4
lea ecx, [ebp - 0x1b8]
call fcn.0040b160
push eax
push str.Trial
mov ecx, 0x4e3ef0
call fcn.00483090
mov byte [ebp - 0x257], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x257]
jmp 0x4858d6
push 0x4bb310
lea ecx, [ebp - 0x58]
call fcn.00401050
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x48562e
mov byte [ebp - 0x258], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x258]
jmp 0x4858d6
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x3c]
push edx
call fcn.00484560
add esp, 8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3c]
call fcn.004018e0
test eax, eax
jne 0x48567b
mov byte [ebp - 0x259], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.00401e40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x259]
jmp 0x4858d6
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.00485060
add esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1c]
call fcn.00406450
test eax, eax
jne 0x4856d4
mov byte [ebp - 0x25a], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1c]
call fcn.0041b7b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.00401e40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x25a]
jmp 0x4858d6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x260], esp
push 0x4bb2fc
call fcn.004021a0
mov dword [ebp - 0x29c], eax
lea ecx, [ebp - 0x190]
call fcn.00406570
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 0xa
push 0x1000
lea ecx, [ebp - 0x6c]
call fcn.0041b770
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00406450
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.00406350
push eax
lea ecx, [ebp - 0x190]
call fcn.004a4750
test eax, eax
je 0x485887
push 0
lea ecx, [ebp - 0x6c]
call fcn.00406350
push eax
lea ecx, [ebp - 0x1d8]
call fcn.004021a0
mov byte [ebp - 4], 0xc
push 0
push str.coreguard
lea ecx, [ebp - 0x1d8]
call fcn.0040db10
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0xffffffff
je 0x485878
push 0xffffffffffffffff
push 9
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040dbc0
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x2a8]
push edx
lea ecx, [ebp - 0x1d8]
call fcn.004061d0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x27c]
call fcn.00401e40
lea ecx, [ebp - 0x1d8]
call fcn.00401df0
push eax
call fcn.00440d64
add esp, 4
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0x752f
jl 0x485878
cmp dword [ebp - 0x1dc], 0x927bf
jg 0x485878
mov eax, dword [ebp - 0x1dc]
and eax, 0x80000001
jns 0x485814
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x485878
mov byte [ebp - 0x27d], 1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1d8]
call fcn.00401e40
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6c]
call fcn.0041b7b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.00406550
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1c]
call fcn.0041b7b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.00401e40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x27d]
jmp 0x4858d6
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1d8]
call fcn.00401e40
mov byte [ebp - 0x27e], 0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6c]
call fcn.0041b7b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.00406550
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1c]
call fcn.0041b7b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.00401e40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00401030
mov al, byte [ebp - 0x27e]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0043f9e9
mov esp, ebp
pop ebp
ret