Function at 0x10bd789
Capabilities:
Enumerate files on windows

Disassembly:
push 0x2d4
mov eax, 0x10e1489
call fcn.0100c4d0
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x2e0], ecx
push ebx
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x2b4], edi
mov dword [ebp - 0x2bc], ebx
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_long_int_]
xor esi, esi
inc esi
push 0x10bde68
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 4], esi
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::SetFunctionName_unsigned_short_int_const__]
lea ecx, [ebp - 0x299]
call fcn.0102bbf1
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], 7
call fcn.0100cd14
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x2cc]
push eax
mov byte [ebp - 4], 3
call fcn.0102eb09
push eax
lea ecx, [ebp - 0x2dc]
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 - 0x2cc]
mov byte [ebp - 4], 3
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
je 0x10bd878
lea eax, [ebp - 0x2dc]
push eax
mov ecx, edi
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
mov dword [ebp - 0x2bc], esi
push ebx
push esi
lea ecx, [ebp - 0x48]
call fcn.0100cd3c
lea ecx, [ebp - 0x299]
mov byte [ebp - 4], 1
call fcn.01020056
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
mov eax, edi
jmp 0x10bde31
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0100cde2
push 0x106d138
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.0102e1e3
push 0x250
lea eax, [ebp - 0x298]
push ebx
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [ebp - 0x14], 8
jae 0x10bd8b6
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x298]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2a8], eax
cmp eax, 0xffffffff
jne 0x10bd8f9
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::FromLastError_void_]
push eax
mov ecx, edi
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
push ebx
push esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2bc], esi
call fcn.0100cd3c
jmp 0x10bd848
mov dword [ebp - 0x2c4], ebx
xor eax, eax
lea edi, [ebp - 0x2c0]
stosd dword es:[edi], eax
mov esi, dword [ebp - 0x2c4]
test dword [ebp - 0x298], 0x10
jne 0x10bd934
mov eax, dword [ebp - 0x2c0]
add eax, dword [ebp - 0x27c]
add esi, dword [ebp - 0x278]
adc eax, ebx
mov dword [ebp - 0x2c0], eax
lea eax, [ebp - 0x298]
push eax
push dword [ebp - 0x2a8]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
test al, al
jne 0x10bd90e
push dword [ebp - 0x2a8]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2c0]
shr eax, 8
mov dword [ebp - 0x2a0], 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 - 0x2b8], ecx
mov ecx, esi
and ecx, eax
mov edi, esi
mov ebx, esi
mov dword [ebp - 0x2a8], ecx
shr edi, 0x14
shr ebx, 0xa
lea ecx, [ebp - 0x2ac]
and edi, eax
and ebx, eax
call sub.MFC42u.dll_CString::CString_2
or esi, dword [ebp - 0x2c0]
mov byte [ebp - 4], 6
mov byte [ebp - 0x299], 1
jne 0x10bd9c8
mov byte [ebp - 0x299], 0
cmp dword [ebp - 0x2a0], 0
ja 0x10bdafb
mov eax, 0x3e7
cmp dword [ebp - 0x2b8], eax
ja 0x10bdafb
cmp dword [ebp - 0x2b8], 0
ja 0x10bdac0
cmp edi, eax
ja 0x10bdac0
test edi, edi
ja 0x10bda83
cmp ebx, eax
ja 0x10bda83
test ebx, ebx
ja 0x10bda43
cmp dword [ebp - 0x2a8], eax
ja 0x10bda43
push 0x3471
lea eax, [ebp - 0x2ac]
push eax
call fcn.0101220e
fild dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a8]
test eax, eax
jge 0x10bdb40
fadd qword [0x106d130]
jmp 0x10bdb40
push 0x3470
lea eax, [ebp - 0x2ac]
push eax
call fcn.0101220e
fild dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a8]
test eax, eax
jge 0x10bda6a
fadd qword [0x106d130]
fmul qword [0x10bde60]
mov dword [ebp - 0x2a0], ebx
fild dword [ebp - 0x2a0]
test ebx, ebx
jmp 0x10bdb36
push 0x346f
lea eax, [ebp - 0x2ac]
push eax
call fcn.0101220e
mov dword [ebp - 0x2a0], ebx
fild dword [ebp - 0x2a0]
test ebx, ebx
jge 0x10bdaaa
fadd qword [0x106d130]
fmul qword [0x10bde60]
mov dword [ebp - 0x2a0], edi
fild dword [ebp - 0x2a0]
test edi, edi
jmp 0x10bdb36
push 0x346e
lea eax, [ebp - 0x2ac]
push eax
call fcn.0101220e
mov dword [ebp - 0x2a0], edi
fild dword [ebp - 0x2a0]
test edi, edi
jge 0x10bdae7
fadd qword [0x106d130]
fmul qword [0x10bde60]
mov eax, dword [ebp - 0x2b8]
fild dword [ebp - 0x2b8]
jmp 0x10bdb34
push 0x346d
lea eax, [ebp - 0x2ac]
push eax
call fcn.0101220e
fild dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b8]
test eax, eax
jge 0x10bdb22
fadd qword [0x106d130]
fmul qword [0x10bde60]
mov eax, dword [ebp - 0x2a0]
fild dword [ebp - 0x2a0]
test eax, eax
jge 0x10bdb3e
fadd qword [0x106d130]
faddp st(1)
lea ecx, [ebp - 0x2a4]
fstp qword [ebp - 0x2c4]
call sub.MFC42u.dll_CString::CString_2
fld qword [ebp - 0x2c4]
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x2a4]
push 0x10bde54
push eax
mov byte [ebp - 4], 7
call sub.MFC42u.dll_CString::Format
add esp, 0x10
push 1
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x2a4]
call sub.MFC42u.dll_CString::Right
mov esi, 0x10bde50
jmp 0x10bdbdf
mov eax, dword [ebp - 0x2a4]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2a4]
call sub.MFC42u.dll_CString::Left
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 8
call sub.MFC42u.dll_CString::operator_1
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 7
call fcn.0100a3e5
push 1
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x2a4]
call sub.MFC42u.dll_CString::Right
push esi
mov ecx, eax
call fcn.0100c7c5
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [ebp - 0x2a8]
inc bl
call fcn.0100a3e5
test bl, bl
jne 0x10bdb8f
lea ecx, [ebp - 0x2b0]
call sub.MFC42u.dll_CString::CString_2
fldz
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x2b0]
push 0x10bde44
push eax
mov byte [ebp - 4], 9
call sub.MFC42u.dll_CString::Format
add esp, 0x10
push 1
push 1
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2b0]
call sub.MFC42u.dll_CString::Mid_1
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0xa
call sub.MFC42u.dll_CString::operator_1
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 9
call fcn.0100a3e5
push 1
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2a4]
call sub.MFC42u.dll_CString::Right
push dword [ebp - 0x2b0]
mov ecx, eax
call fcn.0100c7c5
mov ebx, eax
neg ebx
sbb bl, bl
lea ecx, [ebp - 0x2a0]
inc bl
call fcn.0100a3e5
test bl, bl
je 0x10bdcd1
mov eax, dword [ebp - 0x2a4]
mov eax, dword [eax - 8]
dec eax
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2a4]
call sub.MFC42u.dll_CString::Left
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0xb
call sub.MFC42u.dll_CString::operator_1
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 9
call fcn.0100a3e5
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x2ac]
push 0x10bde3c
call sub.MFC42u.dll_CString::Replace
push dword [ebp - 0x2ac]
mov edi, dword [ebp - 0x2e0]
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 - 0x2cc]
push eax
call fcn.0100a3ae
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0xc
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_class_mmcerror::SC_const__]
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 9
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
jne 0x10bddad
movzx eax, byte [ebp - 0x299]
push eax
mov ecx, esi
call sub.MFC42u.dll_CWnd::EnableWindow
call dword [sym.imp.USER32.dll_GetFocus]
test eax, eax
jne 0x10bddad
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 0x10bddad
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 ecx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x2dc]
push eax
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_class_mmcerror::SC_const__]
xor esi, esi
inc esi
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x2bc], esi
mov byte [ebp - 4], 7
call fcn.0100a3e5
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 6
call fcn.0100a3e5
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 5
call fcn.0100a3e5
push 0
push esi
lea ecx, [ebp - 0x2c]
call fcn.0100cd3c
push 0
push esi
lea ecx, [ebp - 0x48]
call fcn.0100cd3c
lea ecx, [ebp - 0x299]
mov byte [ebp - 4], 1
call fcn.01020056
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::destructor_void_]
mov eax, dword [ebp - 0x2b4]
call fcn.0100c50d
ret 4