Function at 0x59fb60
Capabilities:
Check if file exists
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2dc
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2dc], ecx
lea ecx, [ebp - 0x2a0]
call fcn.00413220
lea eax, [ebp - 0x2a0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00481100
add esp, 8
test eax, eax
jne 0x59fbbd
lea ecx, [ebp - 0x2a0]
call fcn.0040dd70
movzx edx, al
test edx, edx
je 0x59fbbd
lea ecx, [ebp - 0x2a0]
call fcn.00413870
jmp 0x59ff95
lea ecx, [ebp - 0x224]
call fcn.004219f0
push 0x208
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.0063a460
add esp, 0xc
lea ecx, [ebp - 0x20c]
push ecx
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xor edx, edx
mov byte [ebp - 0x2a1], dl
lea ecx, [ebp - 0x2a1]
call fcn.005a0ab0
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x224]
call fcn.00421ef0
lea ecx, [ebp - 0x224]
call fcn.00424f40
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x59fc50
lea ecx, [ebp - 0x224]
call fcn.00424f40
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push str._thumb.jpg
lea edx, [ebp - 0x2a0]
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.0051d600
add esp, 0xc
mov ecx, eax
call fcn.0040d3c0
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x2c4]
call fcn.00413870
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x224]
call fcn.00421ef0
push 0x28
call fcn.006135e5
add esp, 4
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x59fcd6
push 2
push 1
mov ecx, dword [ebp + 8]
call fcn.0040d3c0
push eax
mov ecx, dword [ebp - 0x2b4]
call fcn.005a06d0
mov dword [ebp - 0x2b8], eax
jmp 0x59fce0
mov dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
call fcn.00484140
test eax, eax
je 0x59fd67
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x2ac], 0
je 0x59fd38
push 1
mov eax, dword [ebp - 0x2ac]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x2cc], eax
jmp 0x59fd42
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2a8], 0
lea ecx, [ebp - 0x224]
call fcn.00421c50
lea ecx, [ebp - 0x2a0]
call fcn.00413870
jmp 0x59ff95
push 0x75
push 0xcf
mov ecx, dword [ebp - 0x2a8]
push ecx
call fcn.0047ff20
add esp, 0xc
lea ecx, [ebp - 0x224]
call fcn.00424f40
push eax
mov ecx, dword [ebp - 0x2a8]
call fcn.00483b10
push eax
call fcn.00480550
add esp, 8
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
je 0x59fdda
push 1
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x2d4], eax
jmp 0x59fde4
mov dword [ebp - 0x2d4], 0
lea ecx, [ebp - 0x23c]
call fcn.004219f0
lea ecx, [ebp - 0x20c]
push ecx
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xor edx, edx
mov byte [ebp - 0x2a2], dl
lea ecx, [ebp - 0x2a2]
call fcn.005a0950
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x6a5940
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x2d8]
push edx
call fcn.0051d600
add esp, 0xc
mov ecx, eax
call fcn.0040d3c0
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x2d8]
call fcn.00413870
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x23c]
call fcn.00421ef0
push 0
lea ecx, [ebp - 0x23c]
call fcn.00424f40
push eax
mov ecx, dword [ebp + 8]
call fcn.0040d3c0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x59feb9
lea ecx, [ebp - 0x23c]
call fcn.00421c50
lea ecx, [ebp - 0x224]
call fcn.00421c50
lea ecx, [ebp - 0x2a0]
call fcn.00413870
jmp 0x59ff95
lea ecx, [ebp - 0x29c]
call fcn.00421b40
push 0x6a594c
lea ecx, [ebp - 0x29c]
call fcn.00421ef0
lea ecx, [ebp - 0x2a0]
call fcn.0040d3c0
push eax
lea ecx, [ebp - 0x284]
call fcn.00421ef0
lea edx, [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x26c]
call fcn.00421e80
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x254]
call fcn.00421e80
call fcn.0052ccf0
mov ecx, eax
call fcn.005377a0
mov dword [ebp - 0x2bc], eax
call fcn.0052ccf0
mov ecx, eax
call fcn.005377c0
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2bc], 0
je 0x59ff4e
lea ecx, [ebp - 0x29c]
push ecx
mov ecx, dword [ebp - 0x2bc]
call fcn.0060be10
cmp dword [ebp - 0x2c0], 0
je 0x59ff69
lea edx, [ebp - 0x29c]
push edx
mov ecx, dword [ebp - 0x2c0]
call fcn.0060caa0
lea ecx, [ebp - 0x29c]
call fcn.00421cc0
lea ecx, [ebp - 0x23c]
call fcn.00421c50
lea ecx, [ebp - 0x224]
call fcn.00421c50
lea ecx, [ebp - 0x2a0]
call fcn.00413870
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret 4