Function at 0x40ebc0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8410
call fcn.005194d0
mov eax, dword [0x594ca8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x3ff
lea ecx, [ebp - 0x803]
push 0
push ecx
mov dword [ebp - 0x840c], eax
mov byte [ebp - 0x804], 0
call fcn.00518ea0
push 0x3ff
lea edx, [ebp - 0xc03]
push 0
push edx
mov byte [ebp - 0xc04], 0
call fcn.00518ea0
push 0x27ff
lea eax, [ebp - 0x3403]
push 0
push eax
mov byte [ebp - 0x3404], 0
call fcn.00518ea0
push 0x27ff
lea ecx, [ebp - 0x5c03]
push 0
push ecx
mov byte [ebp - 0x5c04], 0
call fcn.00518ea0
push 0x27ff
lea edx, [ebp - 0x8403]
push 0
push edx
mov byte [ebp - 0x8404], 0
call fcn.00518ea0
push 0x3ff
lea eax, [ebp - 0x403]
push 0
push eax
mov byte [ebp - 0x404], 0
call fcn.00518ea0
add esp, 0x48
push 1
push 0x1c
lea ecx, [ebp - 0x804]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov esi, dword [0x59cce4]
test esi, esi
jne 0x40eca7
mov dword [ebp - 0x8408], esi
jmp 0x40ecec
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x40ece4
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0051b880
mov edi, esp
test edi, edi
je 0x40ece4
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push esi
push 0
push 3
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, edi
jmp 0x40ece6
xor eax, eax
mov dword [ebp - 0x8408], eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x570678
call ebx
inc eax
cmp eax, 0x3fffffff
jg 0x40ed35
lea esi, [eax + eax]
mov eax, esi
call fcn.0051b880
mov edi, esp
test edi, edi
je 0x40ed35
push 0
push 0
push esi
push edi
push 0xffffffffffffffff
push 0x570678
push 0
push 3
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
neg esi
sbb esi, esi
and esi, edi
jmp 0x40ed37
xor esi, esi
push str.1905Cache1
call ebx
inc eax
cmp eax, 0x3fffffff
jg 0x40ed78
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0051b880
mov edi, esp
test edi, edi
je 0x40ed78
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push str.1905Cache1
push 0
push 3
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, edi
jmp 0x40ed7a
xor eax, eax
mov edx, dword [ebp - 0x8408]
push edx
push esi
push eax
lea eax, [ebp - 0x804]
push eax
push str._s_s_sTongji_s.xml
lea ecx, [ebp - 0x8404]
push 0x2800
push ecx
call fcn.00515f7a
mov edx, dword [str.link.1905.com]
mov edi, dword [0x59cd08]
mov eax, dword [0x571310]
mov ecx, dword [0x571314]
mov dword [ebp - 0x404], edx
mov dx, word [0x571318]
add esp, 0x1c
mov dword [ebp - 0xc04], 0x544547
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], ecx
mov word [ebp - 0x3f8], dx
test edi, edi
jne 0x40edf0
mov dword [ebp - 0x8408], edi
jmp 0x40ee35
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x40ee2d
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0051b880
mov esi, esp
test esi, esi
je 0x40ee2d
push 0
push 0
push ebx
push esi
push 0xffffffffffffffff
push edi
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x40ee2f
xor eax, eax
mov dword [ebp - 0x8408], eax
mov ebx, dword [0x59ccf8]
test ebx, ebx
jne 0x40ee47
mov dword [ebp - 0x8410], ebx
jmp 0x40ee8c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x40ee84
lea edi, [eax + eax]
mov eax, edi
call fcn.0051b880
mov esi, esp
test esi, esi
je 0x40ee84
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x40ee86
xor eax, eax
mov dword [ebp - 0x8410], eax
mov eax, dword [ebp - 0x840c]
mov edi, dword [eax]
test edi, edi
jne 0x40eea0
mov dword [ebp - 0x840c], edi
jmp 0x40eee5
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x40eedd
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0051b880
mov esi, esp
test esi, esi
je 0x40eedd
push 0
push 0
push ebx
push esi
push 0xffffffffffffffff
push edi
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x40eedf
xor eax, eax
mov dword [ebp - 0x840c], eax
mov ebx, dword [0x59ccec]
test ebx, ebx
je 0x40ef2c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x40ef2c
lea edi, [eax + eax]
mov eax, edi
call fcn.0051b880
mov esi, esp
test esi, esi
je 0x40ef2c
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x40ef2e
xor eax, eax
mov ecx, dword [ebp - 0x8408]
mov edx, dword [0x59ccf4]
push ecx
mov ecx, dword [0x59cd00]
push edx
mov edx, dword [ebp - 0x8410]
push ecx
mov ecx, dword [ebp - 0x840c]
push edx
push ecx
push eax
lea edx, [ebp - 0x5c04]
push str._pc.gif_aupdatemsoftdid_sappid1700verid_spid_sstep_doverid_durl_s
push edx
call fcn.00515ef6
lea eax, [ebp - 0x8404]
push eax
lea ecx, [ebp - 0x5c04]
push ecx
lea edx, [ebp - 0x404]
push edx
lea ecx, [ebp - 0x3404]
lea edx, [ebp - 0xc04]
call fcn.00402070
add esp, 0x2c
lea esp, [ebp - 0x841c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0051553d
mov esp, ebp
pop ebp
ret