Function at 0x102f5ed
Capabilities:
Delete file

Disassembly:
mov eax, 0x108dbfb
call fcn.010826d8
sub esp, 0x484
mov eax, dword [0x10a3b28]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
push edi
mov ebx, ecx
push 0
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x460], esi
mov dword [ebp - 0x454], eax
call dword [sym.imp.mmcbase.DLL_public:_void___thiscall_mmcerror::SC::constructor_long_int_]
mov eax, dword [ebx + 0x178]
mov edi, dword [eax + 0x90]
test edi, edi
jg 0x102f654
push 0x8000ffff
lea ecx, [ebp - 0x43c]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_long_int_]
mov ecx, dword [eax]
mov dword [esi], ecx
mov eax, dword [eax + 4]
jmp 0x102f6ab
and dword [ebp - 0x428], 0
lea eax, [ebp - 0x428]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 0x45c]
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp - 0x454]
push eax
call fcn.0102a048
mov ecx, dword [eax]
mov dword [ebp - 0x43c], ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x438], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
je 0x102f6b3
mov eax, dword [ebp - 0x43c]
mov dword [esi], eax
mov eax, dword [ebp - 0x438]
mov dword [esi + 4], eax
jmp 0x102fb20
push 0x100431c
lea ecx, [ebp - 0x44c]
call sub.MFC42u.DLL_CString::CString_4
and dword [ebp - 4], 0
cmp byte [ebp + 0x14], 0
mov dword [ebp - 0x450], 0x1004318
jne 0x102f6e1
mov dword [ebp - 0x450], 0x1004314
mov eax, dword [ebx + 0x178]
mov ecx, dword [eax]
and dword [ebp - 0x444], 0
and dword [ebp - 0x434], 0
xor esi, esi
inc esi
push eax
mov dword [ebp - 0x440], esi
call dword [ecx + 0x14]
cmp eax, esi
je 0x102f71d
mov eax, dword [ebx + 0x178]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
cmp eax, 4
jne 0x102f94e
lea eax, [edi*8 + 4]
push eax
mov dword [ebp - 0x440], edi
call sub.MFC42u.DLL_operatornew
pop ecx
mov dword [ebp - 0x458], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x102f75f
push fcn.0102a166
push 0x102a153
push edi
lea esi, [eax + 4]
push 8
push esi
mov dword [eax], edi
call fcn.010827b4
mov dword [ebp - 0x42c], esi
jmp 0x102f766
and dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x42c]
test eax, eax
mov byte [ebp - 4], 0
mov dword [ebp - 0x444], eax
je 0x102f790
mov eax, edi
shl eax, 2
push eax
call sub.MFC42u.DLL_operatornew
test eax, eax
pop ecx
mov dword [ebp - 0x434], eax
jne 0x102f7a6
push 0x8007000e
lea ecx, [ebp - 0x43c]
call dword [sym.imp.mmcbase.DLL_public:_class_mmcerror::SC____thiscall_mmcerror::SC::operator_long_int_]
jmp 0x102fb67
mov eax, dword [ebx + 0x178]
mov ecx, dword [eax + 0x48]
call fcn.01040cdd
mov esi, eax
push 0x8000ffff
push esi
lea eax, [ebp - 0x45c]
push eax
mov dword [ebp - 0x448], esi
call fcn.01018f06
mov ecx, dword [eax]
mov dword [ebp - 0x43c], ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x438], eax
call dword [sym.imp.mmcbase.DLL_public:_bool___thiscall_mmcerror::SC::operator_bool_void_const]
test al, al
jne 0x102fb67
test esi, esi
jne 0x102f7fb
xor eax, eax
jmp 0x102f7fe
mov eax, dword [esi + 0x20]
push dword [ebp - 0x434]
push edi
push 0x1211
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x102fb67
and dword [ebp - 0x430], 0
test edi, edi
jle 0x102f8b3
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x424], eax
jmp 0x102f83c
mov esi, dword [ebp - 0x448]
lea eax, [ebp - 0x420]
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x490]
push eax
push dword [ebp - 0x430]
mov ecx, esi
mov dword [ebp - 0x490], 0xa
mov dword [ebp - 0x480], 0x208
call fcn.0102a170
test eax, eax
je 0x102fb67
push dword [ebp - 0x488]
mov ecx, dword [ebp - 0x424]
mov esi, dword [ebp - 0x478]
call sub.MFC42u.DLL_CString::operator_1
mov eax, dword [ebp - 0x424]
add dword [ebp - 0x424], 8
shl esi, 0xf
sar esi, 0x1f
inc dword [ebp - 0x430]
cmp dword [ebp - 0x430], edi
mov dword [eax + 4], esi
jl 0x102f836
and dword [ebp - 0x424], 0
test edi, edi
jle 0x102f92e
mov ecx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x434]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x42c]
lea eax, [ecx + eax*8]
cmp dword [eax + 4], 0
jne 0x102f920
movzx esi, byte [ebp + 0x10]
mov eax, dword [eax]
push esi
push eax
push dword [ebp - 0x428]
mov ecx, ebx
call fcn.0102d4c6
test al, al
je 0x102fb4a
lea eax, [edi - 1]
cmp dword [ebp - 0x424], eax
jge 0x102f920
push esi
push dword [ebp - 0x450]
mov ecx, ebx
push dword [ebp - 0x428]
call fcn.0102d4c6
test al, al
je 0x102fb4a
inc dword [ebp - 0x424]
cmp dword [ebp - 0x424], edi
jl 0x102f8be
movzx eax, byte [ebp + 0x10]
push eax
push dword [ebp - 0x44c]
mov ecx, ebx
push dword [ebp - 0x428]
call fcn.0102d4c6
test al, al
je 0x102fb4a
lea ecx, [ebp - 0x424]
call sub.MFC42u.DLL_CString::CString_3
mov eax, dword [ebx + 0x178]
mov edi, dword [eax + 0x48]
and dword [ebp - 0x430], 0
cmp byte [ebp + 0x18], 0
mov byte [ebp - 4], 2
mov dword [ebp - 0x458], edi
je 0x102f983
mov dword [ebp - 0x430], 2
push dword [ebp - 0x430]
push 0xffffffffffffffff
jmp 0x102faa3
xor esi, esi
cmp dword [ebp - 0x440], esi
jle 0x102fa77
mov ecx, dword [ebp - 0x444]
test ecx, ecx
je 0x102f9e9
mov eax, dword [ebp - 0x434]
mov eax, dword [eax + esi*4]
cmp dword [ecx + eax*8 + 4], 0
jne 0x102fa6a
push eax
push dword [ebp - 0x42c]
lea eax, [ebp - 0x448]
push eax
mov ecx, edi
call sub.MFC42u.DLL_CListCtrl::GetItemText
push eax
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 3
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x448]
jmp 0x102fa14
push esi
push dword [ebp - 0x42c]
lea eax, [ebp - 0x464]
push eax
mov ecx, edi
call sub.MFC42u.DLL_CListCtrl::GetItemText
push eax
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 4
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 2
call sub.MFC42u.DLL_CString::CString
movzx edi, byte [ebp + 0x10]
push edi
push dword [ebp - 0x424]
mov ecx, ebx
push dword [ebp - 0x428]
call fcn.0102d4c6
test al, al
je 0x102fb3b
mov eax, dword [ebp - 0x440]
dec eax
cmp esi, eax
jge 0x102fa64
push edi
push dword [ebp - 0x450]
mov ecx, ebx
push dword [ebp - 0x428]
call fcn.0102d4c6
test al, al
je 0x102fb3b
mov edi, dword [ebp - 0x458]
inc esi
cmp esi, dword [ebp - 0x440]
jl 0x102f99e
movzx eax, byte [ebp + 0x10]
push eax
push dword [ebp - 0x44c]
mov ecx, ebx
push dword [ebp - 0x428]
call fcn.0102d4c6
test al, al
je 0x102fb3b
push dword [ebp - 0x430]
push dword [ebp - 0x42c]
mov ecx, edi
call fcn.01029d9e
cmp eax, 0xffffffff
mov dword [ebp - 0x42c], eax
jne 0x102f990
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x444]
test ecx, ecx
je 0x102fad9
push 3
call fcn.0102d473
cmp dword [ebp - 0x434], 0
je 0x102faee
push dword [ebp - 0x434]
call sub.MFC42u.DLL_operatordelete
pop ecx
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x43c]
mov esi, dword [ebp - 0x460]
or dword [ebp - 4], 0xffffffff
mov dword [esi], eax
mov eax, dword [ebp - 0x438]
lea ecx, [ebp - 0x44c]
mov dword [esi + 4], eax
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.01080a1e
leave
ret 0x18
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 0
call sub.MFC42u.DLL_CString::CString
cmp byte [ebp + 0x1c], 0
je 0x102fb67
mov eax, dword [ebp - 0x454]
push dword [eax]
mov ecx, ebx
push dword [ebp - 0x428]
push 2
call fcn.01029fb3
mov eax, dword [ebp - 0x454]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x102fac8