Function at 0x41810c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov esi, 0x41943c
xor eax, eax
push ebp
push 0x4186ec
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x4186bd
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x41941c]
sub eax, 1
jb 0x418159
je 0x4182c0
dec eax
je 0x418315
jmp 0x41863b
mov byte [0x41aae0], 0
cmp dword [esi], 0
jne 0x41863b
call fcn.0040bd14
mov dword [esi], eax
cmp dword [esi], 0
je 0x41863b
call fcn.00417fd4
call fcn.004187ec
mov eax, dword [esi]
mov eax, dword [eax + 0x5d4]
mov dword [0x41aad0], eax
xor eax, eax
mov dword [0x41aac4], eax
call sub.kernel32.dll_GetCurrentProcessId
mov edi, eax
push 0x418704
call fcn.004151b8
mov byte [ebp - 1], 0
xor ebx, ebx
mov eax, ebx
shl eax, 5
sub eax, ebx
mov edx, dword [esi]
mov eax, dword [edx + eax*8 + 8]
cmp eax, edi
jne 0x4181f2
mov byte [ebp - 1], 1
mov dword [0x41aac4], ebx
push 0x41871c
lea edx, [ebp - 0xc]
lea eax, [ebx + 1]
call fcn.00406b74
push dword [ebp - 0xc]
push 0x41872c
mov eax, 0x41ab68
mov edx, 3
call fcn.00403d5c
jmp 0x4181f8
inc ebx
cmp ebx, 6
jne 0x4181ae
cmp byte [ebp - 1], 0
jne 0x418215
push 0x418738
call fcn.004151b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4186d1
mov byte [0x41aae0], 0
mov dword [0x41941c], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x5d8]
mov dword [0x41aac8], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x5dc]
mov dword [0x41aacc], eax
call fcn.004134ac
push 0x417df0
push 1
push 0x14
mov eax, dword [0x41aabc]
push eax
call sub.user32.dll_SetTimer
push dword [0x41aac0]
mov eax, edi
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x14]
call fcn.00406c60
push dword [ebp - 0x14]
push 0x41874c
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403d5c
mov eax, dword [ebp - 0x10]
call fcn.00403e9c
push eax
call sub.kernel32.dll_DeleteFileA
lea eax, [ebp - 0x18]
mov ecx, 0x41875c
mov edx, dword [0x41aac0]
call fcn.00403ce8
mov eax, dword [ebp - 0x18]
call fcn.00403e9c
push eax
call sub.kernel32.dll_DeleteFileA
push 0x418770
call fcn.004151b8
jmp 0x41863b
cmp dword [0x419424], 0x82
jle 0x41830a
mov dword [0x41941c], 2
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
mov byte [edx + eax*8 + 0x30], 0
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
mov al, byte [edx + eax*8 + 0xf]
mov byte [0x41ab54], al
push 0x418788
call fcn.004151b8
inc dword [0x419424]
jmp 0x41863b
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
cmp byte [edx + eax*8 + 0xd], 0
je 0x4185a5
mov edx, dword [esi]
mov byte [edx + eax*8 + 0xd], 0
cmp byte [0x41aae0], 0
je 0x41834b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4186d1
call fcn.00417efc
call fcn.004180c4
cmp byte [0x41ab54], 0
je 0x41836a
push 0x4187a0
call fcn.004151b8
jmp 0x418374
push 0x4187b8
call fcn.004151b8
mov eax, 0x41ab5c
mov edx, dword [0x41aac4]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov ecx, dword [esi]
lea edx, [ecx + edx*8 + 0x7b]
call fcn.00403c40
lea eax, [ebp - 8]
mov ecx, dword [0x41ab5c]
mov edx, dword [0x41aac0]
call fcn.00403ce8
mov dl, 1
mov eax, dword [0x40f878]
call fcn.00402e70
mov dword [0x41aaec], eax
mov dl, 1
mov eax, dword [0x40f878]
call fcn.00402e70
mov dword [0x41ab44], eax
mov ebx, dword [0x41aac4]
mov eax, ebx
shl ebx, 5
sub ebx, eax
mov eax, dword [esi]
mov al, byte [eax + ebx*8 + 0x18]
mov byte [0x41ab84], al
mov eax, dword [esi]
mov eax, dword [eax + ebx*8]
mov dword [0x41ab48], eax
mov eax, 0x41ab4c
mov edx, dword [esi]
lea edx, [edx + ebx*8 + 0x48]
call fcn.00403c40
mov eax, dword [esi]
mov al, byte [eax + ebx*8 + 0xf]
mov byte [0x41ab54], al
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x1c]
mov dword [0x41ab80], eax
mov eax, dword [esi]
mov al, byte [eax + ebx*8 + 0x32]
mov byte [0x41ab8c], al
mov eax, dword [esi]
mov al, byte [eax + ebx*8 + 0x10]
mov byte [0x419420], al
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 4]
mov dword [0x41ab50], eax
mov eax, dword [0x4195f8]
mov edx, dword [esi]
lea edx, [edx + ebx*8 + 0xc3]
call fcn.00403c40
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x34]
mov dword [0x41ab90], eax
dec dword [0x41ab90]
cmp dword [0x41ab90], 0xf
jbe 0x418467
mov dword [0x41ab90], 0xf
mov byte [0x41ab9c], 0
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x14]
mov dword [0x41ab6c], eax
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x44]
mov dword [0x41ab70], eax
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x40]
mov dword [0x41ab74], eax
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x38]
mov dword [0x41ab78], eax
mov eax, dword [esi]
mov eax, dword [eax + ebx*8 + 0x3c]
mov dword [0x41ab7c], eax
cmp dword [0x41ab6c], 0
jl 0x4184c0
cmp dword [0x41ab6c], 7
jge 0x4184c0
cmp dword [0x41ab6c], 5
jne 0x4184e4
cmp dword [0x41ab70], 0
jne 0x4184e4
cmp dword [0x41ab74], 0
jne 0x4184e4
cmp dword [0x41ab78], 0
jne 0x4184e4
cmp dword [0x41ab7c], 0
je 0x4184eb
mov byte [0x41ab9c], 1
mov eax, dword [0x41ab70]
push eax
mov eax, dword [0x41ab74]
push eax
mov ecx, dword [0x41ab7c]
mov edx, dword [0x41ab78]
mov eax, dword [0x41ab6c]
call fcn.00416c94
mov eax, dword [ebp - 8]
call fcn.0040708c
test al, al
je 0x418526
mov edx, dword [ebp - 8]
mov eax, dword [0x41ab44]
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor eax, eax
mov dword [0x41aab8], eax
xor eax, eax
mov dword [0x41ab60], eax
mov dword [0x41aab4], 1
xor eax, eax
mov dword [0x41ab88], eax
xor eax, eax
mov dword [0x419430], eax
xor eax, eax
mov dword [0x419434], eax
call sub.kernel32.dll_GetTickCount
mov dword [0x41942c], eax
mov byte [0x41ab64], 1
lea eax, [ebp - 0x20]
call fcn.00415258
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 0x4187d0
call fcn.00403ce8
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004151b8
cmp byte [0x41ab54], 0
jne 0x418599
mov eax, dword [0x41ab5c]
push eax
call fcn.004151b8
call fcn.00412c20
mov byte [0x41aae0], 1
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
cmp byte [edx + eax*8 + 0xe], 0
je 0x418611
mov edx, dword [esi]
mov byte [edx + eax*8 + 0xe], 0
cmp byte [0x41aae0], 0
jne 0x4185d7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4186d1
mov byte [0x41aae0], 0
call fcn.00413024
cmp dword [0x41aaec], 0
je 0x4185f6
mov eax, dword [0x41aaec]
call fcn.00402ea0
cmp dword [0x41ab44], 0
je 0x418609
mov eax, dword [0x41ab44]
call fcn.00402ea0
mov eax, dword [0x419564]
mov byte [eax], 0
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
cmp byte [edx + eax*8 + 0x30], 0
je 0x41863b
mov edx, dword [esi]
mov byte [edx + eax*8 + 0x30], 0
xor ecx, ecx
mov edx, 1
xor eax, eax
call fcn.00416ed4
cmp dword [esi], 0
je 0x4186ae
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
cmp byte [edx + eax*8 + 0xc], 0
je 0x41865c
mov edx, dword [esi]
mov byte [edx + eax*8 + 0xc], 0
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
cmp byte [edx + eax*8 + 0x28], 0
je 0x4186ae
cmp dword [0x41aaec], 0
je 0x4186ae
mov edx, dword [esi]
mov byte [edx + eax*8 + 0x28], 0
mov eax, dword [0x41aac4]
mov edx, eax
shl eax, 5
sub eax, edx
mov edx, dword [esi]
mov al, byte [edx + eax*8 + 0x31]
mov edx, dword [0x419518]
mov byte [edx], al
mov eax, dword [0x4194f4]
mov dword [eax], 1
mov eax, dword [0x419564]
mov byte [eax], 1
call fcn.00415048
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4186d1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4186f3
lea eax, [ebp - 0x20]
mov edx, 7
call fcn.00403a00
ret