Function at 0x4541f0
Capabilities:
Check if file exists

Disassembly:
push 0x60c
mov eax, 0x5c0974
call fcn.00598fca
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x574], edi
cmp dword [edi + 8], eax
jne 0x454d34
mov ebx, 0x206
push ebx
push eax
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x568], eax
lea eax, [ebp - 0x28e]
xor ecx, ecx
push eax
mov dword [edi + 8], 1
mov word [ebp - 0x290], cx
call fcn.00596530
add esp, 0xc
push str.newtab_newtab.dat
call fcn.004040a8
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
lea eax, [ebp - 0x290]
push eax
call esi
xor eax, eax
push ebx
mov word [ebp - 0x498], ax
xor ebx, ebx
lea eax, [ebp - 0x496]
push ebx
push eax
call fcn.00596530
add esp, 0xc
push str.newtab_backup_newtab.dat.bak
call fcn.004040a8
push eax
lea eax, [ebp - 0x498]
push eax
call esi
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x55c]
push eax
mov esi, 0xad
lea eax, [ebp - 0x290]
push esi
push eax
call fcn.00418c22
add esp, 0x10
test eax, eax
jne 0x4542f7
lea eax, [ebp - 0x498]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4542d9
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x290]
call fcn.00476205
pop ecx
lea eax, [ebp - 0x568]
push eax
lea eax, [ebp - 0x55c]
push eax
lea eax, [ebp - 0x290]
push esi
push eax
call fcn.00418c22
add esp, 0x10
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x55c], ebx
je 0x454375
cmp dword [ebp - 0x568], ebx
je 0x454375
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x498]
call fcn.00476205
pop ecx
lea eax, [ebp - 0x558]
push eax
call fcn.00548b11
mov byte [ebp - 4], 1
push dword [ebp - 0x55c]
lea ecx, [ebp - 0x34]
call fcn.004050c6
lea eax, [edi + 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
lea ebx, [ebp - 0x558]
mov byte [ebp - 4], 2
call fcn.00548b5a
push 0
push 1
lea ecx, [ebp - 0x34]
call fcn.00407567
push dword [ebp - 0x55c]
call fcn.0058f807
pop ecx
mov eax, ebx
mov byte [ebp - 4], 0
call fcn.0040b0d5
cmp byte [edi + 0x70], 0
je 0x454387
lea eax, [edi + 0x68]
call fcn.0054bd37
test al, al
jne 0x4543b2
lea eax, [ebp - 0x5a8]
push eax
push 7
pop ebx
call fcn.0054af1d
push eax
lea esi, [edi + 0x68]
mov byte [ebp - 4], 3
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
cmp byte [edi + 0x20], 0
je 0x4543c6
lea esi, [edi + 0x18]
mov eax, esi
call fcn.0054bd37
test al, al
jne 0x4543f1
lea eax, [ebp - 0x5a8]
push eax
push 7
pop ebx
call fcn.0054af1d
lea esi, [edi + 0x18]
push eax
mov byte [ebp - 4], 4
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
mov edx, str.main
mov ecx, esi
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x55c], esi
je 0x454414
call fcn.0054bd37
test al, al
jne 0x45443c
lea eax, [ebp - 0x5a8]
push eax
push 7
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 5
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
mov edx, 0x5e9904
mov ecx, esi
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 1
jne 0x45445b
mov ecx, esi
call fcn.0054b340
test eax, eax
jg 0x45447d
push 1
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 6
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0
call fcn.0054b1a0
xor eax, eax
mov word [ebp - 0x5c0], ax
lea edi, [ebp - 0x5be]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x3f
xor edi, edi
lea eax, [ebp - 0x87]
push edi
push eax
mov byte [ebp - 0x88], 0
call fcn.00596530
movzx eax, word [ebp - 0x5ba]
add esp, 0xc
push eax
movzx eax, word [ebp - 0x5be]
push eax
movzx eax, word [ebp - 0x5c0]
push eax
push str._04d_02d_02d
lea eax, [ebp - 0x88]
push 0x40
push eax
call fcn.005927ef
mov ecx, dword [ebp - 0x55c]
add esp, 0x18
mov edx, str.date
mov dword [ebp - 0x568], edi
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 4
jne 0x45452a
mov eax, dword [esi]
cmp eax, edi
je 0x45452a
lea ecx, [ebp - 0x88]
push ecx
push eax
call fcn.00593a9c
pop ecx
pop ecx
test eax, eax
jne 0x45452a
mov dword [ebp - 0x568], 1
jmp 0x454556
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x5a8]
push eax
call fcn.0054afd5
push eax
mov byte [ebp - 4], 7
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, 0x5e9920
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 1
je 0x454580
push edi
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
mov byte [ebp - 4], 8
jmp 0x4545a0
cmp dword [ebp - 0x568], edi
jne 0x4545b5
mov ecx, esi
call fcn.0054b340
inc eax
push eax
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
mov byte [ebp - 4], 9
push eax
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
mov ecx, esi
call fcn.0054b340
push 0x1f
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x570], edx
mov edx, str.order
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x56c], esi
je 0x4545ef
call fcn.0054bd25
test al, al
jne 0x454617
lea eax, [ebp - 0x5a8]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0xa
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
lea eax, [ebp - 0x4c8]
push eax
xor ebx, ebx
call fcn.0054af1d
lea eax, [ebp - 0x5e0]
push eax
mov byte [ebp - 4], 0xb
call fcn.00451840
and dword [ebp - 0x560], ebx
mov byte [ebp - 4], 0xc
mov eax, esi
call fcn.0054b6cc
cmp dword [ebp - 0x560], eax
jae 0x45471d
push dword [ebp - 0x560]
mov ecx, esi
call fcn.0054b71c
cmp byte [eax + 8], 1
jne 0x454712
push dword [ebp - 0x560]
mov ecx, esi
call fcn.0054b71c
mov ecx, eax
call fcn.0054b340
mov dword [ebp - 0x564], eax
cmp eax, 8
jae 0x454712
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5b0], eax
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x5e8]
push eax
lea ebx, [ebp - 0x5e0]
call fcn.00459e8c
lea edi, [ebp - 0x5b0]
mov esi, eax
call fcn.004acc17
test al, al
je 0x45470c
lea eax, [ebp - 0x564]
push eax
call fcn.00459e05
push dword [ebp - 0x564]
lea edi, [ebp - 0x48]
mov dword [eax], 1
call fcn.0054af9b
mov eax, edi
push eax
lea eax, [ebp - 0x4c8]
push eax
mov byte [ebp - 4], 0xd
call fcn.0054bb5f
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov esi, dword [ebp - 0x56c]
inc dword [ebp - 0x560]
jmp 0x45463f
and dword [ebp - 0x560], 0
mov eax, dword [ebp - 0x560]
cmp eax, 8
jae 0x4547cf
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5b0], eax
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x5e8]
push eax
lea ebx, [ebp - 0x5e0]
call fcn.00459e8c
lea edi, [ebp - 0x5b0]
mov esi, eax
call fcn.004acc17
test al, al
je 0x4547be
mov eax, dword [ebp - 0x40]
and dword [ebp - 0x3c], 0
and eax, 0xffffff02
or eax, 2
lea esi, [ebp - 0x38]
mov dword [ebp - 0x40], eax
call fcn.00462a07
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c8]
push eax
mov byte [ebp - 4], 0xe
call fcn.0054bb5f
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
inc dword [ebp - 0x560]
mov esi, dword [ebp - 0x56c]
jmp 0x454724
lea eax, [ebp - 0x4c8]
push eax
call fcn.0054b224
mov ecx, dword [ebp - 0x55c]
mov edx, str.visit
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x564], esi
je 0x454802
call fcn.0054bd25
test al, al
jne 0x45482a
lea eax, [ebp - 0x5a8]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0xf
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
xor ebx, ebx
cmp ebx, 0x1f
jae 0x45487a
push ebx
mov ecx, esi
call fcn.0054b71c
cmp byte [eax + 8], 1
je 0x454877
push 0x7fffffff
lea edi, [ebp - 0x48]
call fcn.0054af9b
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x564]
push ebx
call fcn.0054b71c
mov ecx, edi
push ecx
mov esi, eax
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov esi, dword [ebp - 0x564]
inc ebx
jmp 0x45482c
cmp dword [ebp - 0x568], 0
jne 0x4548c1
push 0x7fffff00
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
mov edi, eax
push dword [ebp - 0x570]
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x564]
call fcn.0054b71c
push edi
mov esi, eax
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, str.adtxt
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x4548e2
call fcn.0054bd25
test al, al
jne 0x45490a
lea eax, [ebp - 0x5a8]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0x12
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, str.adimgswitch
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 1
je 0x454944
push 1
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0x13
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, 0x5e9948
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x454965
call fcn.0054bd25
test al, al
jne 0x45498d
lea eax, [ebp - 0x5a8]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0x14
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, 0x5e9950
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x4549ae
call fcn.0054bd25
test al, al
jne 0x4549d6
lea eax, [ebp - 0x5a8]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0x15
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov edi, dword [ebp - 0x574]
lea ecx, [edi + 0x18]
mov edx, str.items
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x570], esi
je 0x454a00
call fcn.0054bd37
test al, al
jne 0x454a28
lea eax, [ebp - 0x5a8]
push eax
push 7
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0x16
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
and dword [ebp - 0x560], 0
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x560], 8
jae 0x454cca
push dword [ebp - 0x560]
xor eax, eax
mov byte [ebp - 0x2c], 0
lea edi, [ebp - 0x2b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.id_d
stosb byte es:[edi], al
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.005927ef
mov ecx, dword [ebp - 0x570]
add esp, 0x10
lea edx, [ebp - 0x2c]
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x55c], esi
je 0x454a91
call fcn.0054bd37
test al, al
jne 0x454bba
lea eax, [ebp - 0x5a8]
push eax
push 7
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 0x17
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov edx, 0x5defbc
mov ecx, esi
call fcn.0054b949
mov edi, dword [ebp - 0x560]
shl edi, 3
push dword [edi + 0x62b598]
mov esi, eax
lea eax, [ebp - 0x56c]
push eax
call fcn.0047f493
pop ecx
pop ecx
mov byte [ebp - 4], 0x18
push dword [eax]
lea eax, [ebp - 0x5a8]
push eax
call fcn.0054afd5
push eax
mov byte [ebp - 4], 0x19
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0x18
call fcn.0054b1a0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x56c]
add eax, 0xfffffff0
call fcn.00407b6b
mov ecx, dword [ebp - 0x55c]
mov edx, 0x5e9964
call fcn.0054b949
push dword [edi + 0x62b59c]
mov esi, eax
lea eax, [ebp - 0x564]
push eax
call fcn.0047f493
pop ecx
pop ecx
mov byte [ebp - 4], 0x1a
push dword [eax]
lea eax, [ebp - 0x5a8]
push eax
call fcn.0054afd5
push eax
mov byte [ebp - 4], 0x1b
call fcn.0054b224
lea ecx, [ebp - 0x5a8]
mov byte [ebp - 4], 0x1a
call fcn.0054b1a0
mov eax, dword [ebp - 0x564]
add eax, 0xfffffff0
call fcn.00407b6b
push 1
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
mov edi, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x55c]
mov edx, str.define
call fcn.0054b949
push edi
mov esi, eax
call fcn.0054b224
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5a8]
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, 0x5e9974
call fcn.0054b949
mov esi, eax
mov al, byte [esi + 8]
xor ebx, ebx
inc ebx
test al, al
je 0x454bda
cmp al, bl
je 0x454bfc
push 0
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0x1d
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, str.adsid
call fcn.0054b949
mov esi, eax
mov al, byte [esi + 8]
test al, al
je 0x454c19
cmp al, bl
je 0x454c3b
push 0
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0x1e
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, str.adsstart
call fcn.0054b949
mov esi, eax
mov al, byte [esi + 8]
test al, al
je 0x454c58
cmp al, bl
je 0x454c7a
push 0
lea edi, [ebp - 0x5a8]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0x1f
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
mov ecx, dword [ebp - 0x55c]
mov edx, str.adsend
call fcn.0054b949
mov esi, eax
mov al, byte [esi + 8]
test al, al
je 0x454c97
cmp al, bl
je 0x454cb9
push 0
lea edi, [ebp - 0x618]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0x20
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0054b1a0
inc dword [ebp - 0x560]
mov edi, dword [ebp - 0x574]
jmp 0x454a32
cmp dword [ebp - 0x568], 0
mov dword [edi + 0xc], ebx
jne 0x454cd9
mov dword [edi + 0x10], ebx
lea eax, [ebp - 0x5e0]
push eax
mov byte [ebp - 4], 0xb
call fcn.004a3fa0
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0
call fcn.0054b1a0
or dword [ebp - 4], 0xffffffff
jmp 0x454d0e
cmp dword [edi + 0xc], 0
je 0x454d34
push edi
call fcn.00454d3a
mov ecx, edi
call fcn.004578f3
call fcn.00458053
mov ebx, edi
call fcn.00458f33
mov edx, edi
call fcn.00457d79
call fcn.00599026
ret