Function at 0x406969
Capabilities:
Enumerate files on windows
Read file on windows
Write file on windows

Disassembly:
push 0x270
mov eax, 0x4bc5f1
call fcn.004180a8
mov eax, dword [ebp + 8]
lea ecx, [ebp + 8]
and dword [ebp - 4], 0
mov eax, dword [eax - 0xc]
dec eax
push eax
call dword [sym.imp.mfc140u.dll_Ordinal_1653]
cmp ax, 0x5c
je 0x4069a1
push 0x4d4dfc
lea ecx, [ebp + 8]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__17]
push str.HyperSnap.htm
lea ecx, [ebp - 0x270]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.004019e2
add esp, 0xc
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x406b95
mov byte [ebp - 0x261], 0
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00401a36
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__26]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x4d3d4c
push dword [ebp - 0x268]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x406b78
push 2
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push 0
mov ebx, eax
push 0
push esi
mov dword [ebp - 0x26c], ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
lea ecx, [ebx + 1]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x406b78
push esi
push dword [ebp - 0x26c]
push 1
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [ebp - 0x26c]
push str.AZD81
push ebx
mov byte [ebx + eax], 0
call sub.VCRUNTIME140.dll_strstr
add esp, 0x1c
mov dword [ebp - 0x26c], eax
cmp byte [eax], 0
je 0x406b67
push 0x4d59dc
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
mov esi, eax
pop ecx
mov ecx, esi
sub ecx, dword [ebp - 0x26c]
add ecx, 2
neg esi
sbb esi, esi
and esi, ecx
lea ecx, [esi - 0x33]
cmp ecx, 0x44
ja 0x406b67
push str.HprSnap.hslic
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.00401a36
push 0x4d5830
push dword [eax]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
add esp, 0x14
mov dword [ebp - 0x274], eax
lea ecx, [ebp - 0x27c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x406b60
push eax
push esi
push 1
push dword [ebp - 0x26c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov eax, dword [ebp - 0x274]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
mov byte [ebp - 0x261], 1
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [ebp - 0x261], 0
pop ecx
jne 0x406b8e
lea eax, [ebp - 0x260]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x406a05
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x268]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
call fcn.00418057
ret