Function at 0x40d0f0
Capabilities:
Copy file
Enumerate files on windows
Get common file path

Disassembly:
sub esp, 0x8fc
mov eax, dword [0x4677a0]
xor eax, esp
mov dword [esp + 0x8f4], eax
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x2e8]
push eax
push 0
push 0
push 0x8014
mov esi, ecx
push 0
mov dword [esp + 0x28], esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x40d3ac
lea eax, [esp + 0x2e8]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d140
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x2e6], 0x5c
je 0x40d199
mov ecx, 0x104
lea eax, [esp + 0x2e8]
cmp word [eax], 0
je 0x40d176
add eax, 2
sub ecx, 1
jne 0x40d166
jmp 0x40d199
test ecx, ecx
je 0x40d199
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esp + eax*2 + 0x2e8]
mov eax, 0x457ff4
call fcn.00407450
push esi
push 0x45c3c4
mov ecx, 0x104
lea ebx, [esp + 0x4f8]
call fcn.00402d10
add esp, 8
lea ecx, [esp + 0x18]
push ecx
mov edx, ebx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebp, eax
lea eax, [esp + 0x18]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x40d38d
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ecx]
cmp word [esp + 0x44], 0
lea eax, [esp + 0x44]
je 0x40d20e
lea esp, [esp]
movzx ecx, word [eax]
cmp cx, 0x41
jb 0x40d205
cmp cx, 0x5a
ja 0x40d205
add ecx, 0x20
mov word [eax], cx
add eax, 2
cmp word [eax], 0
jne 0x40d1f0
lea ecx, [esp + 0x44]
push str..ttf
push ecx
call fcn.0043588c
add esp, 8
test eax, eax
ja 0x40d23e
lea edx, [esp + 0x44]
push str..ttc
push edx
call fcn.0043588c
add esp, 8
test eax, eax
jbe 0x40d379
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x2ec]
push ecx
push 0x45c9f8
mov ecx, 0x104
lea ebx, [esp + 0x704]
call fcn.00402d10
lea edx, [esp + 0x50]
push edx
push esi
push 0x45c9f8
mov ecx, 0x104
lea ebx, [esp + 0x508]
call fcn.00402d10
add esp, 0x18
push 1
lea eax, [esp + 0x6fc]
push eax
mov ecx, ebx
push ecx
call edi
test eax, eax
je 0x40d379
lea edx, [esp + 0x44]
push edx
push 0x45c0cc
mov ecx, 0x40
lea ebx, [esp + 0x270]
call fcn.00402d10
mov eax, ebx
push str..ttf
push eax
call fcn.0043588c
add esp, 0x10
test eax, eax
je 0x40d2cb
xor ecx, ecx
mov word [eax], cx
lea edx, [esp + 0x44]
push str..ttf
push edx
call fcn.0043588c
add esp, 8
test eax, eax
mov ecx, 0x40
lea eax, [esp + 0x268]
je 0x40d320
lea ecx, [ecx]
cmp word [eax], 0
je 0x40d300
add eax, 2
sub ecx, 1
jne 0x40d2f0
jmp 0x40d353
test ecx, ecx
je 0x40d353
mov eax, 0x40
sub eax, ecx
mov ecx, 0x40
sub ecx, eax
lea edx, [esp + eax*2 + 0x268]
mov eax, str._TrueType_
jmp 0x40d34e
cmp word [eax], 0
je 0x40d330
add eax, 2
sub ecx, 1
jne 0x40d320
jmp 0x40d353
test ecx, ecx
je 0x40d353
mov eax, 0x40
sub eax, ecx
mov ecx, 0x40
sub ecx, eax
lea edx, [esp + eax*2 + 0x268]
mov eax, str._TrueType_C_
call fcn.00407450
lea eax, [esp + 0x6f8]
push eax
call dword [sym.imp.GDI32.dll_AddFontResourceW]
lea ecx, [esp + 0x268]
push ecx
lea esi, [esp + 0x48]
call fcn.0040b930
mov esi, dword [esp + 0x18]
add esp, 4
lea edx, [esp + 0x18]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40d1e0
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 0
push 0x1d
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x40d3ae
xor eax, eax
mov ecx, dword [esp + 0x904]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00435010
add esp, 0x8fc
ret