Function at 0x1073541
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x1082017
call fcn.01002b15
sub esp, 0x2a0
push esi
mov dword [ebp - 0x3c], ecx
xor esi, esi
push esi
lea ecx, [ebp - 0x30]
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_long_int_]
call sub.MFC42u.DLL_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.MFC42u.DLL_CCmdTarget::BeginWaitCursor
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], esi
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 - 0x4c]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 1
call fcn.0101b6a3
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
je 0x10735d8
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
and byte [ebp - 4], 0
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x4c]
mov dword [esi + 4], eax
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_]
or dword [ebp - 4], 0xffffffff
call sub.MFC42u.DLL_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.MFC42u.DLL_CCmdTarget::EndWaitCursor
jmp 0x10739e9
push ebx
push edi
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x5c]
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 0x10862a8
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call dword [0x100195c]
xor eax, eax
mov ecx, 0x94
lea edi, [ebp - 0x2ac]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x5c]
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]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1073641
lea ecx, [ebp - 0x30]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::FromLastError_void_]
mov ecx, dword [eax]
mov esi, dword [ebp + 8]
mov dword [esi], ecx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x10739bc
mov dword [ebp - 0x24], esi
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2ac]
and eax, 0x10
test al, al
jne 0x107366f
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x290]
add esi, dword [ebp - 0x28c]
adc eax, 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2ac]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
test al, al
jne 0x107364d
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
shr eax, 8
mov dword [ebp - 0x10], 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 - 0x34], ecx
mov ecx, esi
and ecx, eax
mov edi, esi
mov ebx, esi
mov dword [ebp - 0x28], ecx
shr edi, 0x14
shr ebx, 0xa
lea ecx, [ebp - 0x1c]
and edi, eax
and ebx, eax
call sub.MFC42u.DLL_CString::CString_3
or esi, dword [ebp - 0x20]
mov byte [ebp - 4], 3
je 0x10736dc
mov byte [ebp - 0x15], 1
jmp 0x10736e0
and byte [ebp - 0x15], 0
cmp dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x34]
ja 0x10737d1
mov eax, 0x3e7
cmp esi, eax
ja 0x10737d1
test esi, esi
ja 0x10737a3
cmp edi, eax
ja 0x10737a3
test edi, edi
ja 0x1073775
cmp ebx, eax
ja 0x1073775
test ebx, ebx
mov esi, dword [ebp - 0x28]
ja 0x1073744
cmp esi, eax
ja 0x1073744
push 0x3471
lea eax, [ebp - 0x1c]
push eax
call fcn.010140ab
test esi, esi
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
jge 0x1073807
fadd qword [0x10862a0]
jmp 0x1073807
push 0x3470
lea eax, [ebp - 0x1c]
push eax
call fcn.010140ab
test esi, esi
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
jge 0x1073762
fadd qword [0x10862a0]
fmul qword [0x1086298]
mov dword [ebp - 0x10], ebx
fild dword [ebp - 0x10]
test ebx, ebx
jmp 0x10737fd
push 0x346f
lea eax, [ebp - 0x1c]
push eax
call fcn.010140ab
test ebx, ebx
mov dword [ebp - 0x10], ebx
fild dword [ebp - 0x10]
jge 0x1073793
fadd qword [0x10862a0]
fmul qword [0x1086298]
mov dword [ebp - 0x10], edi
fild dword [ebp - 0x10]
test edi, edi
jmp 0x10737fd
push 0x346e
lea eax, [ebp - 0x1c]
push eax
call fcn.010140ab
test edi, edi
mov dword [ebp - 0x10], edi
fild dword [ebp - 0x10]
jge 0x10737c1
fadd qword [0x10862a0]
fmul qword [0x1086298]
mov dword [ebp - 0x10], esi
fild dword [ebp - 0x10]
test esi, esi
jmp 0x10737fd
push 0x346d
lea eax, [ebp - 0x1c]
push eax
call fcn.010140ab
test esi, esi
mov dword [ebp - 0x34], esi
fild dword [ebp - 0x34]
jge 0x10737ef
fadd qword [0x10862a0]
fmul qword [0x1086298]
mov eax, dword [ebp - 0x10]
fild dword [ebp - 0x10]
test eax, eax
jge 0x1073805
fadd qword [0x10862a0]
faddp st(1)
lea ecx, [ebp - 0x14]
fstp qword [ebp - 0x24]
call sub.MFC42u.DLL_CString::CString_3
fld qword [ebp - 0x24]
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x14]
push 0x1086288
push eax
mov byte [ebp - 4], 4
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push 1
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::Right
mov esi, 0x1086284
jmp 0x107387c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x10]
push eax
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call sub.MFC42u.DLL_CString::CString
push 1
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::Right
push esi
push eax
call fcn.01042f31
lea ecx, [ebp - 0x28]
mov bl, al
call sub.MFC42u.DLL_CString::CString
test bl, bl
lea ecx, [ebp - 0x14]
jne 0x1073844
push 1
lea eax, [ebp - 0x10]
push eax
call sub.MFC42u.DLL_CString::Right
push 0x1086280
push eax
call fcn.01042f31
lea ecx, [ebp - 0x10]
mov bl, al
call sub.MFC42u.DLL_CString::CString
test bl, bl
je 0x10738e5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call sub.MFC42u.DLL_CString::CString
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
push 0x1086278
call sub.MFC42u.DLL_CString::Replace
push dword [ebp - 0x1c]
mov edi, dword [ebp - 0x3c]
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 - 0x24]
push eax
call fcn.01002b92
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
jne 0x1073996
movzx eax, byte [ebp - 0x15]
push eax
mov ecx, esi
call sub.MFC42u.DLL_CWnd::EnableWindow
call dword [sym.imp.USER32.dll_GetFocus]
test eax, eax
jne 0x1073996
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 0x1073996
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 1
push 0x401
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
mov dword [esi + 4], eax
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
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_]
and byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
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_]
or dword [ebp - 4], 0xffffffff
call sub.MFC42u.DLL_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.MFC42u.DLL_CCmdTarget::EndWaitCursor
pop edi
pop ebx
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
mov dword fs:[0], ecx
leave
ret 4