Function at 0x425fb0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4c95f2
mov eax, dword fs:[0]
push eax
sub esp, 0x4a4
mov eax, dword [0x50a4c0]
xor eax, esp
mov dword [esp + 0x4a0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50a4c0]
xor eax, esp
push eax
lea eax, [esp + 0x4b8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4c8]
mov ebx, ecx
lea ecx, [esp + 0x264]
mov dword [esp + 0x14], eax
call fcn.00430920
mov ebp, 0x105
mov dword [esp + 0x4c0], 0
mov ecx, ebp
lea esi, [esp + 0x26c]
mov dword [esp + 0x384], ebp
call fcn.00431260
cmp byte [esp + 0x380], 0
lea eax, [esp + 0x270]
jne 0x426041
mov eax, dword [esp + 0x26c]
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
add eax, 4
push eax
push 0
push 0
push 0x1a
push 0
call edi
test eax, eax
je 0x426142
xor eax, eax
cmp dword [esp + 0x384], eax
je 0x42606f
mov dword [esp + 0x384], eax
mov ecx, 1
lea esi, [esp + 0x26c]
mov dword [esp + 0x268], eax
call fcn.00431260
cmp byte [esp + 0x380], 0
lea eax, [esp + 0x270]
jne 0x42609f
mov eax, dword [esp + 0x26c]
xor ecx, ecx
mov word [eax + 4], cx
mov ecx, ebp
lea esi, [esp + 0x26c]
mov dword [esp + 0x384], ebp
call fcn.00431260
cmp byte [esp + 0x380], 0
lea eax, [esp + 0x270]
jne 0x4260d2
mov eax, dword [esp + 0x26c]
add eax, 4
push eax
push 1
push 0
push 0x1a
push 0
call edi
test eax, eax
je 0x426142
lea ecx, [esp + 0x264]
call fcn.00429940
mov ecx, ebx
call fcn.0042c990
push 0x4f0b74
push 0x4f0ffc
mov edx, eax
call fcn.00430eb0
add esp, 8
cmp byte [esp + 0x380], 0
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
jne 0x42613b
mov eax, dword [esp + 0x26c]
lea edx, [esp + 0x270]
cmp eax, edx
je 0x42613b
push eax
call fcn.004a4a7f
add esp, 4
xor al, al
jmp 0x4263f6
lea edi, [esp + 0x264]
call fcn.00430d10
cmp byte [esp + 0x380], 0
lea esi, [esp + 0x270]
jne 0x426166
mov esi, dword [esp + 0x26c]
lea ecx, [esp + 0x13c]
call fcn.00430920
lea eax, [esi + 4]
lea edx, [esp + 0x13c]
call fcn.00430b00
mov byte [esp + 0x4c0], 0
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x4261a1
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x14]
lea esi, [ebx + 0x254]
add eax, 4
mov edx, esi
call fcn.00430b00
cmp byte [esp + 0x258], 0
mov ebp, vtable.t_str.0
mov dword [esp + 0x13c], ebp
jne 0x4261e6
mov eax, dword [esp + 0x144]
lea ecx, [esp + 0x148]
cmp eax, ecx
je 0x4261e6
push eax
call fcn.004a4a7f
add esp, 4
cmp byte [ebx + 4], 0
je 0x426325
mov ecx, esi
call fcn.0042b4b0
push eax
lea ecx, [esp + 0x140]
call fcn.00430a60
mov ecx, str.Application_Data
lea eax, [esp + 0x13c]
call fcn.00430be0
test al, al
je 0x4262f1
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x426235
mov eax, dword [esp + 0x144]
push 2
add eax, 4
push 0x4f0024
push eax
call fcn.004a6e24
add esp, 0xc
test eax, eax
je 0x4262f1
mov eax, str.AppDataRoaming
lea edx, [esp + 0x13c]
call fcn.00430b00
lea ecx, [esp + 0x38c]
call fcn.00429ba0
lea edx, [esp + 0x38c]
push edx
mov ecx, esi
mov byte [esp + 0x4c4], 3
call fcn.0042b500
cmp byte [esp + 0x258], 0
lea edi, [esp + 0x148]
jne 0x42629c
mov edi, dword [esp + 0x144]
lea ecx, [esp + 0x18]
call fcn.00430920
lea eax, [edi + 4]
lea edx, [esp + 0x18]
call fcn.00430b00
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x390]
call fcn.00429f70
lea ecx, [esp + 0x18]
call fcn.00430ad0
mov ecx, esi
call fcn.0042a1e0
test al, al
je 0x4262e5
lea ecx, [esp + 0x38c]
push ecx
mov ecx, esi
call fcn.00429fd0
lea ecx, [esp + 0x38c]
call fcn.00430ad0
mov byte [esp + 0x4c0], 0
cmp byte [esp + 0x258], 0
mov dword [esp + 0x13c], ebp
jne 0x426325
mov eax, dword [esp + 0x144]
lea edx, [esp + 0x148]
cmp eax, edx
je 0x426325
push eax
call fcn.004a4a7f
add esp, 4
call fcn.00428580
test al, al
jne 0x4263c8
push str.Current_AppdataPath:
lea ecx, [esp + 0x140]
call fcn.00430a60
mov byte [esp + 0x4c0], 5
cmp byte [ebx + 0x370], 0
lea eax, [ebx + 0x260]
jne 0x426360
mov eax, dword [ebx + 0x25c]
add eax, 4
push eax
push 0x4f0ffc
lea edx, [esp + 0x144]
call fcn.00430eb0
add esp, 8
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x426390
mov eax, dword [esp + 0x144]
add eax, 4
push eax
call fcn.004286f0
add esp, 4
cmp byte [esp + 0x258], 0
mov dword [esp + 0x13c], ebp
jne 0x4263c8
mov eax, dword [esp + 0x144]
lea ecx, [esp + 0x148]
cmp eax, ecx
je 0x4263c8
push eax
call fcn.004a4a7f
add esp, 4
cmp byte [esp + 0x380], 0
mov dword [esp + 0x264], ebp
jne 0x4263f4
mov eax, dword [esp + 0x26c]
lea edx, [esp + 0x270]
cmp eax, edx
je 0x4263f4
push eax
call fcn.004a4a7f
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x4b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4a0]
xor ecx, esp
call fcn.004a4a25
add esp, 0x4b0
ret 4