Function at 0x431c20
Capabilities:
Check if file exists
Create directory
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x456318
push 0x44776e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa40
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor esi, esi
mov dword [ebp - 4], esi
mov word [ebp - 0x428], si
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x426]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x428]
push eax
push str.config
call fcn.00431b60
add esp, 0xc
test eax, eax
jne 0x431c9e
lea ecx, [ebp - 0x428]
push ecx
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call esi
push 0x468d90
call esi
jmp 0x431f5e
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x431cca
lea eax, [ebp - 0x428]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call esi
push 0x468d84
call esi
jmp 0x431f5e
mov word [ebp - 0x840], si
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x83e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea ecx, [ebp - 0x840]
push ecx
push str.logofolder
call fcn.00431b60
add esp, 0xc
push str._snapcachelogo
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x431f5e
push esi
lea eax, [ebp - 0x840]
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call ebx
lea ecx, [ebp - 0x840]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x431d51
lea edx, [ebp - 0x840]
push edx
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call esi
push 0x468d40
call esi
jmp 0x431f5e
mov word [ebp - 0x220], si
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x21e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x220]
push eax
push 0x468d38
call fcn.00431b60
mov dword [ebp - 0x638], esi
push 1
lea ecx, [ebp - 0x428]
push ecx
lea edx, [ebp - 0x638]
push edx
call fcn.004264b0
add esp, 0x18
cmp dword [ebp - 0x638], esi
jne 0x431dc0
lea eax, [ebp - 0x428]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call esi
push 0x468d2c
call esi
jmp 0x431f5e
mov word [ebp - 0x630], si
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x62e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x428]
push ecx
lea edx, [ebp - 0x630]
push edx
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
call edi
push str...json_
lea eax, [ebp - 0x630]
push eax
call edi
push 1
lea ecx, [ebp - 0x630]
push ecx
call fcn.0042f050
add esp, 8
push esi
lea edx, [ebp - 0x630]
push edx
call ebx
cmp word [ebp - 0x220], si
je 0x431e9f
lea eax, [ebp - 0x630]
push eax
lea ecx, [ebp - 0x840]
push ecx
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x638]
push eax
call fcn.004321f0
add esp, 0x10
push 1
push str.clearjson
push str.option
mov eax, dword [ebp - 0x638]
push eax
call fcn.00426ab0
mov esi, eax
mov dword [ebp - 0x634], esi
mov ecx, dword [ebp - 0x638]
push ecx
call fcn.00426e70
push 1
lea edx, [ebp - 0x638]
push edx
call fcn.00426640
add esp, 0x1c
cmp esi, 1
jne 0x431f5e
push esi
lea eax, [ebp - 0x630]
push eax
call fcn.0042f050
add esp, 8
jmp 0x431f5e
mov dword [ebp - 0xa50], esi
xor ebx, ebx
mov dword [ebp - 0xa4c], ebx
mov word [ebp - 0xa48], si
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xa46]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea ecx, [ebp - 0xa48]
push ecx
push esi
mov edx, dword [ebp - 0x638]
push edx
call fcn.004268f0
add esp, 0x10
cmp eax, 1
jne 0x431e44
push str.URL:
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
lea ecx, [ebp - 0xa48]
cmp eax, ecx
jne 0x431f3a
inc ebx
mov dword [ebp - 0xa4c], ebx
lea edx, [ebp - 0x630]
push edx
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0xa48]
push ecx
mov edx, dword [ebp - 0x638]
push edx
call fcn.004321f0
add esp, 0x10
cmp ebx, 0x64
jg 0x431e44
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0xa48]
rep stosd dword es:[edi], eax
inc esi
mov dword [ebp - 0xa50], esi
jmp 0x431ec5
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret