Function at 0x41bed0
Capabilities:
Delete file
Get file size
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x88
push ebx
push edi
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push ebx
push SysReAllocStringLen
push dword [ebp + 0x70]
mov dword [ebp + 0x5c], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x41bf08
xor eax, eax
jmp 0x41c22a
mov eax, dword [0x452170]
push esi
push ebx
push edi
mov dword [ebp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
push ebx
lea eax, [ebp + 0x18]
push eax
push esi
lea eax, [esi + 1]
push eax
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x18], ebx
call fcn.00401eb3
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
lea ecx, [ebp + 0x4c]
call fcn.00401ee8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp + 0x4c]
cmp dword [esi - 8], ebx
je 0x41bf8e
lea ecx, [ebp - 0x20]
call fcn.0040516f
push 0xfde9
push dword [esi - 8]
lea ecx, [ebp - 0x20]
push esi
call fcn.00403a2b
cmp dword [ebp + 4], ebx
lea ecx, [ebp - 0x20]
jne 0x41bf82
call fcn.00404cd5
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x58], edi
jne 0x41bf96
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x4464c4
call fcn.00404bfe
lea ecx, [esi - 0xc]
jmp 0x41c21a
push str.FileTypeAsso
lea esi, [edi + 0x14]
push esi
call fcn.00404709
test al, al
je 0x41c231
push 0xffffffffffffffff
push 0
mov ecx, 0x452420
call fcn.00417c61
push 0xffffffffffffffff
push 0
mov ecx, 0x4527c8
call fcn.00402439
mov eax, dword [ebp + 0x78]
push 0x43f7f8
mov ecx, edi
mov dword [eax], 0xd
call fcn.00404d2b
test eax, eax
mov ebx, 0x446aac
je 0x41c119
mov ecx, eax
call fcn.00404cd5
mov esi, eax
jmp 0x41c111
mov eax, dword [0x452170]
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
push ebx
lea eax, [ebp + 0x60]
push eax
mov ecx, esi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
add esp, 0xc
push eax
lea ecx, [ebp + 0x40]
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c03f
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c052
call fcn.004013ad
push 0x43f7f4
lea eax, [ebp + 0x50]
push eax
mov ecx, esi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0040281e
add esp, 0xc
push eax
lea ecx, [ebp + 0x44]
call fcn.00401b9b
mov ecx, dword [ebp + 0x54]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c08f
call fcn.004013ad
mov ecx, dword [ebp + 0x50]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c0a2
call fcn.004013ad
push str.icon
lea eax, [ebp + 0x5c]
push eax
mov ecx, esi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0040281e
add esp, 0xc
push eax
lea ecx, [ebp + 0x48]
call fcn.00401b9b
mov ecx, dword [ebp + 0x58]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c0df
call fcn.004013ad
mov ecx, dword [ebp + 0x5c]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c0f2
call fcn.004013ad
lea eax, [ebp + 0x40]
push eax
mov ecx, 0x452420
call fcn.0041a2e5
mov ecx, esi
call fcn.00404d00
lea ecx, [ebp + 0x40]
mov esi, eax
call fcn.0041d47d
test esi, esi
jne 0x41bff8
push str.unreg
mov ecx, edi
call fcn.00404d2b
test eax, eax
je 0x41c191
mov ecx, eax
call fcn.00404cd5
mov esi, eax
jmp 0x41c18d
push ebx
lea eax, [ebp + 0x64]
push eax
mov ecx, esi
call fcn.00404e29
push 0xffffffffffffffff
push dword [eax]
lea eax, [ebp + 0x54]
push eax
call fcn.0040281e
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
add esp, 0xc
cmp ecx, dword [0x452174]
je 0x41c163
call fcn.004013ad
lea eax, [ebp + 0x54]
push eax
mov ecx, 0x4527c8
call fcn.00408ca9
mov ecx, esi
call fcn.00404d00
mov ecx, dword [ebp + 0x54]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
mov esi, eax
je 0x41c18d
call fcn.004013ad
test esi, esi
jne 0x41c134
mov esi, 0x452444
mov ecx, esi
call fcn.00401b71
push str.ttpModule
mov ecx, edi
call fcn.00404d2b
test eax, eax
je 0x41c1fc
push str.file
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
mov ecx, esi
add esp, 0xc
push eax
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c1e9
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c1fc
call fcn.004013ad
push dword [ebp + 0x70]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x4464c4
call fcn.00404bfe
mov ecx, dword [ebp + 0x4c]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c227
call fcn.004013ad
xor eax, eax
pop esi
pop edi
pop ebx
add ebp, 0x68
leave
ret
push str.AdProcessInfo
push esi
call fcn.00404709
test al, al
je 0x41c32d
mov eax, dword [ebp + 0x78]
mov dword [eax], 0xa
push str.type
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e681
mov esi, dword [ebp + 0x74]
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi], eax
cmp ecx, dword [0x452174]
je 0x41c27d
call fcn.004013ad
push str.elapse
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e681
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 4], eax
cmp ecx, dword [0x452174]
je 0x41c2ab
call fcn.004013ad
push 0x43f7b4
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e681
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0x14], eax
cmp ecx, dword [0x452174]
je 0x41c2d9
call fcn.004013ad
push 0x43f7b0
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e681
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0x18], eax
cmp ecx, dword [0x452174]
je 0x41c307
call fcn.004013ad
push 0x446f9c
lea eax, [ebp + 0x60]
push eax
mov ecx, edi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
lea ecx, [esi + 0x1c]
jmp 0x41c1cd
push str.RecomUpdate
push esi
call fcn.00404709
test al, al
je 0x41c5c7
push str.title
lea eax, [ebp + 0x60]
push eax
mov ecx, edi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
mov esi, dword [ebp + 0x74]
add esp, 0xc
push eax
lea ecx, [esi + 0x20]
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c380
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c393
call fcn.004013ad
push str.message
lea eax, [ebp + 0x60]
push eax
mov ecx, edi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
add esp, 0xc
push eax
lea ecx, [esi + 0x24]
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c3d0
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c3e3
call fcn.004013ad
push str.cfgmsg
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0x10], eax
cmp ecx, dword [0x452174]
je 0x41c411
call fcn.004013ad
push str.wparam
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 8], eax
cmp ecx, dword [0x452174]
je 0x41c43f
call fcn.004013ad
push str.lparam
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0xc], eax
cmp ecx, dword [0x452174]
je 0x41c46d
call fcn.004013ad
push 0x43f7b4
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0x14], eax
cmp ecx, dword [0x452174]
je 0x41c49b
call fcn.004013ad
push 0x43f7b0
lea eax, [ebp + 0x64]
push eax
mov ecx, edi
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
mov dword [esi + 0x18], eax
cmp ecx, dword [0x452174]
je 0x41c4c9
call fcn.004013ad
mov ebx, 0x45243c
mov ecx, ebx
call fcn.00401b71
mov edi, 0x452440
mov ecx, edi
call fcn.00401b71
mov ecx, dword [ebp + 0x58]
push str.version
lea eax, [ebp + 0x60]
push eax
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
add esp, 0xc
push eax
mov ecx, edi
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c51e
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c531
call fcn.004013ad
mov ecx, dword [ebp + 0x58]
push str.bduss
lea eax, [ebp + 0x60]
push eax
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040281e
add esp, 0xc
push eax
mov ecx, ebx
call fcn.00401b9b
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c56e
call fcn.004013ad
mov ecx, dword [ebp + 0x60]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c581
call fcn.004013ad
mov ecx, dword [ebp + 0x58]
push 0x43f778
push str.bhtml
lea eax, [ebp + 0x64]
push eax
call fcn.00404e29
push eax
call fcn.00404709
mov ecx, dword [ebp + 0x64]
neg al
sbb eax, eax
neg eax
add ecx, 0xfffffff4
mov dword [esi + 0x28], eax
cmp ecx, dword [0x452174]
je 0x41c5b9
call fcn.004013ad
mov eax, dword [ebp + 0x78]
mov dword [eax], 0xc
jmp 0x41c1fc
push str.setuppackinfo
push esi
call fcn.00404709
test al, al
je 0x41c1fc
mov eax, dword [ebp + 0x78]
and dword [ebp + 0x54], 0
mov ecx, edi
mov dword [eax], 0xe
call fcn.00404cd5
mov ebx, eax
test ebx, ebx
je 0x41c94d
and dword [ebp + 0x58], 0
mov esi, dword [ebp + 0x7c]
lea eax, [ebx + 0x14]
push eax
lea ecx, [ebp + 0x50]
call fcn.00401e46
push str.proxy
push dword [ebp + 0x50]
call fcn.0042e17f
test eax, eax
pop ecx
pop ecx
jne 0x41c777
push str.type
lea eax, [ebp + 0xc]
push eax
mov ecx, ebx
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff4
mov dword [esi + 4], eax
cmp ecx, dword [0x452174]
je 0x41c650
call fcn.004013ad
push str.port
lea eax, [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.00404e29
push dword [eax]
call fcn.0042e709
pop ecx
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff4
mov dword [esi + 0xc], eax
cmp ecx, dword [0x452174]
je 0x41c67e
call fcn.004013ad
push 0x43f74c
lea eax, [ebp + 0x3c]
push eax
mov ecx, ebx
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.0040281e
add esp, 0xc
push dword [eax]
mov ecx, esi
call fcn.00412f27
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c6bb
call fcn.004013ad
mov ecx, dword [ebp + 0x3c]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c6ce
call fcn.004013ad
push str.usename
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x28]
push eax
call fcn.0040281e
add esp, 0xc
push dword [eax]
mov ecx, esi
call fcn.00412f3d
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c70b
call fcn.004013ad
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c71e
call fcn.004013ad
push str.password
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.0040281e
add esp, 0xc
push dword [eax]
mov ecx, esi
call fcn.00412f53
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c75b
call fcn.004013ad
mov ecx, dword [ebp + 0x38]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c929
call fcn.004013ad
jmp 0x41c929
push str.pack
push dword [ebp + 0x50]
call fcn.0042e17f
test eax, eax
pop ecx
pop ecx
jne 0x41c929
mov esi, dword [ebp + 0x58]
push 0x43f72c
lea eax, [ebp + 0x34]
push eax
mov ecx, ebx
lea esi, [esi + 0x45244c]
call fcn.00404e29
push eax
lea ecx, [esi + 4]
call fcn.00404666
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c7c3
call fcn.004013ad
push str.size
lea eax, [ebp + 0x2c]
push eax
mov ecx, ebx
call fcn.00404e29
push eax
mov ecx, esi
call fcn.00404666
mov ecx, dword [ebp + 0x2c]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c7ee
call fcn.004013ad
push str.name
lea eax, [ebp + 0x24]
push eax
mov ecx, ebx
call fcn.00404e29
push eax
lea ecx, [esi - 4]
call fcn.00404666
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c81a
call fcn.004013ad
mov ecx, ebx
call fcn.00404cd5
jmp 0x41c915
lea eax, [edi + 0x14]
push eax
lea ecx, [ebp + 0x64]
call fcn.00401e46
push str.source
push dword [ebp + 0x64]
call fcn.0042e17f
test eax, eax
pop ecx
pop ecx
jne 0x41c8fb
push 0x4c
call fcn.0042c8e6
mov esi, eax
test esi, esi
pop ecx
je 0x41c891
or dword [ebp + 0x5c], 3
push 0x446f9c
lea eax, [ebp + 0x14]
push eax
mov ecx, edi
call fcn.00404e29
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.0040281e
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push 1
push ecx
push eax
mov ecx, esi
call fcn.0042869a
mov esi, eax
jmp 0x41c893
xor esi, esi
test byte [ebp + 0x5c], 2
je 0x41c8b0
mov ecx, dword [ebp + 0x1c]
and dword [ebp + 0x5c], 0xfffffffd
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c8b0
call fcn.004013ad
test byte [ebp + 0x5c], 1
je 0x41c8cd
mov ecx, dword [ebp + 0x14]
and dword [ebp + 0x5c], 0xfffffffe
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c8cd
call fcn.004013ad
push esi
lea ecx, [ebp + 0x60]
call fcn.004273da
mov ecx, dword [ebp + 0x58]
lea eax, [ebp + 0x60]
push eax
lea ecx, [ecx + 0x452454]
call fcn.0040e82b
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x41c8f5
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebp + 0x64]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c90e
call fcn.004013ad
mov ecx, edi
call fcn.00404d00
mov edi, eax
test edi, edi
jne 0x41c826
inc dword [ebp + 0x54]
add dword [ebp + 0x58], 0x1c
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x50]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c93c
call fcn.004013ad
mov ecx, ebx
call fcn.00404d00
mov ebx, eax
test ebx, ebx
jne 0x41c5ff
push dword [ebp + 0x70]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x4464c4
call fcn.00404bfe
mov ecx, dword [ebp + 0x4c]
add ecx, 0xfffffff4
cmp ecx, dword [0x452174]
je 0x41c978
call fcn.004013ad
mov eax, dword [ebp + 0x54]
jmp 0x41c229