Function at 0x44ba40
Capabilities:
Accept command line arguments
Check mutex on windows
Enumerate gui resources
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x104]
sub esp, 0x104
push 0xffffffffffffffff
push 0x648bd9
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0x100], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x18], esi
xor ebx, ebx
push ebx
call fcn.006059f5
mov dword [ebp - 4], ebx
mov dword [esi], vtable.CDownloaderApp.0
lea ecx, [esi + 0xa8]
call fcn.00533940
mov byte [ebp - 4], 1
lea ecx, [esi + 0xc0]
call fcn.00417040
mov byte [ebp - 4], 2
lea ecx, [esi + 0x12c]
call fcn.00439d00
mov byte [ebp - 4], 3
lea ecx, [esi + 0x188]
call fcn.004274a0
mov byte [ebp - 4], 4
lea edi, [esi + 0x1b0]
mov ecx, edi
call fcn.004c1c00
mov byte [ebp - 4], 5
mov byte [ebp - 4], 6
mov dword [0x75dba8], ebx
mov dword [0x75dba4], ebx
mov dword [esi + 0x184], ebx
push str.Tonec_Internet_Download_Manager_MTX
push ebx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateMutexA]
call ebx
mov dword [esi + 0x17c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esi + 0x17c], 0
jne 0x44bb45
push eax
push str.CM_failed_in_CD::CDAppp_2096__err_ld_n
lea eax, [ebp + 0x80]
push eax
call fcn.00623a6b
add esp, 0xc
push 1
lea ecx, [ebp + 0x80]
push ecx
mov ecx, edi
call fcn.004c1d70
push 0
call fcn.00625302
cmp eax, 0xb7
jne 0x44bd9f
push 0x6828e8
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x75dc2c], eax
test eax, eax
jne 0x44bb83
push 0x75dc2c
push 0x4485a0
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [0x75dc2c], 0
je 0x44bdaf
lea ecx, [ebp + 0xa0]
call fcn.00452b20
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp + 0xa0]
call fcn.00453520
test eax, eax
jne 0x44bbb6
lea edx, [ebp + 0xa0]
push edx
mov ecx, esi
call fcn.00605047
cmp byte [ebp + 0xe8], 0
je 0x44bcd7
mov eax, dword [ebp + 0xcc]
cmp dword [eax - 0xc], 6
jle 0x44bcd7
push 0
lea ecx, [ebp - 0x14]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareDownloadManager_
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x44bcd0
mov eax, dword [ebp + 0xcc]
mov ecx, dword [eax - 0xc]
inc ecx
push ecx
push eax
push 1
push 0
push str.LastUrlCmdLine
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x44bcd0
mov ecx, dword [ebp + 0xd8]
cmp ecx, 1
jle 0x44bc59
mov eax, dword [ebp + 0xd0]
test eax, eax
jne 0x44bc40
lea eax, [ebp + 0xd4]
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 1
push 0
push str.LastDirCmdLineW
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp + 0xe4]
cmp ecx, 1
jle 0x44bc8d
mov eax, dword [ebp + 0xdc]
test eax, eax
jne 0x44bc74
lea eax, [ebp + 0xe0]
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 1
push 0
push str.LastFileCmdLineW
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor eax, eax
cmp byte [ebp + 0xeb], al
setne al
mov dword [ebp - 0x1c], eax
cmp byte [ebp + 0xec], 0
je 0x44bcaa
add eax, 2
mov dword [ebp - 0x1c], eax
cmp byte [ebp + 0xed], 0
je 0x44bcb9
add eax, 4
mov dword [ebp - 0x1c], eax
push eax
push 0x13be
push 0x111
mov eax, dword [0x75dc2c]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
call fcn.00625302
push 0
cmp byte [ebp + 0xe9], 0
je 0x44bd00
push 0x1398
push 0x111
mov ecx, dword [0x75dc2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
call fcn.00625302
push 0x2714
push 0x111
mov edx, dword [0x75dc2c]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x75dc2c]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov ecx, dword [0x75dc2c]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x44bb3e
push 1
push str.ERROR_ALREADY_EXISTS__step_1_in_CDwnlApp_r_n
mov ecx, edi
call fcn.004c1d70
push 0
mov ecx, esi
call fcn.00448870
push str.Tonec_Internet_Download_Manager_MTX
push 0
push 0
call ebx
mov dword [esi + 0x17c], eax
test eax, eax
jne 0x44bd90
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CM_failed_in_CD::CDAppp_2147__err_ld_n
lea edx, [ebp]
push edx
call fcn.00623a6b
add esp, 0xc
push 1
lea eax, [ebp]
push eax
mov ecx, edi
call fcn.004c1d70
push 0
call fcn.00625302
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xa0]
call fcn.00452bf0
call fcn.0044ad90
test al, al
jne 0x44be07
push 0
call fcn.00625302
push 1
push str.ERROR_ALREADY_EXISTS_during_CM_in_CDownloaderApp_constructor_r_n
mov ecx, edi
call fcn.004c1d70
push 0
mov ecx, esi
call fcn.00448870
push str.Tonec_Internet_Download_Manager_MTX
push 0
push 0
call ebx
mov dword [esi + 0x17c], eax
test eax, eax
jne 0x44bd9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CM_failed_in_CD::CDAppp_2163__err_ld_n
lea ecx, [ebp]
push ecx
call fcn.00623a6b
add esp, 0xc
push 1
lea edx, [ebp]
push edx
mov ecx, edi
call fcn.004c1d70
push 0
call fcn.00625302
mov dword [ebp - 4], 5
jmp 0x44be35
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x100]
xor ecx, ebp
call fcn.00620b8d
add ebp, 0x104
mov esp, ebp
pop ebp
ret