Function at 0x1000b950
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x1012a6ac
mov eax, dword fs:[0]
push eax
sub esp, 0x388
mov eax, dword [0x101636d0]
xor eax, esp
mov dword [esp + 0x384], eax
push ebp
push esi
push edi
mov eax, dword [0x101636d0]
xor eax, esp
push eax
lea eax, [esp + 0x398]
mov dword fs:[0], eax
xor ebp, ebp
cmp dword [ebx + 0x278], ebp
je 0x1000b99a
mov dword [ebx + 0x278], ebp
lea esi, [ebx + 0x160]
mov ecx, 1
mov dword [ebx + 0x15c], ebp
call fcn.100632f0
cmp byte [esi + 0x114], 0
je 0x1000b9be
add esi, 4
jmp 0x1000b9c0
mov esi, dword [esi]
xor eax, eax
mov word [esi + 4], ax
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], ebp
push str.SogouInputComponentsPicfaceJson
lea edi, [esp + 0x270]
mov dword [esp + 0x3a4], ebp
call fcn.10062630
push 0x1013c82c
push 0x1013c7e4
mov edx, edi
mov byte [esp + 0x3a8], 1
call fcn.10062cd0
add esp, 8
cmp byte [ebx + 0x398], 0
lea eax, [ebx + 0x288]
jne 0x1000ba17
mov eax, dword [ebx + 0x284]
add eax, 4
push eax
push 0x1013c7e4
lea edx, [esp + 0x274]
call fcn.10062cd0
push str..json
push 0x1013c7e4
lea edx, [esp + 0x27c]
call fcn.10062cd0
add esp, 0x10
cmp byte [esp + 0x388], 0
je 0x1000ba5c
lea ecx, [esp + 0x278]
mov dword [esp + 0x14], ecx
jmp 0x1000ba67
mov edx, dword [esp + 0x274]
mov dword [esp + 0x14], edx
call fcn.100680e0
cmp word [eax + 0x4d4], bp
lea esi, [eax + 0x4d4]
jne 0x1000ba9c
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push esi
push ebp
push ebp
push 0x23
push ebp
call edi
test eax, eax
je 0x1000ba9c
push esi
push 1
push ebp
push 0x23
push ebp
call edi
test eax, eax
je 0x1000ba9c
xor esi, esi
mov ebp, dword [esp + 0x14]
lea edi, [esp + 0x144]
add ebp, 4
call fcn.10062500
mov eax, esi
mov edx, edi
mov byte [esp + 0x3a0], 2
call fcn.10062710
mov edi, vtable.t_str.0
test ebp, ebp
je 0x1000bb34
push 0
push 0
push 0
push 0
push 0
push ebp
lea ecx, [esp + 0x38]
call fcn.1005f3c0
cmp byte [esp + 0x13c], 0
lea eax, [esp + 0x2c]
jne 0x1000baef
mov eax, dword [esp + 0x28]
cmp word [eax + 4], 0x2e
lea esi, [esp + 0x144]
jne 0x1000bb08
lea ecx, [esp + 0x20]
call fcn.100602a0
jmp 0x1000bb11
lea eax, [esp + 0x20]
call fcn.1005fa30
cmp byte [esp + 0x13c], 0
mov dword [esp + 0x20], edi
jne 0x1000bb34
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x1000bb34
push eax
call fcn.100cf89b
add esp, 4
mov byte [esp + 0x3a0], 3
cmp dword [esp + 0x148], 0
je 0x1000bb92
cmp byte [esp + 0x260], 0
lea eax, [esp + 0x150]
jne 0x1000bb5e
mov eax, dword [esp + 0x14c]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1000bb92
shr eax, 4
not al
and al, 1
je 0x1000bb92
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x148]
call fcn.10060110
lea ecx, [ebx + 0x27c]
call fcn.100626a0
cmp byte [esp + 0x260], 0
mov dword [esp + 0x144], edi
jne 0x1000bbbe
mov eax, dword [esp + 0x14c]
lea ecx, [esp + 0x150]
cmp eax, ecx
je 0x1000bbbe
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x388], 0
mov dword [esp + 0x26c], edi
jne 0x1000bbea
mov eax, dword [esp + 0x274]
lea edx, [esp + 0x278]
cmp eax, edx
je 0x1000bbea
push eax
call fcn.100cf89b
add esp, 4
lea ecx, [esp + 0x18]
call fcn.10061940
mov ecx, dword [esp + 0x398]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x384]
xor ecx, esp
call fcn.100cf604
add esp, 0x394
ret