Function at 0x1004796
Capabilities:
Delete file
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x100c084]
push ebx
push esi
push edi
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], eax
mov dword [ebp - 0xa8], 1
call dword [sym.imp.cmutil.dll_public:_void___thiscall_CmLogFile::constructor_void_]
push 0x26
pop ecx
xor eax, eax
xor ebx, ebx
lea edi, [ebp - 0x9c]
push ebx
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], eax
call fcn.01003e62
test eax, eax
je 0x1004850
test byte [ebp - 0x8f], 0x20
je 0x1004800
push dword [ebp - 0x94]
call fcn.01004d48
jmp 0x100484a
lea esi, [ebp - 0x9c]
call fcn.010044a4
test eax, eax
je 0x1004850
push 0x10013c4
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
cmp eax, ebx
mov dword [ebp - 0x8c], eax
je 0x1004850
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.01004512
test eax, eax
je 0x1004850
mov eax, esi
push eax
push 0x1003717
push ebx
push 0x65
push dword [ebp - 0x9c]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0x78], ebx
mov dword [ebp - 0xa4], ebx
jbe 0x10048b5
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0xa0], ebx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xa0]
lea esi, [ecx + eax]
mov eax, dword [esi + 0x28]
cmp eax, ebx
je 0x1004880
push eax
call edi
mov dword [esi + 0x28], ebx
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x100488d
push eax
call edi
mov dword [esi + 0x24], ebx
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x100489a
push eax
call edi
mov dword [esi + 0x20], ebx
inc dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
add dword [ebp - 0xa0], 0x36c
cmp eax, dword [ebp - 0x78]
jb 0x1004867
cmp dword [ebp - 0x80], ebx
je 0x10048c8
push 0xafc8
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp - 0x94], ebx
je 0x10048e1
push dword [ebp - 0x94]
call sub.cmutil.dll_CmFree
mov dword [ebp - 0x94], ebx
cmp dword [ebp - 0x60], ebx
je 0x10048f1
push dword [ebp - 0x60]
call sub.cmutil.dll_CmFree
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x78], ebx
mov dword [ebp - 0xa4], ebx
jbe 0x10049cc
mov dword [ebp - 0xa0], ebx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x74]
lea edi, [eax + ecx]
mov esi, edi
call fcn.01002147
lea esi, [edi + 4]
call fcn.01002147
lea esi, [edi + 8]
call fcn.01002147
lea esi, [edi + 0xc]
call fcn.01002147
lea esi, [edi + 0x10]
call fcn.01002147
lea esi, [edi + 0x14]
call fcn.01002147
lea esi, [edi + 0x18]
call fcn.01002147
mov eax, dword [edi + 0x1c]
cmp eax, ebx
je 0x1004959
push eax
call sub.cmutil.dll_CmFree
mov dword [edi + 0x1c], ebx
lea esi, [edi + 0x364]
cmp dword [esi], 0
jbe 0x1004977
mov eax, dword [edi + 0x368]
push dword [eax + ebx*8]
call sub.cmutil.dll_CmFree
inc ebx
cmp ebx, dword [esi]
jb 0x1004964
push dword [edi + 0x368]
call sub.cmutil.dll_CmFree
test byte [ebp - 0x90], 1
jne 0x10049ab
lea eax, [edi + 0x2c]
cmp byte [eax], 0
je 0x100499a
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [edi + 0x14c]
cmp byte [eax], 0
je 0x10049ab
push eax
call fcn.01002bf7
inc dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
add dword [ebp - 0xa0], 0x36c
xor ebx, ebx
cmp eax, dword [ebp - 0x78]
jb 0x1004906
cmp dword [ebp - 0x74], ebx
je 0x10049dc
push dword [ebp - 0x74]
call sub.cmutil.dll_CmFree
mov dword [ebp - 0x74], ebx
xor edi, edi
lea esi, [ebp + edi*4 - 0x80]
mov eax, dword [esi]
cmp eax, ebx
je 0x10049f1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], ebx
inc edi
cmp edi, 2
jb 0x10049de
lea ecx, [ebp - 0x44]
call dword [sym.imp.cmutil.dll_public:_long_int___thiscall_CmLogFile::DeInit_void_]
push dword [ebp - 0xa8]
call dword [sym.imp.KERNEL32.dll_ExitProcess]