Function at 0x4ba089
Capabilities:
Delete file

Disassembly:
mov eax, 0x4f4570
call fcn.004e1580
sub esp, 0x50
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
mov edi, ecx
push esi
call fcn.004c8b4a
cmp dword [ebp + 0xc], 7
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
jne 0x4ba172
mov eax, dword [esi]
lea ecx, [ebp - 0x3c]
push ecx
push esi
call dword [eax + 0x2c]
cmp dword [ebp - 0x3c], 0xb
je 0x4b9fc7
cmp dword [ebp - 0x3c], 7
jne 0x4ba182
and dword [ebp - 0x40], 0
test esi, esi
je 0x4b9fdd
mov eax, dword [esi]
lea ecx, [ebp - 0x40]
push ecx
push 0x52a488
push esi
call dword [eax]
and dword [ebp - 4], 0
and dword [ebp - 0x30], 0
test esi, esi
je 0x4b9ff7
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
push 0x52b438
push esi
call dword [eax]
and dword [ebp - 0x14], 0
mov byte [ebp - 4], 1
test esi, esi
je 0x4ba011
mov eax, dword [esi]
lea ecx, [ebp - 0x14]
push ecx
push 0x52b448
push esi
call dword [eax]
or dword [ebp - 0x54], 0xffffffff
mov word [ebp - 0x5c], 3
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 3
test eax, eax
je 0x4ba0fb
and dword [ebp - 0x28], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push 0x52c6d8
push eax
call dword [ecx]
push 0xffffffffffffffff
push str.SLGXMPDOWNLOAD
mov byte [ebp - 4], 4
call fcn.0040294f
pop ecx
mov dword [ebp - 0x38], eax
pop ecx
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x5c]
push edx
mov byte [ebp - 4], 5
push dword [ebp - 0x38]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
push dword [ebp - 0x38]
call ebx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 3
test eax, eax
je 0x4ba07b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp word [ebp - 0x5c], 0
je 0x4ba0fb
cmp word [ebp - 0x54], 0x67
jne 0x4ba0fb
push 0xffffffffffffffff
push 0x52fdc0
call fcn.0040294f
pop ecx
mov dword [ebp - 0x28], eax
pop ecx
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 6
test eax, eax
je 0x4ba0af
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push eax
call dword [ecx + 0x34]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call sub.MFC42.DLL_CString::CString_2
push eax
lea ecx, [edi + 0xfac]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
push 0
push 0
push 0x432
mov dword [edi + 0xfa8], 1
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_PostMessageA]
push dword [ebp - 0x28]
mov byte [ebp - 4], 3
call ebx
mov eax, dword [ebp - 0x14]
and dword [ebp - 0x2c], 0
test eax, eax
je 0x4ba112
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x3c]
jmp 0x4ba123
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4ba129
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x6c]
cmp dword [ebp - 0x2c], 0
jne 0x4ba133
push 1
push esi
mov ecx, edi
call fcn.004c8d97
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 1
test eax, eax
je 0x4ba14e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
and byte [ebp - 4], 0
test eax, eax
je 0x4ba15f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x4ba182
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4ba182
cmp dword [ebp + 0xc], 8
jne 0x4ba182
push 0
push esi
mov ecx, edi
call fcn.004c8d97
and dword [ebp + 8], 0
test esi, esi
je 0x4ba198
mov eax, dword [esi]
lea ecx, [ebp + 8]
push ecx
push 0x52a488
push esi
call dword [eax]
and dword [ebp - 0x10], 0
mov dword [ebp - 4], 8
test esi, esi
je 0x4ba1b5
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push 0x52b438
push esi
call dword [eax]
mov eax, dword [edi + 0x11c]
push 1
pop ecx
mov byte [ebp - 4], 9
cmp eax, ecx
je 0x4ba210
cmp eax, 4
je 0x4ba210
cmp dword [ebp + 8], 0
jne 0x4ba1db
cmp dword [ebp - 0x10], 0
je 0x4ba7f3
cmp dword [ebp + 0xc], 3
je 0x4ba210
cmp dword [ebp + 0xc], 9
je 0x4ba210
cmp dword [ebp - 0x10], 0
mov byte [ebp - 4], 8
je 0x4ba1fa
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 8], 0
je 0x4ba7f3
mov eax, dword [ebp + 8]
jmp 0x4ba7ed
mov edx, dword [ebp + 0xc]
cmp edx, ecx
jne 0x4ba241
cmp eax, ecx
je 0x4ba224
cmp eax, 4
jne 0x4ba2ab
push esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.004b837c
push esi
mov ecx, 0x533720
call fcn.004b59fd
mov dword [eax], 2
jmp 0x4ba2ab
cmp edx, 8
jne 0x4ba27c
cmp eax, ecx
je 0x4ba253
cmp eax, 4
jne 0x4ba7d1
cmp eax, 4
je 0x4ba7d1
push esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.004b837c
push esi
mov ecx, 0x533720
call fcn.004b59fd
mov dword [eax], 2
jmp 0x4ba7d1
cmp edx, 5
jne 0x4ba2bb
cmp eax, ecx
je 0x4ba28a
cmp eax, 4
jne 0x4ba2ab
xor ebx, ebx
mov ecx, edi
push ebx
push esi
call fcn.004b8818
push esi
mov ecx, 0x533720
call fcn.004caccf
push ebx
push ebx
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
push 6
push 0xffffffffffffffff
mov ecx, edi
call fcn.004bf42c
jmp 0x4ba7d1
cmp edx, 7
jne 0x4ba3e1
mov ecx, dword [edi + 0xfc]
xor edx, edx
test ecx, ecx
jle 0x4ba2f2
mov eax, dword [edi + 0xf8]
cmp dword [eax], esi
je 0x4ba2e4
inc edx
add eax, 4
cmp edx, ecx
jl 0x4ba2d6
jmp 0x4ba2f2
push 1
push edx
lea ecx, [edi + 0xf4]
call fcn.004cafd0
mov eax, dword [edi + 0x11c]
cmp eax, 1
je 0x4ba302
cmp eax, 4
jne 0x4ba329
cmp eax, 4
je 0x4ba329
push 0
push esi
mov ecx, edi
call fcn.004b8818
push esi
mov ecx, 0x533720
call fcn.004caccf
push 0
push 0
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
and dword [ebp + 0xc], 0
test esi, esi
je 0x4ba33f
mov eax, dword [esi]
lea ecx, [ebp + 0xc]
push ecx
push 0x52b438
push esi
call dword [eax]
cmp dword [ebp + 0xc], 0
mov byte [ebp - 4], 0xa
je 0x4ba3c7
mov eax, dword [esi]
lea ecx, [ebp - 0x40]
push ecx
push esi
mov dword [ebp - 0x40], 7
call dword [eax + 0x2c]
cmp dword [ebp - 0x40], 7
jne 0x4ba3c7
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x2c], 0
lea edx, [ebp - 0x2c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x6c]
cmp dword [ebp - 0x2c], 1
jne 0x4ba3b7
and dword [ebp - 0x30], 0
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x30]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb
call dword [ecx + 0x24]
push dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
call sub.MFC42.DLL_CString::CString_2
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.004c2f5a
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
push dword [ebp - 0x30]
call ebx
jmp 0x4ba3c7
cmp dword [ebp - 0x2c], 2
jne 0x4ba3c7
push dword [ebp + 0xc]
mov ecx, edi
call fcn.004c3da4
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 9
test eax, eax
je 0x4ba7d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4ba7d1
cmp edx, 6
jne 0x4ba3ff
cmp eax, ecx
je 0x4ba3f3
cmp eax, 4
jne 0x4ba7d1
mov ecx, edi
call fcn.004b9816
jmp 0x4ba7d1
cmp edx, 0xa
jne 0x4ba440
cmp eax, ecx
je 0x4ba411
cmp eax, 4
jne 0x4ba7d1
cmp eax, 4
je 0x4ba7d1
xor ebx, ebx
mov ecx, edi
push ebx
push esi
call fcn.004b8818
push esi
mov ecx, 0x533720
call fcn.004caccf
push ebx
push ebx
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x4ba7d1
cmp edx, 2
jne 0x4ba4e5
and dword [ebp - 0x18], 0
test esi, esi
je 0x4ba45f
mov eax, dword [esi]
lea ecx, [ebp - 0x18]
push ecx
push 0x52eca8
push esi
call dword [eax]
xor eax, eax
mov byte [ebp - 4], 0xd
test esi, esi
mov dword [ebp - 0x30], eax
je 0x4ba47d
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
push 0x52c6d8
push esi
call dword [eax]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x18], 0
je 0x4ba4c6
test eax, eax
je 0x4ba4c6
and word [ebp - 0x5c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x5c]
push edx
mov byte [ebp - 4], 0xf
push dword [0x531834]
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x4ba4b9
cmp word [ebp - 0x5c], ax
je 0x4ba4b9
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x128]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x30]
test eax, eax
mov byte [ebp - 4], 0xd
je 0x4ba4d4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
test eax, eax
je 0x4ba4e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
mov ecx, edi
call fcn.004b8e33
cmp dword [ebp + 0xc], 4
je 0x4ba4fd
cmp dword [ebp + 0xc], 9
jne 0x4ba7d1
mov eax, dword [esi]
lea ecx, [ebp - 0x44]
push ecx
push esi
call dword [eax + 0x2c]
cmp dword [ebp - 0x44], 0xb
jne 0x4ba7c3
xor ebx, ebx
mov dword [ebp - 0x4c], esi
cmp esi, ebx
je 0x4ba520
mov eax, dword [esi]
push esi
call dword [eax + 4]
cmp esi, ebx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x38], ebx
je 0x4ba539
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
push 0x52b438
push esi
call dword [eax]
cmp dword [ebp + 0xc], 9
mov byte [ebp - 4], 0x11
jne 0x4ba54d
push 1
push esi
mov ecx, edi
call fcn.004bada2
cmp esi, ebx
mov dword [ebp + 0xc], ebx
je 0x4ba562
mov eax, dword [esi]
lea ecx, [ebp + 0xc]
push ecx
push 0x52b448
push esi
call dword [eax]
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], 0x12
je 0x4ba791
call fcn.00430e04
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x20]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x17
call dword [ecx + 0xc]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp + 8], 0
mov ebx, str.Monitor
je 0x4ba5e8
mov ecx, dword [ebp - 0x40]
push 1
push str.AnalyzeTorrent
push ebx
call fcn.00431542
push 1
push str.IntelligentAnalysis
push ebx
call fcn.00430e04
mov ecx, eax
call fcn.00431542
test eax, eax
je 0x4ba6d9
push dword [ebp - 0x24]
lea ecx, [ebp - 0x48]
call sub.MFC42.DLL_CString::CString_2
push dword [ebp - 0x28]
mov ebx, dword [eax]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [eax]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x40], eax
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [eax]
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x3c], eax
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [eax]
push ebx
push dword [ebp - 0x40]
mov ecx, edi
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x3c]
push eax
push esi
call fcn.004ba804
lea ecx, [ebp - 0x30]
mov ebx, eax
mov byte [ebp - 4], 0x1a
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call sub.MFC42.DLL_CString::CString
test ebx, ebx
je 0x4ba6d9
mov eax, dword [esi]
push esi
call dword [eax + 0x18]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x48]
call sub.MFC42.DLL_CString::CString_2
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x48]
call sub.MFC42.DLL_CString::CString
push dword [ebp - 0x18]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push dword [ebp - 0x1c]
call edi
push dword [ebp - 0x20]
call edi
push dword [ebp - 0x24]
call edi
push dword [ebp - 0x28]
call edi
jmp 0x4ba791
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
mov ecx, edi
call fcn.004c6a62
test eax, eax
je 0x4ba72b
and dword [ebp - 0x30], 0
test esi, esi
je 0x4ba701
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
push 0x52b760
push esi
call dword [eax]
mov eax, dword [ebp - 0x30]
push 0
push eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [eax]
call dword [ecx + 0xec]
push esi
call fcn.004b66b8
mov eax, dword [ebp - 0x30]
pop ecx
test eax, eax
mov byte [ebp - 4], 0x17
je 0x4ba72b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x34], 0
lea edx, [ebp - 0x34]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x3c]
cmp dword [ebp - 0x34], 1
jne 0x4ba768
push dword [ebp - 0x18]
lea ecx, [ebp - 0x48]
call sub.MFC42.DLL_CString::CString_2
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0x1d
call fcn.004c2f5a
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call sub.MFC42.DLL_CString::CString
jmp 0x4ba778
cmp dword [ebp - 0x34], 2
jne 0x4ba778
push dword [ebp + 0xc]
mov ecx, edi
call fcn.004c368e
push dword [ebp - 0x18]
call ebx
push dword [ebp - 0x1c]
call ebx
push dword [ebp - 0x20]
call ebx
push dword [ebp - 0x24]
call ebx
push dword [ebp - 0x28]
call ebx
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4ba7a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4ba7b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test esi, esi
mov byte [ebp - 4], 9
je 0x4ba7d1
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x4ba7d1
cmp dword [ebp - 0x44], 0xc
jne 0x4ba7d1
push esi
mov ecx, edi
call fcn.004b9177
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 8
test eax, eax
je 0x4ba7e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x4ba7f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8