Function at 0x406efb
Capabilities:
Delete file

Disassembly:
mov eax, 0x41cc31
call fcn.00416014
mov eax, 0x1514
call fcn.00416da0
push ebx
push esi
mov esi, 0x27c
push edi
push esi
call fcn.00416220
pop ecx
mov dword [ebp - 0x14], eax
xor edi, edi
cmp eax, edi
mov dword [ebp - 4], edi
je 0x406f33
mov ecx, eax
call fcn.00406cd5
jmp 0x406f35
xor eax, eax
or dword [ebp - 4], 0xffffffff
push esi
push eax
mov dword [0x42252c], eax
call fcn.0040ec1a
pop ecx
test eax, eax
pop ecx
jne 0x406f83
push 0x38
call fcn.00416220
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, edi
mov dword [ebp - 4], 1
je 0x406f6a
mov ecx, eax
call fcn.004052dc
jmp 0x406f6c
xor eax, eax
or dword [ebp - 4], 0xffffffff
push 0x38
push eax
mov dword [0x422528], eax
call fcn.0040ec1a
pop ecx
test eax, eax
pop ecx
je 0x406f8d
mov eax, 0x6df
jmp 0x40784a
lea eax, [ebp - 0xb28]
push eax
call fcn.0040ed5d
cmp eax, edi
pop ecx
jne 0x40784a
mov ecx, dword [0x42252c]
lea edx, [ebp - 0xb28]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
je 0x407066
lea eax, [ebp - 0x6d8]
push str.Tester
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x6d8]
push str.s_folders
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
lea eax, [ebp - 0x6d8]
push str.Total
push eax
push edi
call dword [sym.imp.gwkrnl32.dll__GW_GetProfileInt_16]
test ax, ax
jbe 0x407009
mov eax, 0x6d9
jmp 0x40784a
mov ecx, dword [0x42252c]
lea edx, [ebp - 0xb28]
push 0x1348
push edx
mov eax, dword [ecx]
call dword [eax + 0x40]
cmp eax, edi
jne 0x40784a
mov ecx, dword [0x422528]
call fcn.00405d51
cmp eax, edi
jne 0x40784a
mov ecx, dword [0x422528]
call fcn.004065bd
cmp eax, edi
jne 0x40784a
mov ecx, dword [0x422528]
call fcn.004062b8
cmp eax, edi
je 0x407848
jmp 0x40784a
mov ecx, dword [0x42252c]
lea edx, [ebp - 0xb28]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
cmp eax, edi
je 0x407839
cmp eax, 0x677
jne 0x40784a
lea ecx, [ebp - 0x4d0]
call fcn.004146e0
lea ecx, [ebp - 0x288]
mov dword [ebp - 4], 2
call fcn.004146e0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, str.c:database_
lea eax, [ebp - 0x1220]
push esi
push eax
mov byte [ebp - 4], 3
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x1220]
push str.STRUCTURE.FS
push eax
call ebx
lea eax, [ebp - 0x5d4]
push esi
push eax
call edi
lea eax, [ebp - 0x5d4]
push str.NEW.FS
push eax
call ebx
xor edi, edi
lea eax, [ebp - 0x1220]
push edi
push edi
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00414a60
mov esi, eax
cmp esi, edi
je 0x407118
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x288]
jmp 0x40780d
mov eax, dword [ebp - 0x3c8]
push edi
add eax, 0x9c8
lea ecx, [ebp - 0x288]
push eax
lea eax, [ebp - 0x5d4]
push eax
call fcn.00414990
mov esi, eax
cmp esi, edi
je 0x40714a
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
jmp 0x407109
push dword [ebp - 0x180]
push edi
push dword [ebp - 0x174]
call fcn.004160d0
push 0x9d6
push dword [ebp - 0x3bc]
push dword [ebp - 0x174]
call fcn.004165a0
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x180]
add esp, 0x18
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x174]
push 4
mov word [eax + 4], 5
mov ecx, dword [ebp - 0x174]
pop edi
mov ax, word [ecx + 0xc]
cmp ax, di
lea edx, [eax + 4]
mov word [ecx + 0xc], dx
jbe 0x4071d8
movzx eax, ax
imul eax, eax, 0x272
sub eax, 0x9c8
push eax
mov eax, dword [ebp - 0x3bc]
add eax, 0x9d6
push eax
mov eax, dword [ebp - 0x174]
add eax, 0x139e
push eax
call fcn.004165a0
add esp, 0xc
mov eax, dword [ebp - 0x174]
lea esi, [eax + 0xe]
mov eax, edi
or byte [esi + 0x203], 0x80
add esi, 0x272
dec eax
jne 0x4071e3
mov dword [ebp - 0x14], edi
mov dl, byte [0x422524]
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x6d7]
mov byte [ebp - 0x6d8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0xa23]
mov byte [ebp - 0xa24], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x6d8]
push eax
call fcn.0040ec47
xor edi, edi
pop ecx
cmp eax, edi
mov dword [ebp - 0x10], eax
jne 0x40755f
lea eax, [ebp - 0x6d8]
push eax
lea eax, [ebp - 0xa24]
push eax
call fcn.00416130
lea eax, [ebp - 0xa24]
push str..CLU
push eax
call fcn.0040ed07
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x10], eax
jne 0x40755f
lea ecx, [ebp - 0x920]
call fcn.004146e0
push edi
lea eax, [ebp - 0xa24]
push 0x14
push eax
lea ecx, [ebp - 0x920]
mov byte [ebp - 4], 4
call fcn.00414990
cmp eax, edi
mov dword [ebp - 0x10], eax
jne 0x40758a
mov eax, dword [ebp - 0x80c]
mov dword [eax], 0x464c4f46
mov word [eax + 4], 4
mov word [eax + 6], 1
mov edx, dword [ebp - 0x818]
lea ecx, [eax + 0xc]
mov dword [eax + 8], edx
mov dword [ecx], edi
mov dword [ecx + 4], edi
lea ecx, [ebp - 0x920]
call fcn.00414bf0
lea eax, [ebp - 0x6d8]
push eax
lea eax, [esi + 0x269]
push eax
call fcn.00416130
movzx eax, word [ebp - 0x14]
pop ecx
sub eax, 4
pop ecx
mov dword [esi + 0x200], SysReAllocString
je 0x40748c
dec eax
je 0x407420
dec eax
je 0x4073b4
dec eax
jne 0x4074f8
lea eax, [esi + 0x21c]
push str.Faxes
push eax
mov dword [esi + 0x200], 0x80800000
call fcn.00416130
lea eax, [esi + 0x22c]
push str.Template
push eax
call fcn.00416130
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xf1c]
push 0x200
push eax
push 0x3ed
push dword [0x422a50]
call edi
test eax, eax
jle 0x4075b2
lea eax, [ebp - 0x111c]
push 0x200
push eax
push 0x3e8
push dword [0x422a50]
call edi
test eax, eax
jle 0x4075b2
lea eax, [ebp - 0xf1c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4210dc
push esi
call ebx
lea eax, [ebp - 0x111c]
push eax
push esi
call ebx
jmp 0x4074f8
lea eax, [esi + 0x21c]
push str.HTMLStat
push eax
mov dword [esi + 0x200], 0x80400000
call fcn.00416130
lea eax, [esi + 0x22c]
push str.Template
push eax
call fcn.00416130
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xf1c]
push 0x200
push eax
push 0x3ed
push dword [0x422a50]
call edi
test eax, eax
jle 0x4075b2
lea eax, [ebp - 0x111c]
push 0x200
push eax
push 0x3ef
jmp 0x40737f
lea eax, [esi + 0x21c]
push str.Messages
push eax
mov dword [esi + 0x200], 0x80200000
call fcn.00416130
lea eax, [esi + 0x22c]
push str.Template
push eax
call fcn.00416130
add esp, 0x10
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0xf1c]
push 0x200
push eax
push 0x3ed
push dword [0x422a50]
call edi
test eax, eax
jle 0x4075b2
lea eax, [ebp - 0x111c]
push 0x200
push eax
push 0x3ee
jmp 0x40737f
lea eax, [esi + 0x21c]
push str.Template
push eax
mov dword [esi + 0x200], 0x80100000
call fcn.00416130
lea eax, [esi + 0x22c]
push str.Folders
push eax
call fcn.00416130
add esp, 0x10
lea eax, [ebp - 0xf1c]
push 0x200
push eax
push 0x3ed
push dword [0x422a50]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
jle 0x40760c
lea eax, [ebp - 0xf1c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi + 0x218], 3
lea ecx, [ebp - 0x920]
add esi, 0x272
mov byte [ebp - 4], 3
call fcn.00414770
inc dword [ebp - 0x14]
cmp word [ebp - 0x14], 8
jb 0x4071f6
push 0x9c8
lea ecx, [ebp - 0x4d0]
call fcn.00415000
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x40763b
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x407109
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [ebp - 0x10]
jmp 0x407109
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [ebp - 0x10]
jmp 0x407627
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x920]
mov byte [ebp - 4], 3
call fcn.00414770
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 2
call fcn.00414770
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4d0]
call fcn.00414770
mov eax, 0x6aa
jmp 0x40784a
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
mov esi, 0x6aa
lea ecx, [ebp - 0x920]
mov byte [ebp - 4], 3
call fcn.00414770
jmp 0x407109
push dword [ebp - 0x180]
push dword [ebp - 0x174]
push dword [ebp - 0x3bc]
call fcn.004165a0
add esp, 0xc
lea ecx, [ebp - 0x288]
call fcn.00414bf0
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0xd1c]
push str.Tester
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0xd1c]
push str.s_folders
push eax
call ebx
mov esi, dword [sym.imp.gwkrnl32.dll__GW_WriteProfileString_16]
push edi
lea eax, [ebp - 0xd1c]
push edi
push eax
push edi
call esi
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x10], edi
lea ebx, [eax + 0xe]
add eax, 0xc
mov dword [ebp - 0x14], eax
cmp word [eax], di
jbe 0x4077be
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, word [ebp - 0x10]
push eax
lea eax, [ebp - 0x1520]
push str._d_Path
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x1520]
push ebx
push eax
lea eax, [ebp - 0xd1c]
push eax
push 0
call esi
movzx eax, word [ebp - 0x10]
push eax
lea eax, [ebp - 0x30]
push str._d_ID
push eax
call edi
add esp, 0xc
lea eax, [ebx + 0x21c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xd1c]
push eax
push 0
call esi
movzx eax, word [ebp - 0x10]
push eax
lea eax, [ebp - 0x40]
push str._d_ParentID
push eax
call edi
add esp, 0xc
lea eax, [ebx + 0x22c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xd1c]
push eax
push 0
call esi
movzx eax, word [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push str._d_FileName
push eax
call edi
add esp, 0xc
lea eax, [ebx + 0x269]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xd1c]
push eax
push 0
call esi
movzx eax, word [ebp - 0x10]
push eax
lea eax, [ebp - 0x1320]
push str._d_Flags
push eax
call edi
lea eax, [ebx + 0x200]
add esp, 0xc
cmp dword [eax], 0
jne 0x40778b
mov dword [eax], 0x40
push dword [eax]
lea eax, [ebp - 0x1320]
push eax
lea eax, [ebp - 0xd1c]
push eax
push 0
call dword [sym.imp.gwkrnl32.dll__GW_WriteProfileInt_16]
mov eax, dword [ebp - 0x14]
add ebx, 0x272
inc dword [ebp - 0x10]
mov cx, word [ebp - 0x10]
cmp cx, word [eax]
jb 0x4076c0
xor edi, edi
movzx eax, word [eax]
push eax
lea eax, [ebp - 0xd1c]
push str.Total
push eax
push edi
call dword [sym.imp.gwkrnl32.dll__GW_WriteProfileInt_16]
lea ecx, [ebp - 0x4d0]
call fcn.00414bf0
lea ecx, [ebp - 0x288]
call fcn.00414bf0
mov ecx, dword [0x42252c]
lea edx, [ebp - 0xb28]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
mov esi, eax
mov byte [ebp - 4], 2
cmp esi, edi
lea ecx, [ebp - 0x288]
je 0x407825
call fcn.00414770
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4d0]
call fcn.00414770
mov eax, esi
jmp 0x40784a
call fcn.00414770
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4d0]
call fcn.00414770
mov ecx, dword [0x422528]
call fcn.0040635a
test eax, eax
jne 0x40784a
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret