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

Disassembly:
push 0x964
mov eax, 0x4fce15
call fcn.004e6cea
mov eax, dword [ebp + 0x10]
xor esi, esi
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x970], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x960], eax
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push esi
push eax
mov dword [ebp - 0x968], ebx
call fcn.004deff0
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 0x4107b9
mov eax, dword [0x513338]
mov edx, ebx
mov dword [edi], eax
mov esi, edx
xor ecx, ecx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x4107d2
lea edi, [ebp - 0x21c]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, cx
jne 0x4107e8
mov eax, dword [0x548750]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [ebp - 0x96c], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
push 0x513258
lea eax, [ebp - 0x96c]
xor esi, esi
push 0x513260
push eax
mov dword [ebp - 4], esi
call fcn.0040306c
mov ebx, dword [0x548750]
add esp, 0x10
mov dword [ebp - 0x964], ebx
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x960]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x410847
sub ecx, edx
sar ecx, 1
je 0x4108cb
push 0x54dbe8
lea ecx, [ebp - 0x964]
call fcn.004028f2
push esi
push dword [ebp - 0x964]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call esi
push str.Jpgs_
lea ecx, [ebp - 0x964]
call fcn.00402a52
xor eax, eax
push eax
push dword [ebp - 0x964]
call esi
push dword [ebp - 0x968]
lea ecx, [ebp - 0x964]
call fcn.00402a52
push str..ico
lea ecx, [ebp - 0x964]
call fcn.00402a52
mov ebx, dword [ebp - 0x964]
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 0x4109f2
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x4108de
mov eax, dword [0x548750]
mov esi, 0x513240
mov dword [ebp - 0x960], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 2
call fcn.00411306
push 1
lea eax, [ebp - 0x95c]
mov byte [ebp - 4], 3
push eax
push dword [ebp + 8]
mov dword [ebp - 0x94c], 5
call fcn.004b3717
mov esi, dword [ebp - 0x968]
lea eax, [ebp - 0x960]
push esi
push dword [ebp - 0x94c]
push dword [ebp + 8]
push str._app_d.type_d.name_s
push eax
call fcn.0040306c
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.004deff0
add esp, 0xc
lea eax, [ebp - 0x62c]
push 0x208
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push dword [ebp - 0x96c]
lea edx, [ebp - 0x62c]
push dword [ebp - 0x960]
lea ecx, [ebp - 0x21c]
push ebx
call fcn.00410fcf
mov eax, dword [0x548750]
add esp, 0xc
mov dword [ebp - 0x968], eax
push esi
lea eax, [ebp - 0x968]
mov byte [ebp - 4], 4
push str._s.lnk
push eax
call fcn.0040306c
mov ecx, dword [ebp - 0x968]
add esp, 0xc
call fcn.00433482
lea ecx, [ebp - 0x968]
call fcn.00403080
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 2
call fcn.00410abb
jmp 0x410a8f
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x4109f2
mov esi, str..url
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x970]
movsd dword es:[edi], dword [esi]
push 0x513330
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edi, 0x51330c
push edi
call esi
xor eax, eax
push eax
push ebx
call fcn.004db5ad
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x410a5b
lea eax, [ebp - 0x21c]
push eax
push 0x513308
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 [0x548750]
mov dword [ebp - 0x960], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x960]
push dword [ebp - 0x968]
push str._s.url
push eax
call fcn.0040306c
mov ecx, dword [ebp - 0x960]
add esp, 0xc
call fcn.00433482
lea ecx, [ebp - 0x960]
call fcn.00403080
lea ecx, [ebp - 0x964]
call fcn.00403080
lea ecx, [ebp - 0x96c]
call fcn.00403080
xor eax, eax
inc eax
call fcn.004e6c99
ret 0x10