Function at 0x410217
Capabilities:
Create directory
Get common file path

Disassembly:
push 0x99c
mov eax, 0x4f93d1
call fcn.004e336a
mov eax, dword [ebp + 0x10]
xor esi, esi
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x9a8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x998], eax
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push esi
push eax
mov dword [ebp - 0x9a0], ebx
call fcn.004db6f0
add esp, 0xc
lea eax, [ebp - 0x21c]
push esi
push esi
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edi, [ebp - 0x21c]
sub edi, 2
mov ax, word [edi + 2]
lea edi, [edi + 2]
cmp ax, si
jne 0x41027a
mov eax, dword [0x50f2c8]
mov edx, ebx
mov dword [edi], eax
mov esi, edx
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x410293
lea edi, [ebp - 0x21c]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, cx
jne 0x4102a9
mov eax, dword [0x542750]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [ebp - 0x9a4], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push 0x50f1e8
lea eax, [ebp - 0x9a4]
xor esi, esi
push 0x50f1f0
push eax
mov dword [ebp - 4], esi
call fcn.0040301c
mov ebx, dword [0x542750]
add esp, 0x10
mov dword [ebp - 0x99c], ebx
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x998]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x410308
sub ecx, edx
sar ecx, 1
je 0x41038c
push 0x547b18
lea ecx, [ebp - 0x99c]
call fcn.004028a2
push esi
push dword [ebp - 0x99c]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call esi
push str.Jpgs_
lea ecx, [ebp - 0x99c]
call fcn.00402a02
xor eax, eax
push eax
push dword [ebp - 0x99c]
call esi
push dword [ebp - 0x9a0]
lea ecx, [ebp - 0x99c]
call fcn.00402a02
push str..ico
lea ecx, [ebp - 0x99c]
call fcn.00402a02
mov ebx, dword [ebp - 0x99c]
push 0x7530
push ebx
push edi
call dword [sym.imp.Http.dll_public:_static_bool___cdecl_NetTool::DownloadURL_wchar_t_const___wchar_t_const___long_int_]
add esp, 0xc
xor esi, esi
lea edi, [ebp - 0x21c]
sub edi, 2
cmp dword [ebp + 8], 0
je 0x4104b3
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x41039f
mov eax, dword [0x542750]
mov esi, 0x50f1d0
mov dword [ebp - 0x998], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x994]
mov byte [ebp - 4], 2
call fcn.00410dfe
push 1
lea eax, [ebp - 0x994]
mov byte [ebp - 4], 3
push eax
push dword [ebp + 8]
mov dword [ebp - 0x984], 5
call fcn.004af543
mov esi, dword [ebp - 0x9a0]
lea eax, [ebp - 0x998]
push esi
push dword [ebp - 0x984]
push dword [ebp + 8]
push str._app_d.type_d.name_s
push eax
call fcn.0040301c
add esp, 0x14
xor eax, eax
mov word [ebp - 0x62c], ax
xor edi, edi
lea eax, [ebp - 0x62a]
push 0x40e
push edi
push eax
call fcn.004db6f0
add esp, 0xc
lea eax, [ebp - 0x62c]
push 0x208
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push dword [ebp - 0x9a4]
lea edx, [ebp - 0x62c]
push dword [ebp - 0x998]
lea ecx, [ebp - 0x21c]
push ebx
call fcn.00410ada
mov eax, dword [0x542750]
add esp, 0xc
mov dword [ebp - 0x9a0], eax
push esi
lea eax, [ebp - 0x9a0]
mov byte [ebp - 4], 4
push str._s.lnk
push eax
call fcn.0040301c
mov ecx, dword [ebp - 0x9a0]
add esp, 0xc
call fcn.00430006
lea ecx, [ebp - 0x9a0]
call fcn.00403030
lea ecx, [ebp - 0x994]
mov byte [ebp - 4], 2
call fcn.0041057c
jmp 0x410550
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x4104b3
mov esi, str..url
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x9a8]
movsd dword es:[edi], dword [esi]
push 0x50f2c0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edi, 0x50f29c
push edi
call esi
xor eax, eax
push eax
push ebx
call fcn.004d7cad
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x41051c
lea eax, [ebp - 0x21c]
push eax
push 0x50f298
push str.IconIndex
push edi
call esi
lea eax, [ebp - 0x21c]
push eax
push ebx
push str.IconFile
push edi
call esi
mov eax, dword [0x542750]
mov dword [ebp - 0x998], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x998]
push dword [ebp - 0x9a0]
push str._s.url
push eax
call fcn.0040301c
mov ecx, dword [ebp - 0x998]
add esp, 0xc
call fcn.00430006
lea ecx, [ebp - 0x998]
call fcn.00403030
lea ecx, [ebp - 0x99c]
call fcn.00403030
lea ecx, [ebp - 0x9a4]
call fcn.00403030
xor eax, eax
inc eax
call fcn.004e3319
ret 0x10