Function at 0x101a01a0
Capabilities:
Check if file exists
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10215e99
mov eax, dword fs:[0]
push eax
mov eax, 0x4240
call fcn.10203e10
mov eax, dword [0x105520d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ebx, ecx
lea ecx, [ebp - 0x424c]
mov dword [ebp - 0x40e0], ebx
mov dword [ebp - 0x40ec], edi
call fcn.100f1e50
lea ecx, [ebp - 0x41e0]
mov dword [ebp - 4], 0
call fcn.100efae0
lea ecx, [ebp - 0x4110]
mov byte [ebp - 4], 1
call fcn.100ea6e0
lea ecx, [ebp - 0x4130]
mov byte [ebp - 4], 2
call fcn.100ea7c0
mov esi, dword [ebp + 0xc]
mov eax, dword [sym.imp.MSVCR100.dll_fopen]
mov byte [ebp - 4], 3
mov byte [ebp - 0x40bd], 0
cmp esi, 6
jne 0x101a0339
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x101a025e
test al, 1
je 0x101a0257
and eax, 0xfffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.default
push 0
push edi
lea ecx, [ebp - 0x424c]
call fcn.100f1790
test al, al
je 0x101a03ee
lea ecx, [ebp - 0x424c]
call fcn.100f0ce0
mov dword [ebp - 0x40c4], eax
test eax, eax
je 0x101a03ee
push eax
lea ecx, [ebp - 0x4110]
call fcn.100e8b50
test al, al
je 0x101a03ee
mov ecx, dword [ebp - 0x40c4]
push ecx
lea ecx, [ebp - 0x4130]
call fcn.100e8cb0
test al, al
je 0x101a03ee
mov edx, dword [ebp - 0x40c4]
push 0
push edx
lea ecx, [ebp - 0x41e0]
call fcn.100f0b90
test al, al
je 0x101a03ee
push 0x7f
lea eax, [ebp - 0x8f]
push 0
push eax
mov byte [ebp - 0x90], 0
call sub.MSVCR100.dll_memset
push 0x2e
push 0
push 6
lea ecx, [ebp - 0x90]
push str.QMSL__u._u._u
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x20
lea edx, [ebp - 0x90]
push edx
push 0x1021c9c8
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x41e0]
call fcn.100ef420
mov byte [ebp - 0x40bd], 1
jmp 0x101a03ee
cmp esi, 2
jne 0x101a0363
push 0x10223978
push edi
call eax
mov esi, eax
push str._NvSource_xmlns:xsi_http:__www.w3.org_2001_XMLSchema_instance__xsi:noNamespaceSchemaLocation_..SchemaNvSource.xsd__
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0x14
jmp 0x101a03eb
cmp esi, 3
jne 0x101a038b
push 0x10223978
push edi
call eax
push edi
mov esi, eax
push str._html__h1__s__h1__table_border_1___TR__TD__b_NV_item__b___TD__TD__b_Enumeration__b___TD__TD__b_Value__b___TD___TR_
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0x18
jmp 0x101a03eb
cmp esi, 4
jne 0x101a03ee
push 0x10223978
push edi
call eax
push edi
push str._html__h1__s__h1__table_border_1___TR__TD__b_NV_item__b___TD__TD__b_Enumeration__b___TD_
push eax
mov dword [ebp - 0x40e8], eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x14
xor esi, esi
mov eax, dword [ebp - 0x40e8]
push esi
push str._TD__d__TD_
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
inc esi
add esp, 0xc
cmp esi, 0x80
jl 0x101a03b0
mov esi, dword [ebp - 0x40e8]
push str.__TR_
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0xc
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
sub ecx, dword [ebx + 0x54]
xor edx, edx
mov dword [ebp - 0x40e8], edx
mov dword [ebp - 0x40c8], edx
test ecx, 0xfffffffc
jle 0x101a0727
mov edi, edi
mov edx, dword [ebp - 0x40c8]
push edx
mov ecx, ebx
call fcn.1019ed90
mov esi, eax
cmp byte [esi + 0x130], 0
je 0x101a0704
mov eax, dword [ebp + 0xc]
cmp eax, 4
jne 0x101a043e
push 2
push edi
push eax
jmp 0x101a06eb
cmp eax, 6
jne 0x101a06e7
cmp byte [ebp - 0x40bd], 0
je 0x101a06f2
mov ecx, esi
call fcn.101c2a30
test eax, eax
jle 0x101a0537
mov ecx, esi
call fcn.101c2a30
cmp eax, 0x80
jg 0x101a0537
push 0x7f
xor ebx, ebx
lea eax, [ebp - 0x8f]
push ebx
push eax
mov byte [ebp - 0x90], 0
call sub.MSVCR100.dll_memset
mov edx, dword [esi]
mov edx, dword [edx + 8]
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
mov ecx, esi
call edx
mov ecx, esi
call fcn.101c2a30
movzx eax, ax
mov dword [ebp - 0x40d8], ebx
mov dword [ebp - 0x40d4], ebx
mov dword [ebp - 0x40d0], ebx
mov cx, word [esi + 4]
xor edx, edx
mov byte [ebp - 4], 4
mov word [ebp - 0x40dc], cx
cmp dx, ax
jge 0x101a04f0
lea esi, [ebp - 0x90]
mov edi, eax
lea ebx, [ebx]
push esi
lea ecx, [ebp - 0x40d8]
call fcn.100efef0
inc esi
dec edi
jne 0x101a04e0
lea eax, [ebp - 0x4130]
push eax
lea ecx, [ebp - 0x4110]
push ecx
mov ecx, dword [ebp - 0x40e0]
lea edx, [ebp - 0x41e0]
push edx
lea eax, [ebp - 0x40dc]
push eax
call fcn.1019f6f0
mov eax, dword [ebp - 0x40d8]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x101a06f2
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x101a06f2
push 0x3fff
lea ecx, [ebp - 0x408f]
push 0
push ecx
mov byte [ebp - 0x4090], 0
call sub.MSVCR100.dll_memset
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
add esp, 0xc
lea eax, [ebp - 0x40e4]
push eax
lea ecx, [ebp - 0x4090]
push ecx
mov ecx, esi
mov dword [ebp - 0x40e4], 0x4000
call edx
xor ebx, ebx
xor edi, edi
xor eax, eax
mov dword [ebp - 0x40d8], ebx
mov dword [ebp - 0x40d4], edi
mov dword [ebp - 0x40d0], eax
mov cx, word [esi + 4]
xor edx, edx
mov byte [ebp - 4], 5
mov word [ebp - 0x40dc], cx
mov dword [ebp - 0x40c4], eax
cmp dx, word [ebp - 0x40e4]
jae 0x101a06a7
mov esi, dword [ebp - 0x40c4]
mov ecx, dword [ebp - 0x40d0]
lea esi, [ebp + esi - 0x4090]
cmp esi, edi
jae 0x101a062a
cmp ebx, esi
ja 0x101a062a
sub esi, ebx
cmp edi, ecx
jne 0x101a0617
mov eax, edi
sub eax, ebx
cmp eax, 0xfffffffe
ja 0x101a0774
inc eax
sub ecx, ebx
cmp eax, ecx
jbe 0x101a0617
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x101a05f7
xor ecx, ecx
jmp 0x101a05f9
add ecx, edx
cmp ecx, eax
jae 0x101a05ff
mov ecx, eax
push ecx
lea ecx, [ebp - 0x40d8]
call fcn.100efa70
mov edi, dword [ebp - 0x40d4]
mov ebx, dword [ebp - 0x40d8]
lea eax, [ebx + esi]
push eax
lea ecx, [ebp - 0x40cc]
push edi
push ecx
call fcn.100ef9e0
jmp 0x101a0681
cmp edi, ecx
jne 0x101a0673
mov eax, edi
sub eax, ebx
cmp eax, 0xfffffffe
ja 0x101a0774
inc eax
sub ecx, ebx
cmp eax, ecx
jbe 0x101a0673
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x101a0653
xor ecx, ecx
jmp 0x101a0655
add ecx, edx
cmp ecx, eax
jae 0x101a065b
mov ecx, eax
push ecx
lea ecx, [ebp - 0x40d8]
call fcn.100efa70
mov edi, dword [ebp - 0x40d4]
mov ebx, dword [ebp - 0x40d8]
push esi
lea edx, [ebp - 0x40cc]
push edi
push edx
call fcn.100ef9e0
mov eax, dword [ebp - 0x40c4]
movzx ecx, word [ebp - 0x40e4]
inc eax
inc edi
add esp, 0xc
mov dword [ebp - 0x40d4], edi
mov dword [ebp - 0x40c4], eax
cmp eax, ecx
jb 0x101a05b1
lea edx, [ebp - 0x4130]
push edx
lea eax, [ebp - 0x4110]
push eax
lea ecx, [ebp - 0x41e0]
push ecx
mov ecx, dword [ebp - 0x40e0]
lea edx, [ebp - 0x40dc]
push edx
call fcn.1019f6f0
mov eax, dword [ebp - 0x40d8]
mov byte [ebp - 4], 3
test eax, eax
je 0x101a06f2
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x101a06f2
push 0
push edi
push eax
mov ecx, esi
call fcn.101c3a70
inc dword [ebp - 0x40e8]
mov ebx, dword [ebp - 0x40e0]
mov edi, dword [ebp - 0x40ec]
mov ecx, dword [ebx + 0x58]
sub ecx, dword [ebx + 0x54]
mov eax, dword [ebp - 0x40c8]
inc eax
sar ecx, 2
mov dword [ebp - 0x40c8], eax
cmp eax, ecx
jl 0x101a0410
mov esi, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x68]
sub ecx, eax
mov dword [ebp - 0x40e4], edx
mov dword [ebp - 0x40c8], edx
test ecx, 0xfffffffc
jle 0x101a097b
jmp 0x101a0750
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x130], 0
mov dword [ebp - 0x40e0], ecx
je 0x101a0961
cmp esi, 4
jne 0x101a077f
push 2
push edi
push esi
jmp 0x101a0947
push str.vector_T__too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
cmp esi, 6
jne 0x101a0943
push 0x80
lea edx, [ebp - 0x90]
push 0
push edx
call sub.MSVCR100.dll_memset
mov ecx, dword [ebp - 0x40e0]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
add esp, 0xc
lea edx, [ebp - 0x90]
push edx
call eax
xor edi, edi
xor esi, esi
xor eax, eax
mov dword [ebp - 0x40d8], edi
mov dword [ebp - 0x40d4], esi
mov dword [ebp - 0x40d0], eax
mov ecx, dword [ebp - 0x40e0]
mov dx, word [ecx + 4]
mov byte [ebp - 4], 6
mov word [ebp - 0x40dc], dx
mov dword [ebp - 0x40c4], eax
call fcn.101c2a30
test eax, eax
je 0x101a0907
mov eax, dword [ebp - 0x40c4]
lea eax, [ebp + eax - 0x90]
mov dword [ebp - 0x40f0], eax
cmp eax, esi
jae 0x101a087d
cmp edi, eax
ja 0x101a087d
mov ecx, dword [ebp - 0x40d0]
sub eax, edi
mov dword [ebp - 0x40f0], eax
cmp esi, ecx
jne 0x101a0864
mov eax, esi
sub eax, edi
cmp eax, 0xfffffffe
ja 0x101a0774
inc eax
sub ecx, edi
cmp eax, ecx
jbe 0x101a0864
mov edx, ecx
shr edx, 1
or esi, 0xffffffff
sub esi, edx
cmp esi, ecx
jae 0x101a0844
xor ecx, ecx
jmp 0x101a0846
add ecx, edx
cmp ecx, eax
jae 0x101a084c
mov ecx, eax
push ecx
lea ecx, [ebp - 0x40d8]
call fcn.100efa70
mov esi, dword [ebp - 0x40d4]
mov edi, dword [ebp - 0x40d8]
mov eax, dword [ebp - 0x40f0]
lea ecx, [edi + eax]
push ecx
lea edx, [ebp - 0x40cc]
push esi
push edx
call fcn.100ef9e0
jmp 0x101a08e0
mov ecx, dword [ebp - 0x40d0]
cmp esi, ecx
jne 0x101a08cc
mov eax, esi
sub eax, edi
cmp eax, 0xfffffffe
ja 0x101a0774
inc eax
sub ecx, edi
cmp eax, ecx
jbe 0x101a08cc
mov edx, ecx
shr edx, 1
or esi, 0xffffffff
sub esi, edx
cmp esi, ecx
jae 0x101a08ac
xor ecx, ecx
jmp 0x101a08ae
add ecx, edx
cmp ecx, eax
jae 0x101a08b4
mov ecx, eax
push ecx
lea ecx, [ebp - 0x40d8]
call fcn.100efa70
mov esi, dword [ebp - 0x40d4]
mov edi, dword [ebp - 0x40d8]
mov eax, dword [ebp - 0x40f0]
push eax
lea ecx, [ebp - 0x40cc]
push esi
push ecx
call fcn.100ef9e0
mov ecx, dword [ebp - 0x40e0]
inc dword [ebp - 0x40c4]
inc esi
add esp, 0xc
mov dword [ebp - 0x40d4], esi
call fcn.101c2a30
cmp dword [ebp - 0x40c4], eax
jb 0x101a07f2
lea edx, [ebp - 0x4130]
push edx
lea eax, [ebp - 0x4110]
push eax
lea ecx, [ebp - 0x41e0]
push ecx
lea edx, [ebp - 0x40dc]
push edx
mov ecx, ebx
call fcn.1019f6f0
mov eax, dword [ebp - 0x40d8]
mov byte [ebp - 4], 3
test eax, eax
je 0x101a094c
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x101a094c
push 0
push edi
push esi
call fcn.101c3a70
inc dword [ebp - 0x40e4]
mov edi, dword [ebp - 0x40ec]
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x40c8]
mov eax, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x68]
sub ecx, eax
inc edx
sar ecx, 2
mov dword [ebp - 0x40c8], edx
cmp edx, ecx
jl 0x101a0750
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edi, edi
test eax, eax
jle 0x101a0a26
xor esi, esi
mov dx, word [ecx + esi]
lea eax, [ecx + esi + 4]
push eax
lea ecx, [ebp - 0x40d8]
mov word [ebp - 0x40dc], dx
call fcn.1019fbc0
lea ecx, [ebp - 0x4130]
push ecx
lea edx, [ebp - 0x4110]
push edx
lea eax, [ebp - 0x41e0]
push eax
lea ecx, [ebp - 0x40dc]
push ecx
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.1019f6f0
mov eax, dword [ebp - 0x40d8]
mov byte [ebp - 4], 3
test eax, eax
je 0x101a09ff
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add esi, 0x14
cmp edi, eax
jl 0x101a09a6
mov ecx, dword [ebx + 0x74]
mov edx, dword [ebx + 0x78]
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edi, edi
test eax, eax
jle 0x101a0aca
xor esi, esi
jmp 0x101a0a50
mov dx, word [esi + ecx]
lea eax, [esi + ecx + 4]
push eax
lea ecx, [ebp - 0x40d8]
mov word [ebp - 0x40dc], dx
call fcn.1019fbc0
lea ecx, [ebp - 0x4130]
push ecx
lea edx, [ebp - 0x4110]
push edx
lea eax, [ebp - 0x41e0]
push eax
lea ecx, [ebp - 0x40dc]
push ecx
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.1019f6f0
mov eax, dword [ebp - 0x40d8]
mov byte [ebp - 4], 3
test eax, eax
je 0x101a0aa9
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [ebx + 0x74]
mov edx, dword [ebx + 0x78]
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add esi, 0x14
cmp edi, eax
jl 0x101a0a50
mov esi, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x98]
sub ecx, esi
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x40c8], 0
test ecx, ecx
jle 0x101a0bf2
xor edi, edi
lea ecx, [ecx]
push 0xffffffffffffffff
push 0
add esi, edi
push esi
lea ecx, [ebp - 0x40bc]
mov dword [ebp - 0x40a8], 0xf
mov dword [ebp - 0x40ac], 0
mov byte [ebp - 0x40bc], 0
call fcn.10003140
add esi, 0x1c
push esi
lea ecx, [ebp - 0x40a0]
mov byte [ebp - 4], 9
call fcn.1019fbc0
lea edx, [ebp - 0x4110]
push edx
lea eax, [ebp - 0x41e0]
push eax
lea ecx, [ebp - 0x40bc]
push ecx
mov ecx, ebx
mov byte [ebp - 4], 0xa
call fcn.1019f520
mov eax, dword [ebp - 0x40a0]
mov byte [ebp - 4], 3
test eax, eax
je 0x101a0b77
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
cmp dword [ebp - 0x40a8], 0x10
mov dword [ebp - 0x40a0], eax
mov dword [ebp - 0x409c], eax
mov dword [ebp - 0x4098], eax
jb 0x101a0ba3
mov edx, dword [ebp - 0x40bc]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x98]
inc dword [ebp - 0x40c8]
sub ecx, esi
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, 0x2c
mov dword [ebp - 0x40a8], 0xf
mov dword [ebp - 0x40ac], 0
mov byte [ebp - 0x40bc], 0
cmp dword [ebp - 0x40c8], eax
jl 0x101a0b00
mov ebx, dword [ebx + 0x50]
test ebx, ebx
je 0x101a0c17
mov ecx, dword [ebp - 0x40e4]
mov edx, dword [ebp - 0x40e8]
push ecx
push edx
push str.Num_of_items_in_cache:__d_Num_of_OEM_items_in_cache:__d
push 1
push ebx
call fcn.10115e20
add esp, 0x14
mov edi, dword [ebp + 0xc]
cmp edi, 2
jne 0x101a0c4b
mov eax, dword [ebp - 0x40ec]
push 0x103011b0
push eax
call dword [sym.imp.MSVCR100.dll_fopen]
mov esi, eax
push str.__NvSource_
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0x14
jmp 0x101a0cbd
cmp edi, 3
je 0x101a0c55
cmp edi, 4
jne 0x101a0c7f
mov ecx, dword [ebp - 0x40ec]
push 0x103011b0
push ecx
call dword [sym.imp.MSVCR100.dll_fopen]
mov esi, eax
push str.__table___html_
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0x14
cmp edi, 6
jne 0x101a0cbd
cmp byte [ebp - 0x40bd], 0
je 0x101a0cbd
push 1
lea ecx, [ebp - 0x41e0]
call fcn.100efda0
lea ecx, [ebp - 0x4110]
call fcn.100e98a0
lea ecx, [ebp - 0x4130]
call fcn.100e9910
push 1
lea ecx, [ebp - 0x424c]
call fcn.100f1890
lea ecx, [ebp - 0x4130]
mov byte [ebp - 4], 2
call fcn.100ea4e0
lea ecx, [ebp - 0x4110]
mov byte [ebp - 4], 1
call fcn.100e9a40
lea ecx, [ebp - 0x41e0]
mov byte [ebp - 4], 0
call fcn.100eff60
lea ecx, [ebp - 0x424c]
mov dword [ebp - 4], 0xffffffff
call fcn.100f1cb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10203cc8
mov esp, ebp
pop ebp
ret 8