Function at 0x408f5a
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x188]
sub esp, 0x7ec
mov eax, dword [0x4705d0]
xor eax, ebp
mov dword [ebp + 0x184], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0x190]
mov esi, 0xfc
xor ebx, ebx
push esi
lea eax, [ebp - 0x260]
push ebx
push eax
mov dword [ebp - 0x264], ebx
call fcn.004464f0
push esi
lea eax, [ebp - 0x460]
push ebx
push eax
mov dword [ebp - 0x464], ebx
call fcn.004464f0
push esi
lea eax, [ebp - 0x160]
push ebx
push eax
mov dword [ebp - 0x164], ebx
call fcn.004464f0
push esi
lea eax, [ebp - 0x360]
push ebx
push eax
mov dword [ebp - 0x364], ebx
call fcn.004464f0
fldz
push 0x1f8
fstp qword [ebp - 0x664]
lea eax, [ebp - 0x65c]
push ebx
push eax
call fcn.004464f0
push 0xff
lea eax, [ebp + 0x85]
push ebx
push eax
mov byte [ebp + 0x84], bl
call fcn.004464f0
add esp, 0x48
mov dword [ebp - 0x2c], str.General
mov dword [ebp - 0x28], 0x45b754
mov dword [ebp - 0x24], str.0.00
mov dword [ebp - 0x20], str._0
mov dword [ebp - 0x1c], str._0.00
mov dword [ebp - 0x18], str.____0________0_
mov dword [ebp - 0x14], str.____0____Red______0_
mov dword [ebp - 0x10], str.____0.00________0.00_
mov dword [ebp - 0xc], str.____0.00____Red______0.00_
mov dword [ebp - 8], 0x45b6b8
mov dword [ebp - 4], str.0.00_
mov dword [ebp], str.0.00E00
mov dword [ebp + 4], 0x45b69c
mov dword [ebp + 8], str.m_d_yyyy
mov dword [ebp + 0xc], str.d_mmm_yy
mov dword [ebp + 0x10], str.d_mmm
mov dword [ebp + 0x14], str.mmm_yy
mov dword [ebp + 0x18], str.h:mm_AM_PM
mov dword [ebp + 0x1c], str.h:mm:ss_AM_PM
mov dword [ebp + 0x20], str.h:mm
mov dword [ebp + 0x24], str.h:mm:ss
mov dword [ebp + 0x28], str.m_d_yyyy_h:mm
mov dword [ebp + 0x2c], str._0_____0_
mov dword [ebp + 0x30], str._0____Red___0_
mov dword [ebp + 0x34], str._0.00_____0.00_
mov dword [ebp + 0x38], str._0.00____Red___0.00_
mov dword [ebp + 0x3c], str.0.0E0
mov dword [ebp + 0x40], str.mm:ss
mov dword [ebp + 0x44], 0x45b5bc
mov dword [ebp + 0x48], str.mmmm_dd__yyyy
mov dword [ebp + 0x4c], str.mmmm_dd
mov dword [ebp + 0x50], str.dddd
mov dword [ebp + 0x54], str.yyyy_mm_dd
mov dword [ebp + 0x58], 0x45b58c
mov dword [ebp + 0x5c], str.0.000
mov dword [ebp + 0x60], str.0.0000
mov dword [ebp + 0x64], str._0.0
mov eax, 0x459620
push 0x34
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], eax
lea eax, [ebp - 0x60]
push ebx
push eax
mov dword [ebp - 0x64], ebx
call fcn.004464f0
add esp, 0xc
cmp edi, ebx
je 0x409b4c
cmp byte [edi], bl
je 0x409b4c
cmp dword [0x474458], ebx
je 0x409b4c
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.0040f850
mov esi, eax
cmp esi, ebx
je 0x409b20
cmp esi, 0xffffffff
je 0x409b20
push 0x209
push esi
call fcn.004076e3
push 6
push esi
call fcn.004076e3
push 3
push esi
call fcn.004076e3
push 0x10
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
mov dword [ebp + 0x80], ebx
push str.Arial
lea eax, [ebp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x231
push esi
mov edi, eax
call fcn.004076e3
lea eax, [edi + 7]
push eax
push esi
call fcn.004076e3
push 0xc8
push esi
call fcn.004076e3
cmp dword [ebp + 0x80], 3
jne 0x4091f5
push 4
pop eax
jmp 0x4091fb
mov eax, dword [ebp + 0x80]
push eax
push esi
call fcn.004076e3
push 0x7fff
push esi
call fcn.004076e3
push edi
push esi
call fcn.004076a4
cmp edi, ebx
mov dword [ebp + 0x7c], ebx
jle 0x409235
mov eax, dword [ebp + 0x7c]
movzx eax, byte [ebp + eax + 0x84]
push eax
push esi
call fcn.004076a4
inc dword [ebp + 0x7c]
cmp dword [ebp + 0x7c], edi
jl 0x40921b
inc dword [ebp + 0x80]
cmp dword [ebp + 0x80], 4
jl 0x4091a6
mov dword [ebp + 0x80], 0x474460
xor edi, edi
mov eax, dword [ebp + 0x80]
cmp byte [eax], 0
je 0x409313
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x231
push esi
mov ebx, eax
call fcn.004076e3
lea eax, [ebx + 7]
push eax
push esi
call fcn.004076e3
mov eax, dword [edi + 0x470208]
test eax, eax
jne 0x40928e
push 0xa
pop eax
imul eax, eax, 0x14
push eax
push esi
call fcn.004076e3
push dword [edi + 0x475460]
push esi
call fcn.004076e3
mov eax, dword [edi + 0x470308]
test eax, eax
jne 0x4092b3
mov eax, 0x7fff
push eax
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076a4
and dword [ebp + 0x7c], 0
test ebx, ebx
jle 0x4092e5
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x80]
movzx eax, byte [eax + ecx]
push eax
push esi
call fcn.004076a4
inc dword [ebp + 0x7c]
cmp dword [ebp + 0x7c], ebx
jl 0x4092c9
cmp byte [0x476258], 0
je 0x409313
push dword [edi + 0x470308]
push dword [edi + 0x475460]
push dword [edi + 0x470208]
push dword [ebp + 0x80]
push 0x45b538
call fcn.0042036e
add esp, 0x14
add dword [ebp + 0x80], 0x40
add edi, 4
cmp dword [ebp + 0x80], 0x475420
jl 0x409254
and dword [ebp + 0x80], 0
mov edi, str.General
push 0x1e
push esi
call fcn.004076e3
push edi
lea eax, [ebp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
lea eax, [edi + 1]
push eax
push esi
mov dword [ebp + 0x70], edi
call fcn.004076e3
push edi
push esi
call fcn.004076a4
xor ebx, ebx
test edi, edi
jle 0x40938c
movzx eax, byte [ebp + ebx + 0x84]
push eax
push esi
call fcn.004076a4
inc ebx
cmp ebx, edi
jl 0x409378
inc dword [ebp + 0x80]
mov eax, dword [ebp + 0x80]
mov edi, dword [ebp + eax*4 - 0x2c]
cmp byte [edi], 0
jne 0x409339
xor ebx, ebx
xor edi, edi
push 0x243
push esi
call fcn.004076e3
push 0xc
push esi
call fcn.004076e3
cmp edi, 1
je 0x4093d3
cmp edi, 2
je 0x4093d3
cmp edi, 3
je 0x4093cf
cmp edi, 4
je 0x4093cf
push ebx
jmp 0x4093d5
push 2
jmp 0x4093d5
push 1
push esi
call fcn.004076a4
push ebx
push esi
call fcn.004076a4
cmp edi, 0xf
setne al
dec al
and al, 0xc
add al, 0xf5
movzx eax, al
push eax
push esi
call fcn.004076a4
cmp edi, ebx
jne 0x409400
push 3
jmp 0x40940d
cmp edi, 0xf
jne 0x409408
push ebx
jmp 0x40940d
push 0xf7
push esi
call fcn.004076a4
mov eax, edi
sub eax, 0xf
neg eax
sbb eax, eax
and eax, 0xfff0
push eax
push esi
call fcn.004076e3
push 0xce00
push esi
call fcn.004076e3
push ebx
push esi
call fcn.00407757
inc edi
cmp edi, 0x10
jl 0x4093a5
cmp dword [0x474454], ebx
mov dword [ebp + 0x80], ebx
jle 0x4095ca
xor edi, edi
push 0x243
push esi
call fcn.004076e3
push 0xc
push esi
call fcn.004076e3
mov eax, dword [0x47445c]
movzx eax, byte [edi + eax + 0x14]
push eax
push esi
call fcn.004076a4
xor ebx, ebx
mov dword [ebp + 0x7c], ebx
mov eax, dword [0x47445c]
lea eax, [edi + eax + 0x18]
mov dword [ebp + 0x74], eax
test eax, eax
je 0x4094e8
mov eax, dword [ebp + ebx*4 - 0x2c]
test eax, eax
je 0x4094e8
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call ebx
push dword [ebp + 0x74]
mov dword [ebp + 0x74], eax
call ebx
mov ecx, dword [ebp + 0x74]
cmp eax, ecx
jle 0x4094c2
mov eax, dword [0x47445c]
lea eax, [edi + eax + 0x18]
push eax
call ebx
mov ebx, dword [ebp + 0x7c]
jmp 0x4094cf
mov ebx, dword [ebp + 0x7c]
push dword [ebp + ebx*4 - 0x2c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x47445c]
push dword [ebp + ebx*4 - 0x2c]
lea eax, [edi + eax + 0x18]
push eax
call fcn.00448060
add esp, 0xc
jmp 0x4094eb
xor eax, eax
inc eax
test eax, eax
je 0x409543
mov eax, dword [ebp + ebx*4 - 0x28]
inc ebx
cmp byte [eax], 0
mov dword [ebp + 0x7c], ebx
jne 0x409481
xor ebx, ebx
push ebx
push esi
call fcn.004076a4
push ebx
push esi
call fcn.004076a4
push ebx
push esi
call fcn.004076a4
mov eax, dword [0x47445c]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x47445c]
lea eax, [edi + eax + 4]
cmp dword [eax], ebx
je 0x40954e
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 0x40954f
push ebx
push esi
call fcn.004076a4
xor ebx, ebx
jmp 0x409505
push ebx
push esi
call fcn.004076e3
mov eax, dword [0x47445c]
add eax, edi
mov edx, dword [eax + 8]
xor ecx, ecx
test dl, 0x20
je 0x40956f
mov ecx, dword [eax + 0x10]
shl ecx, 3
or ecx, dword [eax + 0xc]
test dl, 8
je 0x409582
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 8
or ecx, ebx
test dl, 0x40
je 0x409595
mov ebx, dword [eax + 0x10]
shl ebx, 3
or ebx, dword [eax + 0xc]
shl ebx, 0x10
or ecx, ebx
test dl, 0x10
je 0x4095a8
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.00407757
inc dword [ebp + 0x80]
mov eax, dword [ebp + 0x80]
add edi, 0x58
cmp eax, dword [0x474454]
jl 0x409458
mov eax, dword [0x474450]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp + 0x80], ebx
jle 0x409695
xor edi, edi
mov eax, dword [0x474458]
cmp dword [edi + eax + 0x130], ebx
je 0x409678
push 0x7d
push esi
call fcn.004076e3
push 0xc
push esi
call fcn.004076e3
mov eax, dword [0x474458]
add eax, edi
cmp dword [eax + 0x130], ebx
jge 0x409616
push dword [eax]
jmp 0x409619
push dword [eax + 4]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
lea eax, [ebp - 0x64]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [0x474458]
mov eax, dword [edi + eax + 0x130]
cmp eax, ebx
jge 0x409652
neg eax
cdq
idiv dword [ebp - 0x50]
imul eax, eax, 0xfa
push eax
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
inc dword [ebp + 0x80]
mov eax, dword [0x474450]
add edi, 0x138
cmp dword [ebp + 0x80], eax
jl 0x4095e1
cmp eax, ebx
mov dword [ebp + 0x74], ebx
jle 0x409a90
xor edi, edi
mov eax, dword [0x474458]
lea ecx, [edi + eax]
lea eax, [ecx + 0x110]
cmp byte [eax], 0
je 0x40971a
push eax
call fcn.00407810
mov dword [ebp + 0x7c], eax
fild dword [ebp + 0x7c]
push 0x203
push esi
fstp qword [ebp + 0x78]
call fcn.004076e3
push 0xe
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x409709
add eax, 0xf
jmp 0x40970b
xor eax, eax
push eax
push esi
call fcn.004076e3
fld qword [ebp + 0x78]
jmp 0x409a6d
lea eax, [ecx + 8]
test eax, eax
je 0x4098c9
cmp byte [eax], 0x3d
jne 0x4098c9
push 0x45b324
push eax
call fcn.00445d80
pop ecx
pop ecx
test eax, eax
jne 0x4098c9
push 0x40
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x664]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [0x474458]
lea eax, [edi + eax + 9]
push eax
call fcn.00407245
mov dword [ebp + 0x7c], eax
test eax, eax
je 0x409a78
push 0x206
push esi
call fcn.004076e3
mov ebx, dword [ebp + 0x70]
lea eax, [ebx + 0x12]
push eax
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x4097d0
add eax, 0xf
jmp 0x4097d2
xor eax, eax
push eax
push esi
call fcn.004076e3
fldz
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040778d
push 3
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
and dword [ebp + 0x80], 0
cmp dword [ebp + 0x7c], 0
jle 0x409a78
mov ebx, dword [ebp + 0x80]
shl ebx, 2
movzx eax, byte [ebp + ebx - 0x264]
push eax
push esi
call fcn.004076a4
mov eax, dword [ebp + ebx - 0x264]
cmp eax, 0x1e
jne 0x409845
mov eax, dword [ebp + 0x80]
fld qword [ebp + eax*8 - 0x664]
call fcn.00448380
push eax
push esi
call fcn.004076e3
jmp 0x409897
cmp eax, 0x1f
jne 0x409864
mov eax, dword [ebp + 0x80]
fld qword [ebp + eax*8 - 0x664]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040778d
jmp 0x409897
cmp eax, 0x64
mov eax, dword [ebp + ebx - 0x164]
jne 0x409877
and eax, 0x3fff
jmp 0x409881
and eax, 0x3fff
or eax, 0xc000
push eax
push esi
call fcn.004076e3
movzx eax, byte [ebp + ebx - 0x364]
push eax
push esi
call fcn.004076a4
cmp dword [ebp + 0x80], 1
jl 0x4098af
movzx eax, byte [ebp + ebx - 0x464]
push eax
push esi
call fcn.004076a4
inc dword [ebp + 0x80]
mov eax, dword [ebp + 0x80]
cmp eax, dword [ebp + 0x7c]
jl 0x409806
jmp 0x409a78
mov eax, dword [0x474458]
lea eax, [edi + eax + 8]
test eax, eax
je 0x4099b0
cmp byte [eax], 0
je 0x4099b0
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x474458]
lea eax, [edi + eax + 8]
push str.__r_n
push eax
call fcn.00448060
add esp, 0xc
test eax, eax
je 0x4099b0
mov eax, dword [0x474458]
lea eax, [edi + eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
cmp ebx, 0xff
mov dword [ebp + 0x70], ebx
jle 0x40992f
mov ebx, 0xff
mov dword [ebp + 0x70], ebx
push 0x204
push esi
call fcn.004076e3
lea eax, [ebx + 8]
push eax
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x409976
add eax, 0xf
jmp 0x409978
xor eax, eax
push eax
push esi
call fcn.004076e3
push ebx
push esi
call fcn.004076e3
test ebx, ebx
jle 0x409a78
mov dword [ebp + 0x7c], edi
mov eax, dword [0x474458]
mov ecx, dword [ebp + 0x7c]
movzx eax, byte [ecx + eax + 8]
push eax
push esi
call fcn.004076a4
inc dword [ebp + 0x7c]
dec ebx
jne 0x409991
jmp 0x409a78
mov eax, dword [0x474458]
fldz
lea ecx, [edi + eax]
fcomp qword [ecx + 0x108]
fnstsw ax
test ah, 0x44
jp 0x409a13
lea eax, [ecx + 8]
test eax, eax
je 0x409a13
cmp byte [eax], 0x20
jne 0x409a13
cmp byte [ecx + 9], 0
jne 0x409a13
push 0x201
push esi
call fcn.004076e3
push 6
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
push 0
push esi
call fcn.004076e3
jmp 0x409a78
push 0x203
push esi
call fcn.004076e3
push 0xe
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
push dword [edi + eax + 4]
push esi
call fcn.004076e3
mov eax, dword [0x474458]
mov eax, dword [edi + eax + 0x134]
test eax, eax
je 0x409a58
add eax, 0xf
jmp 0x409a5a
xor eax, eax
push eax
push esi
call fcn.004076e3
mov eax, dword [0x474458]
fld qword [edi + eax + 0x108]
push ecx
push ecx
fstp qword [esp]
push esi
call fcn.0040778d
inc dword [ebp + 0x74]
mov eax, dword [ebp + 0x74]
add edi, 0x138
cmp eax, dword [0x474450]
jl 0x4096a2
push 0xa
push esi
call fcn.004076e3
xor edi, edi
push edi
push esi
call fcn.004076e3
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x47445c]
cmp eax, edi
je 0x409abe
push eax
call fcn.00445e06
pop ecx
mov dword [0x47445c], edi
mov eax, dword [0x474458]
mov dword [0x474454], edi
cmp eax, edi
je 0x409ad4
push eax
call fcn.00445e06
pop ecx
push 0x3f
pop ecx
mov dword [0x474458], edi
mov dword [0x474450], edi
push 0x3f
xor eax, eax
mov edi, 0x475460
rep stosd dword es:[edi], eax
pop ecx
mov eax, 0x7fff
push 0x3f
mov edi, 0x470308
rep stosd dword es:[edi], eax
pop ecx
push 0xa
pop eax
mov edi, 0x470208
mov edx, 0x474460
rep stosd dword es:[edi], eax
mov byte [edx], 0
add edx, 0x40
cmp edx, 0x475420
jl 0x409b0d
xor eax, eax
inc eax
jmp 0x409b4e
mov eax, dword [0x474458]
cmp eax, ebx
je 0x409b30
push eax
call fcn.00445e06
pop ecx
mov eax, dword [0x47445c]
cmp eax, ebx
je 0x409b40
push eax
call fcn.00445e06
pop ecx
mov dword [0x474458], ebx
mov dword [0x47445c], ebx
xor eax, eax
mov ecx, dword [ebp + 0x184]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004464bf
add ebp, 0x188
leave
ret 4