Function at 0x1009e078
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x1009e080
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x1009e616
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x1009e547
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.10097a3c
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x1009e0c9
mov edx, 0x1009e638
mov eax, dword [ebp - 0x18]
call fcn.1005ff88
mov edx, 0x1009e65c
mov eax, 0x1009e638
call fcn.1009787c
call fcn.100547f0
cmp eax, 1
je 0x1009e0e7
cmp eax, 2
jne 0x1009e0f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009e5f8
push 0x1009e688
call sub.kernel32.dll_LoadLibraryW
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], 0
je 0x1009e11d
push 0x1009e6a4
mov eax, dword [ebp - 0x14]
push eax
call fcn.100085d0
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 4], eax
push 0
push 0x1a
lea eax, [ebp - 0x226]
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathW
xor eax, eax
push ebp
push 0x1009e17c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x22c]
call fcn.10048004
lea eax, [ebp - 0x22c]
mov edx, 0x1009e6f0
call fcn.10005d3c
mov ecx, dword [ebp - 0x22c]
mov dl, 1
mov eax, dword [0x100473cc]
call fcn.10047a00
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009e18b
cmp dword [0x100b199c], 0
je 0x1009e43d
mov eax, dword [0x100b199c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x1009e43d
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x1009e1c8
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x1009e43d
cmp dword [ebp - 0x10], 0
je 0x1009e431
push 0
push 0
lea ecx, [ebp - 0x230]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x230]
call fcn.100059cc
push eax
call dword [ebp - 0x10]
test eax, eax
jne 0x1009e2fa
mov eax, dword [0x100b199c]
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, dword [ebp - 8]
inc eax
imul eax, eax, 0x64
pop edx
mov ecx, edx
cdq
idiv ecx
mov ebx, eax
cmp dword [ebp - 0x18], 0
je 0x1009e251
lea ecx, [ebp - 0x234]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x234]
mov edx, 0x1009e728
call fcn.10005d3c
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x18]
call fcn.1005ff88
lea ecx, [ebp - 0x238]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x238]
mov edx, 0x1009e728
call fcn.10005d3c
mov eax, dword [ebp - 0x238]
mov edx, 0x1009e65c
call fcn.1009787c
push 1
lea ecx, [ebp - 0x23c]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b19a0]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x23c]
call fcn.1000b7c4
push eax
lea ecx, [ebp - 0x240]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x240]
call fcn.100059cc
push eax
push ebx
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp + 8]
dec eax
jne 0x1009e431
cmp dword [ebp - 0x18], 0
je 0x1009e2e6
mov edx, 0x1009e754
mov eax, dword [ebp - 0x18]
call fcn.1005ff88
mov edx, 0x1009e65c
mov eax, 0x1009e754
call fcn.1009787c
jmp 0x1009e43d
mov eax, dword [0x100b199c]
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, dword [ebp - 8]
inc eax
imul eax, eax, 0x64
pop edx
mov ecx, edx
cdq
idiv ecx
mov ebx, eax
cmp dword [ebp - 0x18], 0
je 0x1009e34b
lea ecx, [ebp - 0x244]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x244]
mov edx, 0x1009e788
call fcn.10005d3c
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x18]
call fcn.1005ff88
lea ecx, [ebp - 0x248]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
lea eax, [ebp - 0x248]
mov edx, 0x1009e788
call fcn.10005d3c
mov eax, dword [ebp - 0x248]
mov edx, 0x1009e65c
call fcn.1009787c
push 1
push 0xffffffffffffffff
lea ecx, [ebp - 0x24c]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x24c]
call fcn.100059cc
push eax
push ebx
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp + 8]
dec eax
jne 0x1009e3d0
cmp dword [ebp - 0x18], 0
je 0x1009e3bf
mov edx, 0x1009e754
mov eax, dword [ebp - 0x18]
call fcn.1005ff88
mov edx, 0x1009e65c
mov eax, 0x1009e7b0
call fcn.1009787c
jmp 0x1009e43d
xor eax, eax
push ebp
push 0x1009e427
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
je 0x1009e41d
push 0
lea ecx, [ebp - 0x254]
mov edx, dword [ebp - 8]
mov eax, dword [0x100b199c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x254]
lea edx, [ebp - 0x250]
call fcn.10055970
mov ecx, dword [ebp - 0x250]
mov edx, 0x1009e7e8
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009e431
inc dword [ebp - 8]
dec dword [ebp - 0x1c]
jne 0x1009e1b6
xor eax, eax
push ebp
push 0x1009e46b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
je 0x1009e461
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x58]
mov eax, dword [ebp - 0xc]
call fcn.10003d38
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009e475
cmp dword [0x100b199c], 0
je 0x1009e48f
mov eax, dword [0x100b199c]
call fcn.10003d38
xor eax, eax
mov dword [0x100b199c], eax
cmp dword [0x100b1998], 0
je 0x1009e4a9
mov eax, dword [0x100b1998]
call fcn.10003d38
xor eax, eax
mov dword [0x100b1998], eax
cmp dword [0x100b19a0], 0
je 0x1009e4c3
mov eax, dword [0x100b19a0]
call fcn.10003d38
xor eax, eax
mov dword [0x100b19a0], eax
cmp dword [0x100b19a4], 0
je 0x1009e4dd
mov eax, dword [0x100b19a4]
call fcn.10003d38
xor eax, eax
mov dword [0x100b19a4], eax
cmp dword [0x100b19a8], 0
je 0x1009e4f7
mov eax, dword [0x100b19a8]
call fcn.10003d38
xor eax, eax
mov dword [0x100b19a8], eax
cmp dword [0x100b19ac], 0
je 0x1009e511
mov eax, dword [0x100b19ac]
call fcn.10003d38
xor eax, eax
mov dword [0x100b19ac], eax
cmp dword [0x100b19b0], 0
je 0x1009e52b
mov eax, dword [0x100b19b0]
call fcn.10003d38
xor eax, eax
mov dword [0x100b19b0], eax
cmp dword [ebp - 0x14], 0
je 0x1009e53a
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1009e5f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1009e61d
lea eax, [ebp - 0x264]
mov edx, 0xf
call fcn.10005938
ret