Function at 0x10c5b1e
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x11013c8
call fcn.01003440
sub esp, 0x2c8
mov eax, dword [0x1116788]
and dword [ebp - 0x288], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x2a4], ecx
push 0
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28c], ebx
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_long_int_]
xor esi, esi
inc esi
push 0x10c61d0
lea ecx, [ebp - 0x29c]
mov dword [ebp - 4], esi
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::SetFunctionName_unsigned_short_int_const__]
lea ecx, [ebp - 0x26c]
call fcn.01040148
xor eax, eax
lea edi, [ebp - 0x281]
stosb byte es:[edi], al
lea eax, [ebp - 0x281]
push eax
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 2
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x2d4]
push eax
mov byte [ebp - 4], 3
call fcn.0104e45b
push eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 4
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_class_mmcerror::SC_const__]
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 3
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
lea ecx, [ebp - 0x29c]
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
je 0x10c5c01
lea eax, [ebp - 0x29c]
push eax
mov ecx, ebx
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
mov dword [ebp - 0x288], esi
jmp 0x10c5c88
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
push 0x106afa0
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 5
call dword [sym.imp.msvcp60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
xor eax, eax
mov ecx, 0x94
lea edi, [ebp - 0x260]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.msvcp60.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x27c], eax
jne 0x10c5cc0
lea ecx, [ebp - 0x29c]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::FromLastError_void_]
push eax
mov ecx, ebx
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x288], esi
mov byte [ebp - 4], 3
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 2
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov byte [ebp - 4], 1
call sub.MFC42u.dll_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.MFC42u.dll_CCmdTarget::EndWaitCursor
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
mov eax, ebx
jmp 0x10c6192
and dword [ebp - 0x270], 0
xor eax, eax
lea edi, [ebp - 0x26c]
stosd dword es:[edi], eax
mov esi, dword [ebp - 0x270]
test dword [ebp - 0x260], 0x10
jne 0x10c5cfd
mov eax, dword [ebp - 0x26c]
add eax, dword [ebp - 0x244]
add esi, dword [ebp - 0x240]
adc eax, 0
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
test al, al
jne 0x10c5cd6
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x26c]
shr eax, 8
mov dword [ebp - 0x280], eax
mov eax, esi
shrd eax, ecx, 0x1e
shr ecx, 0x1e
mov edx, ecx
mov ecx, eax
mov eax, 0x3ff
and ecx, eax
mov dword [ebp - 0x2a0], ecx
mov ecx, esi
and ecx, eax
mov edi, esi
mov ebx, esi
mov dword [ebp - 0x27c], ecx
shr edi, 0x14
shr ebx, 0xa
lea ecx, [ebp - 0x278]
and edi, eax
and ebx, eax
call sub.MFC42u.dll_CString::CString_1
or esi, dword [ebp - 0x26c]
mov byte [ebp - 4], 6
mov byte [ebp - 0x271], 1
jne 0x10c5d91
mov byte [ebp - 0x271], 0
cmp dword [ebp - 0x280], 0
mov esi, dword [ebp - 0x2a0]
ja 0x10c5ec5
mov eax, 0x3e7
cmp esi, eax
ja 0x10c5ec5
test esi, esi
ja 0x10c5e88
cmp edi, eax
ja 0x10c5e88
test edi, edi
ja 0x10c5e4b
cmp ebx, eax
ja 0x10c5e4b
test ebx, ebx
mov esi, dword [ebp - 0x27c]
ja 0x10c5e0b
cmp esi, eax
ja 0x10c5e0b
push 0x3471
lea eax, [ebp - 0x278]
push eax
call fcn.01032c2d
test esi, esi
mov dword [ebp - 0x26c], esi
fild dword [ebp - 0x26c]
jge 0x10c5f0a
fadd qword [0x106af98]
jmp 0x10c5f0a
push 0x3470
lea eax, [ebp - 0x278]
push eax
call fcn.01032c2d
test esi, esi
mov dword [ebp - 0x26c], esi
fild dword [ebp - 0x26c]
jge 0x10c5e32
fadd qword [0x106af98]
fmul qword [0x10c61c8]
mov dword [ebp - 0x26c], ebx
fild dword [ebp - 0x26c]
test ebx, ebx
jmp 0x10c5f00
push 0x346f
lea eax, [ebp - 0x278]
push eax
call fcn.01032c2d
test ebx, ebx
mov dword [ebp - 0x26c], ebx
fild dword [ebp - 0x26c]
jge 0x10c5e72
fadd qword [0x106af98]
fmul qword [0x10c61c8]
mov dword [ebp - 0x26c], edi
fild dword [ebp - 0x26c]
test edi, edi
jmp 0x10c5f00
push 0x346e
lea eax, [ebp - 0x278]
push eax
call fcn.01032c2d
test edi, edi
mov dword [ebp - 0x26c], edi
fild dword [ebp - 0x26c]
jge 0x10c5eaf
fadd qword [0x106af98]
fmul qword [0x10c61c8]
mov dword [ebp - 0x26c], esi
fild dword [ebp - 0x26c]
test esi, esi
jmp 0x10c5f00
push 0x346d
lea eax, [ebp - 0x278]
push eax
call fcn.01032c2d
test esi, esi
mov dword [ebp - 0x26c], esi
fild dword [ebp - 0x26c]
jge 0x10c5eec
fadd qword [0x106af98]
fmul qword [0x10c61c8]
mov eax, dword [ebp - 0x280]
fild dword [ebp - 0x280]
test eax, eax
jge 0x10c5f08
fadd qword [0x106af98]
faddp st(1)
lea ecx, [ebp - 0x268]
fstp qword [ebp - 0x270]
call sub.MFC42u.dll_CString::CString_1
fld qword [ebp - 0x270]
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x268]
push 0x10c61bc
push eax
mov byte [ebp - 4], 7
call sub.MFC42u.dll_CString::Format
xor ebx, ebx
add esp, 0x10
inc ebx
push ebx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x268]
call sub.MFC42u.dll_CString::Right
mov esi, 0x10c61b8
jmp 0x10c5fa4
mov eax, dword [ebp - 0x268]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x280]
push eax
call sub.MFC42u.dll_CString::Left
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 8
call fcn.0104a0a2
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 7
call sub.MFC42u.dll_CString::CString
push ebx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x268]
call sub.MFC42u.dll_CString::Right
push esi
push eax
call fcn.010786a0
lea ecx, [ebp - 0x27c]
mov byte [ebp - 0x261], al
call sub.MFC42u.dll_CString::CString
cmp byte [ebp - 0x261], 0
lea ecx, [ebp - 0x268]
jne 0x10c5f5b
push ebx
lea eax, [ebp - 0x280]
push eax
call sub.MFC42u.dll_CString::Right
push 0x10c61b4
push eax
call fcn.010786a0
lea ecx, [ebp - 0x280]
mov byte [ebp - 0x261], al
call sub.MFC42u.dll_CString::CString
cmp byte [ebp - 0x261], 0
je 0x10c6039
mov eax, dword [ebp - 0x268]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x268]
call sub.MFC42u.dll_CString::Left
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 9
call fcn.0104a0a2
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 7
call sub.MFC42u.dll_CString::CString
push dword [ebp - 0x268]
lea ecx, [ebp - 0x278]
push 0x10c61ac
call sub.MFC42u.dll_CString::Replace
push dword [ebp - 0x278]
mov edi, dword [ebp - 0x2a4]
push 0x409
mov ecx, edi
call sub.MFC42u.dll_CWnd::SetDlgItemTextW
push 0x407
mov ecx, edi
call sub.MFC42u.dll_CWnd::GetDlgItem
mov esi, eax
push 0x8000ffff
push esi
lea eax, [ebp - 0x2d4]
push eax
call fcn.0102f887
push eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_class_mmcerror::SC_const__]
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 7
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
lea ecx, [ebp - 0x29c]
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
jne 0x10c6114
movzx eax, byte [ebp - 0x271]
push eax
mov ecx, esi
call sub.MFC42u.dll_CWnd::EnableWindow
call dword [sym.imp.USER32.dll_GetFocus]
test eax, eax
jne 0x10c6114
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call sub.MFC42u.dll_CWnd::FromHandle
test eax, eax
je 0x10c6114
push dword [edi + 0x20]
call esi
push eax
call sub.MFC42u.dll_CWnd::FromHandle
mov ecx, eax
call sub.MFC42u.dll_CWnd::SetFocus
push dword [edi + 0x20]
call esi
push eax
call sub.MFC42u.dll_CWnd::FromHandle
push 0
push ebx
push 0x401
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 6
mov dword [ebp - 0x288], ebx
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 5
call sub.MFC42u.dll_CString::CString
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 3
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 2
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov byte [ebp - 4], 1
call sub.MFC42u.dll_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.MFC42u.dll_CCmdTarget::EndWaitCursor
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.010032ea
leave
ret 4