Function at 0x40a048
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x76c]
sub esp, 0x7ec
mov eax, dword [0x4755d0]
xor eax, ebp
mov dword [ebp + 0x768], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0x774]
mov esi, 0xfc
xor ebx, ebx
push esi
lea eax, [ebp + 0x46c]
push ebx
push eax
mov dword [ebp + 0x468], ebx
call fcn.00448090
push esi
lea eax, [ebp + 0x36c]
push ebx
push eax
mov dword [ebp + 0x368], ebx
call fcn.00448090
push esi
lea eax, [ebp + 0x56c]
push ebx
push eax
mov dword [ebp + 0x568], ebx
call fcn.00448090
push esi
lea eax, [ebp + 0x26c]
push ebx
push eax
mov dword [ebp + 0x268], ebx
call fcn.00448090
fldz
push 0x1f8
fstp qword [ebp + 0x68]
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.00448090
push 0xff
lea eax, [ebp + 0x669]
push ebx
push eax
mov byte [ebp + 0x668], bl
call fcn.00448090
add esp, 0x48
mov dword [ebp - 0x80], str.General
mov dword [ebp - 0x7c], 0x45e8b4
mov dword [ebp - 0x78], str.0.00
mov dword [ebp - 0x74], str._0
mov dword [ebp - 0x70], str._0.00
mov dword [ebp - 0x6c], str.____0________0_
mov dword [ebp - 0x68], str.____0____Red______0_
mov dword [ebp - 0x64], str.____0.00________0.00_
mov dword [ebp - 0x60], str.____0.00____Red______0.00_
mov dword [ebp - 0x5c], 0x45e818
mov dword [ebp - 0x58], str.0.00_
mov dword [ebp - 0x54], str.0.00E00
mov dword [ebp - 0x50], 0x45e7fc
mov dword [ebp - 0x4c], str.m_d_yyyy
mov dword [ebp - 0x48], str.d_mmm_yy
mov dword [ebp - 0x44], str.d_mmm
mov dword [ebp - 0x40], str.mmm_yy
mov dword [ebp - 0x3c], str.h:mm_AM_PM
mov dword [ebp - 0x38], str.h:mm:ss_AM_PM
mov dword [ebp - 0x34], str.h:mm
mov dword [ebp - 0x30], str.h:mm:ss
mov dword [ebp - 0x2c], str.m_d_yyyy_h:mm
mov dword [ebp - 0x28], str._0_____0_
mov dword [ebp - 0x24], str._0____Red___0_
mov dword [ebp - 0x20], str._0.00_____0.00_
mov dword [ebp - 0x1c], str._0.00____Red___0.00_
mov dword [ebp - 0x18], str.0.0E0
mov dword [ebp - 0x14], str.mm:ss
mov dword [ebp - 0x10], 0x45e71c
mov dword [ebp - 0xc], str.mmmm_dd__yyyy
mov dword [ebp - 8], str.mmmm_dd
mov dword [ebp - 4], str.dddd
mov dword [ebp], str.yyyy_mm_dd
mov dword [ebp + 4], 0x45e6ec
mov dword [ebp + 8], str.0.000
mov dword [ebp + 0xc], str.0.0000
mov dword [ebp + 0x10], str._0.0
mov eax, 0x45c620
push 0x34
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x34]
push ebx
push eax
mov dword [ebp + 0x30], ebx
call fcn.00448090
add esp, 0xc
cmp edi, ebx
je 0x40abd5
cmp byte [edi], bl
je 0x40abd5
cmp dword [0x4792e0], ebx
je 0x40abd5
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
push 0x80
push 4
push ebx
push 3
push 0xc0000000
push edi
call fcn.00410914
mov esi, eax
cmp esi, ebx
je 0x40aba9
cmp esi, 0xffffffff
je 0x40aba9
push 0x209
push esi
call fcn.004087a7
push 6
push esi
call fcn.004087a7
push 3
push esi
call fcn.004087a7
push 0x10
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
mov dword [ebp + 0x2c], ebx
push str.Arial
lea eax, [ebp + 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x231
push esi
mov edi, eax
call fcn.004087a7
lea eax, [edi + 7]
push eax
push esi
call fcn.004087a7
push 0xc8
push esi
call fcn.004087a7
cmp dword [ebp + 0x2c], 3
jne 0x40a2d7
push 4
pop eax
jmp 0x40a2da
mov eax, dword [ebp + 0x2c]
push eax
push esi
call fcn.004087a7
push 0x7fff
push esi
call fcn.004087a7
push edi
push esi
call fcn.00408768
mov dword [ebp + 0x28], ebx
cmp edi, ebx
jle 0x40a314
mov eax, dword [ebp + 0x28]
movzx eax, byte [ebp + eax + 0x668]
push eax
push esi
call fcn.00408768
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], edi
jl 0x40a2fa
inc dword [ebp + 0x2c]
cmp dword [ebp + 0x2c], 4
jl 0x40a28b
mov dword [ebp + 0x2c], 0x4792e8
xor edi, edi
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x40a3e0
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x231
push esi
mov ebx, eax
call fcn.004087a7
lea eax, [ebx + 7]
push eax
push esi
call fcn.004087a7
mov eax, dword [edi + 0x475208]
test eax, eax
jne 0x40a361
push 0xa
pop eax
imul eax, eax, 0x14
push eax
push esi
call fcn.004087a7
push dword [edi + 0x47a2e8]
push esi
call fcn.004087a7
mov eax, dword [edi + 0x475308]
test eax, eax
jne 0x40a386
mov eax, 0x7fff
push eax
push esi
call fcn.004087a7
push ebx
push esi
call fcn.00408768
and dword [ebp + 0x28], 0
test ebx, ebx
jle 0x40a3b5
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
movzx eax, byte [eax + ecx]
push eax
push esi
call fcn.00408768
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], ebx
jl 0x40a39c
cmp byte [0x47b0e0], 0
je 0x40a3e0
push dword [edi + 0x475308]
push dword [edi + 0x47a2e8]
push dword [edi + 0x475208]
push dword [ebp + 0x2c]
push 0x45e698
call fcn.00421b06
add esp, 0x14
add dword [ebp + 0x2c], 0x40
add edi, 4
cmp dword [ebp + 0x2c], 0x47a2a8
jl 0x40a32a
and dword [ebp + 0x2c], 0
mov edi, str.General
push 0x1e
push esi
call fcn.004087a7
push edi
lea eax, [ebp + 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [ebp + 0x1c], edi
call fcn.004087a7
push edi
push esi
call fcn.00408768
xor ebx, ebx
test edi, edi
jle 0x40a450
movzx eax, byte [ebp + ebx + 0x668]
push eax
push esi
call fcn.00408768
inc ebx
cmp ebx, edi
jl 0x40a43c
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov edi, dword [ebp + eax*4 - 0x80]
cmp byte [edi], 0
jne 0x40a3fd
xor ebx, ebx
xor edi, edi
push 0x243
push esi
call fcn.004087a7
push 0xc
push esi
call fcn.004087a7
cmp edi, 1
je 0x40a491
cmp edi, 2
je 0x40a491
cmp edi, 3
je 0x40a48d
cmp edi, 4
je 0x40a48d
push ebx
jmp 0x40a493
push 2
jmp 0x40a493
push 1
push esi
call fcn.00408768
push ebx
push esi
call fcn.00408768
cmp edi, 0xf
setne al
dec al
and al, 0xc
add al, 0xf5
movzx eax, al
push eax
push esi
call fcn.00408768
cmp edi, ebx
jne 0x40a4be
push 3
jmp 0x40a4cb
cmp edi, 0xf
jne 0x40a4c6
push ebx
jmp 0x40a4cb
push 0xf7
push esi
call fcn.00408768
lea eax, [edi - 0xf]
neg eax
sbb eax, eax
and eax, 0xfff0
push eax
push esi
call fcn.004087a7
push 0xce00
push esi
call fcn.004087a7
push ebx
push esi
call fcn.0040881b
inc edi
cmp edi, 0x10
jl 0x40a463
mov dword [ebp + 0x2c], ebx
cmp dword [0x4792dc], ebx
jle 0x40a67b
xor edi, edi
push 0x243
push esi
call fcn.004087a7
push 0xc
push esi
call fcn.004087a7
mov eax, dword [0x4792e4]
movzx eax, byte [edi + eax + 0x14]
push eax
push esi
call fcn.00408768
xor ebx, ebx
mov dword [ebp + 0x28], ebx
mov eax, dword [0x4792e4]
lea eax, [edi + eax + 0x18]
test eax, eax
je 0x40a59f
mov ecx, dword [ebp + ebx*4 - 0x80]
mov dword [ebp + 0x20], ecx
test ecx, ecx
je 0x40a59f
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call ebx
push dword [ebp + 0x20]
mov dword [ebp + 0x20], eax
call ebx
cmp dword [ebp + 0x20], eax
jle 0x40a579
mov eax, dword [0x4792e4]
lea eax, [edi + eax + 0x18]
push eax
call ebx
mov ebx, dword [ebp + 0x28]
jmp 0x40a586
mov ebx, dword [ebp + 0x28]
push dword [ebp + ebx*4 - 0x80]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x4792e4]
push dword [ebp + ebx*4 - 0x80]
lea eax, [edi + eax + 0x18]
push eax
call fcn.00449ba0
add esp, 0xc
jmp 0x40a5a2
xor eax, eax
inc eax
test eax, eax
je 0x40a5fa
mov eax, dword [ebp + ebx*4 - 0x7c]
inc ebx
cmp byte [eax], 0
mov dword [ebp + 0x28], ebx
jne 0x40a53a
xor ebx, ebx
push ebx
push esi
call fcn.00408768
push ebx
push esi
call fcn.00408768
push ebx
push esi
call fcn.00408768
mov eax, dword [0x4792e4]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e4]
lea eax, [edi + eax + 4]
cmp dword [eax], ebx
je 0x40a605
mov eax, dword [eax]
mov ecx, eax
shl ecx, 5
or ecx, eax
shl ecx, 6
movzx eax, cx
or eax, 1
push eax
jmp 0x40a606
push ebx
push esi
call fcn.00408768
xor ebx, ebx
jmp 0x40a5bc
push ebx
push esi
call fcn.004087a7
mov eax, dword [0x4792e4]
add eax, edi
mov edx, dword [eax + 8]
xor ecx, ecx
test dl, 0x20
je 0x40a626
mov ecx, dword [eax + 0x10]
shl ecx, 3
or ecx, dword [eax + 0xc]
test dl, 8
je 0x40a639
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 8
or ecx, ebx
test dl, 0x40
je 0x40a64c
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 0x10
or ecx, ebx
test dl, 0x10
je 0x40a65f
mov edx, dword [eax + 0x10]
shl edx, 3
or edx, dword [eax + 0xc]
shl edx, 0x18
or ecx, edx
push ecx
push esi
call fcn.0040881b
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
add edi, 0x58
cmp eax, dword [0x4792dc]
jl 0x40a511
mov eax, dword [0x4792d8]
xor ebx, ebx
mov dword [ebp + 0x2c], ebx
cmp eax, ebx
jle 0x40a73e
xor edi, edi
mov eax, dword [0x4792e0]
cmp dword [edi + eax + 0x130], ebx
je 0x40a727
push 0x7d
push esi
call fcn.004087a7
push 0xc
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
cmp dword [eax + edi + 0x130], ebx
jge 0x40a6c4
push dword [eax + edi]
jmp 0x40a6c8
push dword [eax + edi + 4]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
lea eax, [ebp + 0x30]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [0x4792e0]
mov eax, dword [edi + eax + 0x130]
cmp eax, ebx
jge 0x40a701
neg eax
cdq
idiv dword [ebp + 0x44]
imul eax, eax, 0xfa
push eax
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
inc dword [ebp + 0x2c]
mov eax, dword [0x4792d8]
add edi, 0x138
cmp dword [ebp + 0x2c], eax
jl 0x40a68f
mov dword [ebp + 0x20], ebx
cmp eax, ebx
jle 0x40ab19
xor edi, edi
mov eax, dword [0x4792e0]
lea ecx, [edi + eax]
lea eax, [ecx + 0x110]
cmp byte [eax], 0
je 0x40a7c3
push eax
call fcn.004088d4
mov dword [ebp + 0x28], eax
fild dword [ebp + 0x28]
push 0x203
push esi
fstp qword [ebp + 0x24]
call fcn.004087a7
push 0xe
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40a7b2
add eax, 0xf
jmp 0x40a7b4
xor eax, eax
push eax
push esi
call fcn.004087a7
fld qword [ebp + 0x24]
jmp 0x40aaf6
lea eax, [ecx + 8]
test eax, eax
je 0x40a950
cmp byte [eax], 0x3d
jne 0x40a950
push 0x45e484
push eax
call fcn.00447a30
pop ecx
pop ecx
test eax, eax
jne 0x40a950
push 0x40
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x368]
push eax
lea eax, [ebp + 0x268]
push eax
lea eax, [ebp + 0x568]
push eax
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x468]
push eax
mov eax, dword [0x4792e0]
lea eax, [edi + eax + 9]
push eax
call fcn.00408309
mov dword [ebp + 0x28], eax
test eax, eax
je 0x40ab01
push 0x206
push esi
call fcn.004087a7
mov ebx, dword [ebp + 0x1c]
lea eax, [ebx + 0x12]
push eax
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40a876
add eax, 0xf
jmp 0x40a878
xor eax, eax
push eax
push esi
call fcn.004087a7
fldz
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.00408851
push 3
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
and dword [ebp + 0x2c], 0
cmp dword [ebp + 0x28], 0
jle 0x40ab01
mov ebx, dword [ebp + 0x2c]
movzx eax, byte [ebp + ebx*4 + 0x468]
push eax
push esi
call fcn.00408768
mov eax, dword [ebp + ebx*4 + 0x468]
cmp eax, 0x1e
jne 0x40a8db
mov eax, ebx
fld qword [ebp + eax*8 + 0x68]
call fcn.00449ec0
push eax
push esi
call fcn.004087a7
jmp 0x40a927
cmp eax, 0x1f
jne 0x40a8f4
mov eax, dword [ebp + 0x2c]
fld qword [ebp + eax*8 + 0x68]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.00408851
jmp 0x40a927
cmp eax, 0x64
mov eax, dword [ebp + ebx*4 + 0x568]
jne 0x40a907
and eax, 0x3fff
jmp 0x40a911
and eax, 0x3fff
or eax, 0xc000
push eax
push esi
call fcn.004087a7
movzx eax, byte [ebp + ebx*4 + 0x268]
push eax
push esi
call fcn.00408768
cmp dword [ebp + 0x2c], 1
jl 0x40a93c
movzx eax, byte [ebp + ebx*4 + 0x368]
push eax
push esi
call fcn.00408768
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
cmp eax, dword [ebp + 0x28]
jl 0x40a8a9
jmp 0x40ab01
mov eax, dword [0x4792e0]
lea eax, [edi + eax + 8]
test eax, eax
je 0x40aa37
cmp byte [eax], 0
je 0x40aa37
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x4792e0]
lea eax, [edi + eax + 8]
push str.__r_n
push eax
call fcn.00449ba0
add esp, 0xc
test eax, eax
je 0x40aa37
mov eax, dword [0x4792e0]
lea eax, [edi + eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov dword [ebp + 0x1c], ebx
cmp ebx, 0xff
jle 0x40a9b6
mov ebx, 0xff
mov dword [ebp + 0x1c], ebx
push 0x204
push esi
call fcn.004087a7
lea eax, [ebx + 8]
push eax
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40a9fd
add eax, 0xf
jmp 0x40a9ff
xor eax, eax
push eax
push esi
call fcn.004087a7
push ebx
push esi
call fcn.004087a7
test ebx, ebx
jle 0x40ab01
mov dword [ebp + 0x28], edi
mov eax, dword [0x4792e0]
mov ecx, dword [ebp + 0x28]
movzx eax, byte [ecx + eax + 8]
push eax
push esi
call fcn.00408768
inc dword [ebp + 0x28]
dec ebx
jne 0x40aa18
jmp 0x40ab01
mov eax, dword [0x4792e0]
lea ecx, [edi + eax]
fld qword [ecx + 0x108]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x40aa9c
lea eax, [ecx + 8]
test eax, eax
je 0x40aa9c
cmp byte [eax], 0x20
jne 0x40aa9c
cmp byte [ecx + 9], 0
jne 0x40aa9c
push 0x201
push esi
call fcn.004087a7
push 6
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
push 0
push esi
call fcn.004087a7
jmp 0x40ab01
push 0x203
push esi
call fcn.004087a7
push 0xe
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
push dword [edi + eax + 4]
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40aae1
add eax, 0xf
jmp 0x40aae3
xor eax, eax
push eax
push esi
call fcn.004087a7
mov eax, dword [0x4792e0]
fld qword [edi + eax + 0x108]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.00408851
inc dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
add edi, 0x138
cmp eax, dword [0x4792d8]
jl 0x40a74b
push 0xa
push esi
call fcn.004087a7
xor edi, edi
push edi
push esi
call fcn.004087a7
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4792e4]
cmp eax, edi
je 0x40ab47
push eax
call fcn.00447ab6
pop ecx
mov dword [0x4792e4], edi
mov eax, dword [0x4792e0]
mov dword [0x4792dc], edi
cmp eax, edi
je 0x40ab5d
push eax
call fcn.00447ab6
pop ecx
push 0x3f
pop ecx
mov dword [0x4792e0], edi
mov dword [0x4792d8], edi
push 0x3f
xor eax, eax
mov edi, 0x47a2e8
rep stosd dword es:[edi], eax
pop ecx
mov eax, 0x7fff
push 0x3f
mov edi, 0x475308
rep stosd dword es:[edi], eax
pop ecx
push 0xa
pop eax
mov edi, 0x475208
mov edx, 0x4792e8
rep stosd dword es:[edi], eax
mov byte [edx], 0
add edx, 0x40
cmp edx, 0x47a2a8
jl 0x40ab96
xor eax, eax
inc eax
jmp 0x40abd7
mov eax, dword [0x4792e0]
cmp eax, ebx
je 0x40abb9
push eax
call fcn.00447ab6
pop ecx
mov eax, dword [0x4792e4]
cmp eax, ebx
je 0x40abc9
push eax
call fcn.00447ab6
pop ecx
mov dword [0x4792e0], ebx
mov dword [0x4792e4], ebx
xor eax, eax
mov ecx, dword [ebp + 0x768]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00448080
add ebp, 0x76c
leave
ret 4