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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10218e95
mov eax, dword fs:[0]
push eax
sub esp, 0x454
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 + 0xc]
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x304], ebx
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x2f8], ebx
mov dword [ebp - 0x2fc], ebx
mov dword [ebp - 0x458], 0x10322960
mov dword [ebp - 0x448], 0x10224108
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push ebx
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x304], 1
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
mov ecx, dword [ebp - 0x458]
mov edx, dword [ecx + 4]
lea ecx, [ebp - 0x440]
mov dword [ebp - 4], 1
mov dword [ebp + edx - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x404], ebx
mov dword [ebp - 0x400], ebx
mov dword [ebp - 4], 3
mov dword [ebp - 0x16c], 0xf
mov dword [ebp - 0x170], ebx
mov byte [ebp - 0x180], bl
lea eax, [ebp - 0x2c0]
push eax
push esi
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
jne 0x101e8df8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x101e8f47
lea ecx, [ebp - 0x448]
push str.Unknown_error
push ecx
call fcn.100210c0
add esp, 8
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x458]
call fcn.10172430
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 5
call fcn.10022800
mov esi, 0x10
mov byte [ebp - 4], 4
cmp dword [ebp - 0x118], esi
jb 0x101e8dbf
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x180]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], 0
call fcn.10003140
sub esp, 0x1c
mov byte [ebp - 4], 6
mov dword [ebp - 0x2f4], esp
jmp 0x101ea070
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call ebx
cmp eax, 1
je 0x101e8f45
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x101e9fe5
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 1
je 0x101e8f45
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x101e8ee0
push esi
call ebx
test eax, eax
jne 0x101e8f45
lea ecx, [ebp - 0x448]
push str.Failed_to_delete_file_after_changing_the_attribute
push ecx
call fcn.100210c0
add esp, 8
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x458]
call fcn.10172430
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 7
call fcn.10022800
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 4
call fcn.101d8f40
sub esp, 0x1c
lea eax, [ebp - 0x180]
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push eax
call fcn.100034e0
mov byte [ebp - 4], 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2f4], esp
push str.NVTool_Manager::WriteNVsToSource
call fcn.10003820
mov ecx, dword [ebp - 0x2c8]
mov byte [ebp - 4], 4
call fcn.101d8cb0
lea ecx, [ebp - 0x180]
mov dword [edi], 0xe
call fcn.101d8f40
jmp 0x101ea0ce
lea ecx, [ebp - 0x448]
push str.Failed_to_set_file_attribute
push ecx
call fcn.100210c0
add esp, 8
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x458]
call fcn.10172430
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 9
call fcn.10022800
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 4
call fcn.101d8f40
sub esp, 0x1c
lea eax, [ebp - 0x180]
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push eax
call fcn.100034e0
mov byte [ebp - 4], 0xa
jmp 0x101e8ea6
xor ebx, ebx
push 0x10223978
push esi
call dword [sym.imp.MSVCR100.dll_fopen]
add esp, 8
mov dword [ebp - 0x2d0], eax
cmp eax, ebx
je 0x101e9f5f
xor ecx, ecx
mov dword [ebp - 0x2f0], ebx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2e8], ebx
mov edx, dword [ebp - 0x2c8]
mov eax, 1
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x308], eax
cmp byte [edx + 0x68], al
jne 0x101e8f9d
mov eax, 3
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x2d8], ebx
cmp eax, ebx
jle 0x101e931b
jmp 0x101e8fb0
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2c8]
push eax
call fcn.101db2d0
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov byte [ebp - 4], 0xe
xor edi, edi
mov ecx, dword [ebp - 0x2c4]
push edi
call fcn.100aeb90
mov esi, eax
mov dword [ebp - 0x2dc], esi
cmp esi, ebx
je 0x101e9027
push ebx
mov ecx, esi
call fcn.101eee40
test al, al
je 0x101e9027
mov ecx, dword [ebp - 0x2c4]
push ebx
push esi
call fcn.100af570
test al, al
je 0x101e9027
lea ecx, [ebp - 0x2dc]
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.1015bbe0
inc edi
cmp edi, 0x10000
jl 0x101e8fe0
mov ecx, dword [ebp - 0x2c4]
lea edx, [ebp - 0x158]
push edx
call fcn.100b1210
mov esi, dword [ebp - 0x158]
mov edi, dword [ebp - 0x154]
mov byte [ebp - 4], 0xf
cmp esi, edi
jae 0x101e907f
jmp 0x101e9060
push esi
lea ecx, [ebp - 0x13c]
call fcn.100ae520
mov edi, dword [ebp - 0x154]
add esi, 0x1c
cmp esi, edi
jb 0x101e9060
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x138]
sub ecx, dword [ebp - 0x13c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2dc], ebx
mov dword [ebp - 0x2f4], eax
je 0x101e9266
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
push 0xffffffffffffffff
push ebx
push ecx
mov esi, 0xf
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], 0
call fcn.10003140
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2cc], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x12c]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ebp - 4], 0x10
mov byte [ecx], 0
call fcn.10003140
mov ecx, dword [ebp - 0x2c4]
call fcn.100b06f0
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x2cc]
cmp eax, edx
jae 0x101e91ab
cmp ecx, eax
ja 0x101e91ab
mov esi, dword [ebp - 0x2e8]
mov edi, eax
sub edi, ecx
sar edi, 2
cmp edx, esi
jne 0x101e919d
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x101e946e
sub esi, ecx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x101e919d
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x101e917d
xor ecx, ecx
jmp 0x101e917f
add ecx, edx
cmp ecx, eax
jae 0x101e9185
mov ecx, eax
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.100f1180
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2f0]
lea ecx, [ecx + edi*4]
push ecx
push edx
lea edx, [ebp - 0x2e4]
push edx
jmp 0x101e920f
mov esi, dword [ebp - 0x2e8]
cmp edx, esi
jne 0x101e9200
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x101e946e
sub esi, ecx
mov ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x101e9200
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x101e91e6
xor ecx, ecx
jmp 0x101e91e8
add ecx, edx
cmp ecx, eax
jae 0x101e91ee
mov ecx, eax
push ecx
lea ecx, [ebp - 0x2f0]
call fcn.100f1180
mov edx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x2cc]
push eax
push edx
lea ecx, [ebp - 0x2e4]
push ecx
call fcn.10014e30
add dword [ebp - 0x2ec], 4
add esp, 0xc
cmp dword [ebp - 0x118], 0x10
mov byte [ebp - 4], 0xf
jb 0x101e923a
mov edx, dword [ebp - 0x12c]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x2dc]
add dword [ebp - 0x2d4], 0x1c
inc eax
mov dword [ebp - 0x2dc], eax
cmp eax, dword [ebp - 0x2f4]
jb 0x101e90bc
mov edi, dword [ebp - 0x154]
mov esi, dword [ebp - 0x158]
cmp esi, ebx
je 0x101e9296
cmp esi, edi
je 0x101e928d
mov edi, edi
lea eax, [ebp - 0x14c]
push esi
push eax
call fcn.101da7d0
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x101e9270
mov esi, dword [ebp - 0x158]
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x150], ebx
mov byte [ebp - 4], 0xd
cmp esi, ebx
je 0x101e92ea
cmp esi, dword [ebp - 0x138]
je 0x101e92db
mov edi, dword [ebp - 0x138]
lea ecx, [ebp - 0x130]
push esi
push ecx
call fcn.101da7d0
add esi, 0x1c
add esp, 8
cmp esi, edi
jne 0x101e92c4
mov edx, dword [ebp - 0x13c]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x2d8]
inc eax
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x2d8], eax
cmp eax, dword [ebp - 0x308]
jl 0x101e8fb0
mov ecx, dword [ebp - 0x2ec]
sub ecx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2d0]
sar ecx, 2
push str._NvSource__n
push eax
mov dword [ebp - 0x2d4], ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx + 0x2c]
mov edi, dword [eax]
add esp, 8
cmp edi, eax
je 0x101e94a3
mov ebx, dword [edi + 0x14]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
xor esi, esi
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x130], eax
cmp ebx, esi
jle 0x101e9445
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], esi
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0x11
lea esp, [esp]
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx + esi]
push edx
lea eax, [ebp - 0x154]
push 0x1025a32c
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [ebp - 0x154]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x101e93c0
sub eax, edx
push eax
lea ecx, [ebp - 0x154]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.10066750
lea eax, [ebx - 1]
cmp esi, eax
jge 0x101e93f5
push 1
push 0x1025ac7c
lea ecx, [ebp - 0x12c]
call fcn.10066750
inc esi
cmp esi, ebx
jl 0x101e9390
cmp dword [ebp - 0x118], 0x10
mov eax, dword [ebp - 0x12c]
jae 0x101e940f
lea eax, [ebp - 0x12c]
movzx edx, byte [ebp - 0x138]
push eax
mov eax, dword [ebp - 0x2d0]
push edx
push str._PRLItem_nam__x___s__PRLItem__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x10
cmp dword [ebp - 0x118], 0x10
jb 0x101e9445
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp byte [edi + 0x1d], 0
jne 0x101e9494
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x1d], 0
jne 0x101e9479
mov eax, dword [ecx]
cmp byte [eax + 0x1d], 0
jne 0x101e946a
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x1d], 0
je 0x101e9460
mov edi, ecx
jmp 0x101e9494
push str.vector_T__too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
mov eax, dword [edi + 4]
cmp byte [eax + 0x1d], 0
jne 0x101e9492
cmp edi, dword [eax + 8]
jne 0x101e9492
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x1d], 0
je 0x101e9482
mov edi, eax
mov edx, dword [ebp - 0x2c8]
cmp edi, dword [edx + 0x2c]
jne 0x101e9352
cmp dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d8], 0
jle 0x101e9ee8
lea eax, [ebp - 0x350]
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x308], ecx
mov edi, 0xf
xor ebx, ebx
lea esp, [esp]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2d8]
mov esi, dword [edx + eax*4]
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x154], ebx
mov byte [ebp - 0x164], 0
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], 0
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x3b0], 0x10322960
mov dword [ebp - 0x3a0], 0x10224108
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
or dword [ebp - 0x304], 2
push ebx
lea ecx, [ebp - 0x398]
push ecx
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x14
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char____]
mov edx, dword [ebp - 0x3b0]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x398]
mov dword [ebp - 4], 0x15
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x358], ebx
push 0x100
lea ecx, [ebp - 0x110]
push ebx
push ecx
mov byte [ebp - 4], 0x17
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x2f8]
add esp, 0xc
imul eax, eax, 0x64
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2c4]
push edx
mov ecx, esi
call fcn.101eee40
test al, al
je 0x101e99ab
mov ecx, esi
call fcn.101eea00
test al, al
jne 0x101e99ab
mov eax, dword [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x164]
push ecx
push ebx
push ebx
mov ecx, esi
call fcn.101f0dd0
test al, al
je 0x101e99ab
push ebx
push 0x1021c9c8
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], 0
call fcn.10003320
test byte [ebp - 0x358], 1
mov byte [ebp - 4], 0x18
je 0x101e9649
mov edx, dword [ebp - 0x388]
mov eax, dword [edx]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char___char___char__]
mov eax, dword [ebp - 0x384]
mov dword [eax], ebx
mov ecx, dword [ebp - 0x374]
mov dword [ecx], ebx
mov edx, dword [ebp - 0x364]
mov dword [edx], ebx
and dword [ebp - 0x358], 0xfffffffe
mov eax, dword [ebp - 0x12c]
mov edi, 0x10
mov dword [ebp - 0x35c], ebx
cmp dword [ebp - 0x118], edi
jae 0x101e9696
lea eax, [ebp - 0x12c]
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x11c]
push ecx
push edx
push eax
lea ecx, [ebp - 0x398]
call fcn.10021010
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x118], edi
jb 0x101e96cb
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
push 0x1021c9c8
lea ecx, [ebp - 0x148]
call fcn.10003320
push 0x100
lea ecx, [ebp - 0x110]
push ebx
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x100
lea edx, [ebp - 0x110]
push edx
mov ecx, esi
call fcn.101ee730
mov ecx, esi
call fcn.101f7100
mov ecx, esi
test eax, eax
jne 0x101e9789
call fcn.101ee7d0
movzx eax, ax
push eax
lea ecx, [ebp - 0x3a0]
push str.Writing_NV_or_RFNV_with_ID
push ecx
call fcn.100210c0
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int_]
mov eax, dword [ebp - 0x164]
cmp dword [ebp - 0x150], edi
jae 0x101e974a
lea eax, [ebp - 0x164]
mov edx, dword [ebp - 0x2c4]
push eax
push edx
lea eax, [ebp - 0x110]
push eax
mov ecx, esi
call fcn.101eea30
movzx ecx, al
push ecx
mov ecx, esi
call fcn.101ee7d0
movzx edx, ax
mov eax, dword [ebp - 0x2d0]
push edx
push str._NvItem_id__d__subscriptionid__d__name__s__mapping_direct__encoding_dec__index__d___s__NvItem__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x1c
jmp 0x101e987c
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x12c]
push eax
call edx
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], edi
jb 0x101e97a2
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x3a0]
push str.Writing_EFS_item_file_with_path
push eax
call fcn.100210c0
add esp, 8
push eax
call fcn.100210c0
add esp, 8
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x118], edi
jb 0x101e97db
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp byte [esi + 4], 0
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x12c]
mov ecx, esi
push eax
je 0x101e9823
call edx
mov ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x150], edi
jae 0x101e9805
lea ecx, [ebp - 0x164]
cmp dword [eax + 0x14], edi
jb 0x101e980c
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x2c4]
push ecx
lea edx, [ebp - 0x110]
push edx
push eax
push str._NvEfsItem_fullpathname__s__name__s__mapping_direct__encoding_dec__index__d__useProvisioningStore__true___s__NvEfsItem__n
jmp 0x101e9855
call edx
mov ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x150], edi
jae 0x101e9839
lea ecx, [ebp - 0x164]
cmp dword [eax + 0x14], edi
jb 0x101e9840
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x2c4]
push ecx
lea edx, [ebp - 0x110]
push edx
push eax
push str._NvEfsItem_fullpathname__s__name__s__mapping_direct__encoding_dec__index__d___s__NvEfsItem__n
mov eax, dword [ebp - 0x2d0]
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x18
cmp dword [ebp - 0x118], edi
jb 0x101e987c
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x3b0]
call fcn.10172430
mov edi, eax
lea eax, [ebp - 0x148]
cmp eax, edi
je 0x101e9909
cmp dword [ebp - 0x134], 0x10
jb 0x101e98b2
mov ecx, dword [ebp - 0x148]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x134], 0xf
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], 0
cmp dword [edi + 0x14], 0x10
jae 0x101e98e7
mov eax, dword [edi + 0x10]
inc eax
push eax
lea edx, [ebp - 0x148]
push edi
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x101e98f1
mov eax, dword [edi]
mov dword [ebp - 0x148], eax
mov dword [edi], ebx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x138], ecx
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x134], edx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
cmp dword [ebp - 0x118], 0x10
mov byte [ebp - 4], 0x17
jb 0x101e9925
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x2c4], ebx
jne 0x101e994f
mov eax, dword [ebp - 0x2cc]
inc dword [ebp - 0x2f8]
add eax, 0x64
mov dword [ebp - 0x2cc], eax
cdq
idiv dword [ebp - 0x2d4]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
push 0xc
push 3
mov ecx, esi
call fcn.101ee7d0
mov edi, dword [ebp - 0x2c8]
movzx edx, ax
push edx
mov ecx, edi
call fcn.101d8080
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2dc], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x148]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], 0
call fcn.10003140
sub esp, 0x1c
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x300], esp
jmp 0x101e9d80
mov ecx, dword [ebp - 0x2c4]
push ecx
mov ecx, esi
call fcn.101eee40
test al, al
je 0x101e9dab
mov ecx, esi
call fcn.101eea00
cmp al, 1
jne 0x101e9dab
mov edx, dword [ebp - 0x2c4]
push edx
lea eax, [ebp - 0x164]
push eax
push 1
push 1
mov ecx, esi
call fcn.101f0dd0
test al, al
je 0x101e9dab
push ebx
push 0x1021c9c8
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], 0
call fcn.10003320
test byte [ebp - 0x358], 1
mov byte [ebp - 4], 0x1c
je 0x101e9a67
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const]
lea ecx, [ebp - 0x398]
test eax, eax
je 0x101e9a40
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const]
jmp 0x101e9a46
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::egptr_void_const]
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const]
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char___char___char__]
push ebx
push ebx
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::setp_char___char__]
and dword [ebp - 0x358], 0xfffffffe
mov eax, dword [ebp - 0x12c]
mov edi, 0x10
mov dword [ebp - 0x35c], ebx
cmp dword [ebp - 0x118], edi
jae 0x101e9aaa
lea eax, [ebp - 0x12c]
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x11c]
push ecx
push edx
push eax
lea ecx, [ebp - 0x398]
call fcn.10021010
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x118], edi
jb 0x101e9adf
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
push 0x1021c9c8
lea ecx, [ebp - 0x148]
call fcn.10003320
push 0x100
lea ecx, [ebp - 0x110]
push ebx
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x100
lea edx, [ebp - 0x110]
push edx
mov ecx, esi
call fcn.101ee730
mov ecx, esi
call fcn.101f7100
mov ecx, esi
test eax, eax
jne 0x101e9b9d
call fcn.101ee7d0
movzx eax, ax
push eax
lea ecx, [ebp - 0x3a0]
push str.Writing_NV_or_RFNV_with_ID
push ecx
call fcn.100210c0
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int_]
mov eax, dword [ebp - 0x164]
cmp dword [ebp - 0x150], edi
jae 0x101e9b5e
lea eax, [ebp - 0x164]
mov edx, dword [ebp - 0x2c4]
push eax
push edx
lea eax, [ebp - 0x110]
push eax
mov ecx, esi
call fcn.101eea30
movzx ecx, al
push ecx
mov ecx, esi
call fcn.101ee7d0
movzx edx, ax
mov eax, dword [ebp - 0x2d0]
push edx
push str._NvItem_id__d__subscriptionid__d__name__s__mapping_byteStream__encoding_hex__index__d___s__NvItem__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x1c
jmp 0x101e9c56
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x12c]
push eax
call edx
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], edi
jb 0x101e9bb6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x3a0]
push str.Writing_EFS_item_file_with_path
push eax
call fcn.100210c0
add esp, 8
push eax
call fcn.100210c0
add esp, 8
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x118], edi
jb 0x101e9bef
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x12c]
push eax
mov ecx, esi
call edx
mov ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x150], edi
jae 0x101e9c13
lea ecx, [ebp - 0x164]
cmp dword [eax + 0x14], edi
jb 0x101e9c1a
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x2c4]
push ecx
lea edx, [ebp - 0x110]
push edx
push eax
mov eax, dword [ebp - 0x2d0]
push str._NvEfsItem_fullpathname__s__name__s__mapping_byteStream__encoding_hex__index__d___s__NvEfsItem__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x18
cmp dword [ebp - 0x118], edi
jb 0x101e9c56
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x3b0]
call fcn.10172430
mov edi, eax
lea eax, [ebp - 0x148]
cmp eax, edi
je 0x101e9ce3
cmp dword [ebp - 0x134], 0x10
jb 0x101e9c8c
mov ecx, dword [ebp - 0x148]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x134], 0xf
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], 0
cmp dword [edi + 0x14], 0x10
jae 0x101e9cc1
mov eax, dword [edi + 0x10]
inc eax
push eax
lea edx, [ebp - 0x148]
push edi
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x101e9ccb
mov eax, dword [edi]
mov dword [ebp - 0x148], eax
mov dword [edi], ebx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x138], ecx
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x134], edx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
cmp dword [ebp - 0x118], 0x10
mov byte [ebp - 4], 0x17
jb 0x101e9cff
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x2c4], ebx
jne 0x101e9d29
mov eax, dword [ebp - 0x2cc]
inc dword [ebp - 0x2f8]
add eax, 0x64
mov dword [ebp - 0x2cc], eax
cdq
idiv dword [ebp - 0x2d4]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
push 0xc
push 3
mov ecx, esi
call fcn.101ee7d0
mov edi, dword [ebp - 0x2c8]
movzx edx, ax
push edx
mov ecx, edi
call fcn.101d8080
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x300], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x148]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push eax
mov byte [ecx], 0
call fcn.10003140
sub esp, 0x1c
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x2dc], esp
mov ecx, esp
push 0x20
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.NVTool_Manager::WriteNVsToSource
mov byte [ecx], 0
call fcn.10003320
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.101d8cb0
mov edi, 0xf
mov eax, dword [ebp - 0x2c4]
inc eax
mov dword [ebp - 0x2c4], eax
cmp eax, 0xff
jl 0x101e95c3
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx + 4]
mov dword [ebp + edx - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
test byte [ebp - 0x358], 1
mov byte [ebp - 4], 0x21
je 0x101e9e33
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const]
lea ecx, [ebp - 0x398]
test eax, eax
je 0x101e9e0c
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const]
jmp 0x101e9e12
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::egptr_void_const]
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const]
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_char____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char___char___char__]
push ebx
push ebx
lea ecx, [ebp - 0x398]
call dword [sym.imp.MSVCP100.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::setp_char___char__]
and dword [ebp - 0x358], 0xfffffffe
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x35c], ebx
mov byte [ebp - 4], 0x20
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x350]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov esi, 0x10
cmp dword [ebp - 0x134], esi
jb 0x101e9ea5
mov eax, dword [ebp - 0x148]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], 0
cmp dword [ebp - 0x150], esi
jb 0x101e9ecf
mov ecx, dword [ebp - 0x164]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x2d8]
inc eax
mov dword [ebp - 0x2d8], eax
cmp eax, dword [ebp - 0x2d4]
jl 0x101e94e0
mov esi, dword [ebp - 0x2d0]
push str.__NvSource_
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
mov edx, dword [ebp - 0x2e0]
add esp, 0xc
cmp dword [ebp - 0x2f0], 0
mov dword [edx], 0
mov byte [ebp - 4], 4
je 0x101e9f38
lea ecx, [ebp - 0x2f0]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0x2f0]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x16c], 0x10
jb 0x101e9f50
mov ecx, dword [ebp - 0x180]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x170], 0
jmp 0x101ea0bd
lea edx, [ebp - 0x448]
push str.Failed_to_open_the_file_to_write
push edx
call fcn.100210c0
add esp, 8
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x458]
call fcn.10172430
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x22
call fcn.10022800
mov esi, 0x10
mov byte [ebp - 4], 4
cmp dword [ebp - 0x118], esi
jb 0x101e9fb5
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x300], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x180]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], 0
call fcn.10003140
mov byte [ebp - 4], 0x23
jmp 0x101ea067
lea ecx, [ebp - 0x448]
push str.Failed_to_delete_file
push ecx
call fcn.100210c0
add esp, 8
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x458]
call fcn.10172430
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xb
call fcn.10022800
mov esi, 0x10
mov byte [ebp - 4], 4
cmp dword [ebp - 0x118], esi
jb 0x101ea03b
mov eax, dword [ebp - 0x12c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x300], esp
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x180]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], bl
call fcn.10003140
mov byte [ebp - 4], 0xc
sub esp, 0x1c
mov dword [ebp - 0x2e0], esp
mov ecx, esp
mov dword [ecx + 0x14], 0xf
push 0x20
mov dword [ecx + 0x10], ebx
push str.NVTool_Manager::WriteNVsToSource
mov byte [ecx], 0
call fcn.10003320
mov ecx, dword [ebp - 0x2c8]
mov byte [ebp - 4], 4
call fcn.101d8cb0
mov dword [edi], 0xe
cmp dword [ebp - 0x16c], esi
jb 0x101ea0b7
mov eax, dword [ebp - 0x180]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], 0xffffffff
call fcn.101571f0
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