Function at 0x40d3a9
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x76c]
sub esp, 0x7ec
mov eax, dword [0x47e5d0]
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.00452e00
push esi
lea eax, [ebp + 0x36c]
push ebx
push eax
mov dword [ebp + 0x368], ebx
call fcn.00452e00
push esi
lea eax, [ebp + 0x56c]
push ebx
push eax
mov dword [ebp + 0x568], ebx
call fcn.00452e00
push esi
lea eax, [ebp + 0x26c]
push ebx
push eax
mov dword [ebp + 0x268], ebx
call fcn.00452e00
fldz
push 0x1f8
fstp qword [ebp + 0x68]
lea eax, [ebp + 0x70]
push ebx
push eax
call fcn.00452e00
push 0xff
lea eax, [ebp + 0x669]
push ebx
push eax
mov byte [ebp + 0x668], bl
call fcn.00452e00
add esp, 0x48
mov dword [ebp - 0x80], str.General
mov dword [ebp - 0x7c], 0x466c54
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], 0x466bb8
mov dword [ebp - 0x58], str.0.00_
mov dword [ebp - 0x54], str.0.00E00
mov dword [ebp - 0x50], 0x466b9c
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], 0x466abc
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], 0x466a8c
mov dword [ebp + 8], str.0.000
mov dword [ebp + 0xc], str.0.0000
mov dword [ebp + 0x10], str._0.0
mov eax, 0x464700
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.00452e00
add esp, 0xc
cmp edi, ebx
je 0x40df36
cmp byte [edi], bl
je 0x40df36
cmp dword [0x4822a0], ebx
je 0x40df36
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.00413e0e
mov esi, eax
cmp esi, ebx
je 0x40df0a
cmp esi, 0xffffffff
je 0x40df0a
push 0x209
push esi
call fcn.0040bb08
push 6
push esi
call fcn.0040bb08
push 3
push esi
call fcn.0040bb08
push 0x10
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
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.0040bb08
lea eax, [edi + 7]
push eax
push esi
call fcn.0040bb08
push 0xc8
push esi
call fcn.0040bb08
cmp dword [ebp + 0x2c], 3
jne 0x40d638
push 4
pop eax
jmp 0x40d63b
mov eax, dword [ebp + 0x2c]
push eax
push esi
call fcn.0040bb08
push 0x7fff
push esi
call fcn.0040bb08
push edi
push esi
call fcn.0040bac9
mov dword [ebp + 0x28], ebx
cmp edi, ebx
jle 0x40d675
mov eax, dword [ebp + 0x28]
movzx eax, byte [ebp + eax + 0x668]
push eax
push esi
call fcn.0040bac9
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], edi
jl 0x40d65b
inc dword [ebp + 0x2c]
cmp dword [ebp + 0x2c], 4
jl 0x40d5ec
mov dword [ebp + 0x2c], 0x4822a8
xor edi, edi
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x40d741
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x231
push esi
mov ebx, eax
call fcn.0040bb08
lea eax, [ebx + 7]
push eax
push esi
call fcn.0040bb08
mov eax, dword [edi + 0x47e208]
test eax, eax
jne 0x40d6c2
push 0xa
pop eax
imul eax, eax, 0x14
push eax
push esi
call fcn.0040bb08
push dword [edi + 0x4832a8]
push esi
call fcn.0040bb08
mov eax, dword [edi + 0x47e308]
test eax, eax
jne 0x40d6e7
mov eax, 0x7fff
push eax
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bac9
and dword [ebp + 0x28], 0
test ebx, ebx
jle 0x40d716
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
movzx eax, byte [eax + ecx]
push eax
push esi
call fcn.0040bac9
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], ebx
jl 0x40d6fd
cmp byte [0x4840a0], 0
je 0x40d741
push dword [edi + 0x47e308]
push dword [edi + 0x4832a8]
push dword [edi + 0x47e208]
push dword [ebp + 0x2c]
push 0x466a38
call fcn.0042604a
add esp, 0x14
add dword [ebp + 0x2c], 0x40
add edi, 4
cmp dword [ebp + 0x2c], 0x483268
jl 0x40d68b
and dword [ebp + 0x2c], 0
mov edi, str.General
push 0x1e
push esi
call fcn.0040bb08
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.0040bb08
push edi
push esi
call fcn.0040bac9
xor ebx, ebx
test edi, edi
jle 0x40d7b1
movzx eax, byte [ebp + ebx + 0x668]
push eax
push esi
call fcn.0040bac9
inc ebx
cmp ebx, edi
jl 0x40d79d
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov edi, dword [ebp + eax*4 - 0x80]
cmp byte [edi], 0
jne 0x40d75e
xor ebx, ebx
xor edi, edi
push 0x243
push esi
call fcn.0040bb08
push 0xc
push esi
call fcn.0040bb08
cmp edi, 1
je 0x40d7f2
cmp edi, 2
je 0x40d7f2
cmp edi, 3
je 0x40d7ee
cmp edi, 4
je 0x40d7ee
push ebx
jmp 0x40d7f4
push 2
jmp 0x40d7f4
push 1
push esi
call fcn.0040bac9
push ebx
push esi
call fcn.0040bac9
cmp edi, 0xf
setne al
dec al
and al, 0xc
add al, 0xf5
movzx eax, al
push eax
push esi
call fcn.0040bac9
cmp edi, ebx
jne 0x40d81f
push 3
jmp 0x40d82c
cmp edi, 0xf
jne 0x40d827
push ebx
jmp 0x40d82c
push 0xf7
push esi
call fcn.0040bac9
lea eax, [edi - 0xf]
neg eax
sbb eax, eax
and eax, 0xfff0
push eax
push esi
call fcn.0040bb08
push 0xce00
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb7c
inc edi
cmp edi, 0x10
jl 0x40d7c4
mov dword [ebp + 0x2c], ebx
cmp dword [0x48229c], ebx
jle 0x40d9dc
xor edi, edi
push 0x243
push esi
call fcn.0040bb08
push 0xc
push esi
call fcn.0040bb08
mov eax, dword [0x4822a4]
movzx eax, byte [edi + eax + 0x14]
push eax
push esi
call fcn.0040bac9
xor ebx, ebx
mov dword [ebp + 0x28], ebx
mov eax, dword [0x4822a4]
lea eax, [edi + eax + 0x18]
test eax, eax
je 0x40d900
mov ecx, dword [ebp + ebx*4 - 0x80]
mov dword [ebp + 0x20], ecx
test ecx, ecx
je 0x40d900
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 0x40d8da
mov eax, dword [0x4822a4]
lea eax, [edi + eax + 0x18]
push eax
call ebx
mov ebx, dword [ebp + 0x28]
jmp 0x40d8e7
mov ebx, dword [ebp + 0x28]
push dword [ebp + ebx*4 - 0x80]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x4822a4]
push dword [ebp + ebx*4 - 0x80]
lea eax, [edi + eax + 0x18]
push eax
call fcn.004549c0
add esp, 0xc
jmp 0x40d903
xor eax, eax
inc eax
test eax, eax
je 0x40d95b
mov eax, dword [ebp + ebx*4 - 0x7c]
inc ebx
cmp byte [eax], 0
mov dword [ebp + 0x28], ebx
jne 0x40d89b
xor ebx, ebx
push ebx
push esi
call fcn.0040bac9
push ebx
push esi
call fcn.0040bac9
push ebx
push esi
call fcn.0040bac9
mov eax, dword [0x4822a4]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a4]
lea eax, [edi + eax + 4]
cmp dword [eax], ebx
je 0x40d966
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 0x40d967
push ebx
push esi
call fcn.0040bac9
xor ebx, ebx
jmp 0x40d91d
push ebx
push esi
call fcn.0040bb08
mov eax, dword [0x4822a4]
add eax, edi
mov edx, dword [eax + 8]
xor ecx, ecx
test dl, 0x20
je 0x40d987
mov ecx, dword [eax + 0x10]
shl ecx, 3
or ecx, dword [eax + 0xc]
test dl, 8
je 0x40d99a
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 8
or ecx, ebx
test dl, 0x40
je 0x40d9ad
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 0x10
or ecx, ebx
test dl, 0x10
je 0x40d9c0
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.0040bb7c
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
add edi, 0x58
cmp eax, dword [0x48229c]
jl 0x40d872
mov eax, dword [0x482298]
xor ebx, ebx
mov dword [ebp + 0x2c], ebx
cmp eax, ebx
jle 0x40da9f
xor edi, edi
mov eax, dword [0x4822a0]
cmp dword [edi + eax + 0x130], ebx
je 0x40da88
push 0x7d
push esi
call fcn.0040bb08
push 0xc
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
cmp dword [eax + edi + 0x130], ebx
jge 0x40da25
push dword [eax + edi]
jmp 0x40da29
push dword [eax + edi + 4]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
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 [0x4822a0]
mov eax, dword [edi + eax + 0x130]
cmp eax, ebx
jge 0x40da62
neg eax
cdq
idiv dword [ebp + 0x44]
imul eax, eax, 0xfa
push eax
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
inc dword [ebp + 0x2c]
mov eax, dword [0x482298]
add edi, 0x138
cmp dword [ebp + 0x2c], eax
jl 0x40d9f0
mov dword [ebp + 0x20], ebx
cmp eax, ebx
jle 0x40de7a
xor edi, edi
mov eax, dword [0x4822a0]
lea ecx, [edi + eax]
lea eax, [ecx + 0x110]
cmp byte [eax], 0
je 0x40db24
push eax
call fcn.0040bc35
mov dword [ebp + 0x28], eax
fild dword [ebp + 0x28]
push 0x203
push esi
fstp qword [ebp + 0x24]
call fcn.0040bb08
push 0xe
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40db13
add eax, 0xf
jmp 0x40db15
xor eax, eax
push eax
push esi
call fcn.0040bb08
fld qword [ebp + 0x24]
jmp 0x40de57
lea eax, [ecx + 8]
test eax, eax
je 0x40dcb1
cmp byte [eax], 0x3d
jne 0x40dcb1
push 0x466834
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x40dcb1
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 [0x4822a0]
lea eax, [edi + eax + 9]
push eax
call fcn.0040b66a
mov dword [ebp + 0x28], eax
test eax, eax
je 0x40de62
push 0x206
push esi
call fcn.0040bb08
mov ebx, dword [ebp + 0x1c]
lea eax, [ebx + 0x12]
push eax
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40dbd7
add eax, 0xf
jmp 0x40dbd9
xor eax, eax
push eax
push esi
call fcn.0040bb08
fldz
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040bbb2
push 3
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
and dword [ebp + 0x2c], 0
cmp dword [ebp + 0x28], 0
jle 0x40de62
mov ebx, dword [ebp + 0x2c]
movzx eax, byte [ebp + ebx*4 + 0x468]
push eax
push esi
call fcn.0040bac9
mov eax, dword [ebp + ebx*4 + 0x468]
cmp eax, 0x1e
jne 0x40dc3c
mov eax, ebx
fld qword [ebp + eax*8 + 0x68]
call fcn.00454810
push eax
push esi
call fcn.0040bb08
jmp 0x40dc88
cmp eax, 0x1f
jne 0x40dc55
mov eax, dword [ebp + 0x2c]
fld qword [ebp + eax*8 + 0x68]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040bbb2
jmp 0x40dc88
cmp eax, 0x64
mov eax, dword [ebp + ebx*4 + 0x568]
jne 0x40dc68
and eax, 0x3fff
jmp 0x40dc72
and eax, 0x3fff
or eax, 0xc000
push eax
push esi
call fcn.0040bb08
movzx eax, byte [ebp + ebx*4 + 0x268]
push eax
push esi
call fcn.0040bac9
cmp dword [ebp + 0x2c], 1
jl 0x40dc9d
movzx eax, byte [ebp + ebx*4 + 0x368]
push eax
push esi
call fcn.0040bac9
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
cmp eax, dword [ebp + 0x28]
jl 0x40dc0a
jmp 0x40de62
mov eax, dword [0x4822a0]
lea eax, [edi + eax + 8]
test eax, eax
je 0x40dd98
cmp byte [eax], 0
je 0x40dd98
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x4822a0]
lea eax, [edi + eax + 8]
push str.__r_n
push eax
call fcn.004549c0
add esp, 0xc
test eax, eax
je 0x40dd98
mov eax, dword [0x4822a0]
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 0x40dd17
mov ebx, 0xff
mov dword [ebp + 0x1c], ebx
push 0x204
push esi
call fcn.0040bb08
lea eax, [ebx + 8]
push eax
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40dd5e
add eax, 0xf
jmp 0x40dd60
xor eax, eax
push eax
push esi
call fcn.0040bb08
push ebx
push esi
call fcn.0040bb08
test ebx, ebx
jle 0x40de62
mov dword [ebp + 0x28], edi
mov eax, dword [0x4822a0]
mov ecx, dword [ebp + 0x28]
movzx eax, byte [ecx + eax + 8]
push eax
push esi
call fcn.0040bac9
inc dword [ebp + 0x28]
dec ebx
jne 0x40dd79
jmp 0x40de62
mov eax, dword [0x4822a0]
lea ecx, [edi + eax]
fld qword [ecx + 0x108]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x40ddfd
lea eax, [ecx + 8]
test eax, eax
je 0x40ddfd
cmp byte [eax], 0x20
jne 0x40ddfd
cmp byte [ecx + 9], 0
jne 0x40ddfd
push 0x201
push esi
call fcn.0040bb08
push 6
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
push 0
push esi
call fcn.0040bb08
jmp 0x40de62
push 0x203
push esi
call fcn.0040bb08
push 0xe
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
push dword [edi + eax + 4]
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x40de42
add eax, 0xf
jmp 0x40de44
xor eax, eax
push eax
push esi
call fcn.0040bb08
mov eax, dword [0x4822a0]
fld qword [edi + eax + 0x108]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040bbb2
inc dword [ebp + 0x20]
mov eax, dword [ebp + 0x20]
add edi, 0x138
cmp eax, dword [0x482298]
jl 0x40daac
push 0xa
push esi
call fcn.0040bb08
xor edi, edi
push edi
push esi
call fcn.0040bb08
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4822a4]
cmp eax, edi
je 0x40dea8
push eax
call fcn.00452756
pop ecx
mov dword [0x4822a4], edi
mov eax, dword [0x4822a0]
mov dword [0x48229c], edi
cmp eax, edi
je 0x40debe
push eax
call fcn.00452756
pop ecx
push 0x3f
pop ecx
mov dword [0x4822a0], edi
mov dword [0x482298], edi
push 0x3f
xor eax, eax
mov edi, 0x4832a8
rep stosd dword es:[edi], eax
pop ecx
mov eax, 0x7fff
push 0x3f
mov edi, 0x47e308
rep stosd dword es:[edi], eax
pop ecx
push 0xa
pop eax
mov edi, 0x47e208
mov edx, 0x4822a8
rep stosd dword es:[edi], eax
mov byte [edx], 0
add edx, 0x40
cmp edx, 0x483268
jl 0x40def7
xor eax, eax
inc eax
jmp 0x40df38
mov eax, dword [0x4822a0]
cmp eax, ebx
je 0x40df1a
push eax
call fcn.00452756
pop ecx
mov eax, dword [0x4822a4]
cmp eax, ebx
je 0x40df2a
push eax
call fcn.00452756
pop ecx
mov dword [0x4822a0], ebx
mov dword [0x4822a4], ebx
xor eax, eax
mov ecx, dword [ebp + 0x768]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x76c
leave
ret 4