Function at 0x51a27a0
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x5232b55
mov eax, dword fs:[0]
push eax
mov eax, 0x1c10
call fcn.0520b920
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0x1c0c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x1c24]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1c38]
push eax
lea ecx, [esp + 0x334]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
xor ebp, ebp
mov dword [esp + 0x1c2c], ebp
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [eax]
push 1
push eax
push 0x529230c
lea ecx, [esp + 0x33c]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [esp + 0x344]
dec ecx
cmp eax, ecx
je 0x51a2837
push 0x529230c
lea ecx, [esp + 0x334]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea edx, [esp + 0x330]
push edx
lea ecx, [esp + 0x350]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [esp + 0x1c2c], 1
push str._meta_backup_res_.txt
lea ecx, [esp + 0x350]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [esp + 0x364], 0x10
mov eax, dword [esp + 0x350]
jae 0x51a287e
lea eax, [esp + 0x350]
lea ecx, [esp + 0x4cc]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push 0x52c722a
lea ecx, [esp + 0x318]
mov ebx, eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x1c2c], 2
mov esi, dword [esp + 0x1c34]
cmp ebx, 0xffffffff
je 0x51a299c
test byte [esp + 0x4cc], 0x10
je 0x51a28e5
lea edx, [esp + 0x4cc]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x51a28b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x51a299c
lea eax, [esp + 0x4f8]
push eax
lea ecx, [esp + 0x318]
inc ebp
call dword [0x523a2ec]
push 0x52c722a
push 1
push 0xa1f
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 3
cmp dword [esp + 0x32c], 0x10
jb 0x51a2936
mov ecx, dword [esp + 0x318]
mov dword [esp + 0x18], ecx
jmp 0x51a2941
lea edx, [esp + 0x318]
mov dword [esp + 0x18], edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 8]
push ecx
push ebp
push esi
push str.__d__:__d_find_result_file__s_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 2
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
lea edx, [esp + 0x4cc]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x51a28b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x51a28b9
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
test ebp, ebp
jne 0x51a29f1
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x51a41b7
cmp ebp, 1
jle 0x51a2a42
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, 0xfffffffe
jmp 0x51a41b7
lea eax, [esp + 0x330]
xor ebx, ebx
xor ebp, ebp
push eax
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebp
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [esp + 0x1c2c], 4
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [ecx]
push 1
push eax
push 0x529230c
lea ecx, [esp + 0x304]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
mov edx, dword [esp + 0x30c]
dec edx
cmp eax, edx
je 0x51a2aa6
push 0x529230c
lea ecx, [esp + 0x2fc]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x318]
mov edi, 0x10
cmp dword [esp + 0x32c], edi
jae 0x51a2ac2
lea eax, [esp + 0x318]
push eax
lea ecx, [esp + 0x2fc]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, dword [esp + 0x2fc]
cmp dword [esp + 0x310], edi
jae 0x51a2ae7
lea eax, [esp + 0x2fc]
push 0x52ab1d4
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x51a2bd4
push str._ERROR:
push 0xff
push 0xa4b
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebx, eax
mov byte [esp + 0x1c2c], 5
cmp dword [esp + 0x310], 0x10
mov edi, dword [esp + 0x2fc]
jae 0x51a2b43
lea edi, [esp + 0x2fc]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d_:_Error__can_not_open_backup_result__s_for_reading_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [esp + 0x1c2c], 4
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov byte [esp + 0x1c2c], 2
lea ecx, [esp + 0x2f8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, 0xfffffffd
jmp 0x51a41b7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd468
call fcn.0506f270
push 0x400
lea eax, [esp + 0x1824]
push 0
push eax
mov dword [esp + 0x40], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x52c722a
lea ecx, [esp + 0x2a8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x1c2c], 6
push 0x52c722a
lea ecx, [esp + 0x36c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [esp + 0x1c2c], 7
push edi
lea ecx, [esp + 0x1824]
push 0x400
push ecx
mov dword [esp + 0x44], 0
call dword [sym.imp.MSVCR90.dll_fgets]
add esp, 0xc
test eax, eax
je 0x51a3adc
jmp 0x51a2c70
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x1820]
inc edi
push edx
lea ecx, [esp + 0x2a8]
mov dword [esp + 0x38], edi
call dword [0x523a2ec]
cmp edi, 1
jne 0x51a30a1
push edi
push 0
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edi, eax
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [eax]
push 1
push eax
push 0x529080c
lea ecx, [esp + 0x2b0]
mov dword [esp + 0x54], edi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
test edi, edi
jl 0x51a3d54
cmp edi, eax
jne 0x51a3d54
mov ecx, edi
push ecx
push 0
lea edx, [esp + 0x2c8]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 8
lea eax, [esp + 0x330]
push eax
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x2c4]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x2c4]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
lea edx, [esp + 0x60]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esp + 0x2c4]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov byte [esp + 0x4c], 0
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [sym.imp.MSVCR90.dll_toupper]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
push ecx
push edx
push ebx
push edi
push ebp
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.05010920
add esp, 0x20
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
lea edx, [esp + 0x68]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::begin_void_]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov byte [esp + 0x30], 0
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [sym.imp.MSVCR90.dll_toupper]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
push ecx
push edx
push ebx
push edi
push ebp
push eax
lea eax, [esp + 0x94]
push eax
call fcn.05010920
mov ecx, dword [esp + 0x2e4]
mov ebp, 0x10
add esp, 0x20
cmp dword [esp + 0x2d8], ebp
jae 0x51a2e2a
lea ecx, [esp + 0x2c4]
lea edx, [esp + 0x171c]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x51a2e31
lea ecx, [esp + 0x171c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathStripPathA]
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [edx]
lea eax, [esp + 0x171c]
lea edi, [eax + 1]
jmp 0x51a2e60
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51a2e60
sub eax, edi
push eax
push edx
lea eax, [esp + 0x1724]
push eax
lea ecx, [esp + 0x2e8]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
test eax, eax
jl 0x51a3bd1
push eax
push 0
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0x33c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0xb
push eax
lea ecx, [esp + 0x36c]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x11c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [edx]
lea eax, [esp + 0x171c]
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x51a2ee0
sub eax, edi
push eax
push edx
lea eax, [esp + 0x1724]
push eax
lea ecx, [esp + 0x2cc]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
mov dword [esp + 0x38], eax
test eax, eax
jl 0x51a3c7b
mov ecx, dword [esp + 0x2d4]
push ecx
push eax
lea edx, [esp + 0x23c]
push edx
lea ecx, [esp + 0x2cc]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0xd
push eax
lea ecx, [esp + 0x2c4]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x234]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x37c]
push eax
push ecx
lea edx, [esp + 0x15c]
push edx
lea ecx, [esp + 0x2e8]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0xe
push eax
lea ecx, [esp + 0x2e0]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [esp + 0x2dc]
push eax
lea ecx, [esp + 0x2c4]
push ecx
call dword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator__char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 8
test al, al
jne 0x51a3cdd
lea edx, [esp + 0x2c0]
push edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd468
call dword [0x523a2b0]
mov ecx, dword [esp + 0x2b8]
mov eax, dword [esp + 0x48]
sub ecx, eax
dec ecx
push ecx
inc eax
push eax
lea edx, [esp + 0x204]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x10
push eax
lea ecx, [esp + 0x2c4]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x1fc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
push 0
push 0x52acbf0
lea ecx, [esp + 0x2cc]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
push esi
mov ecx, 0x53f4cc8
test eax, eax
jne 0x51a3066
call fcn.05065960
mov byte [eax + 0xd484], 1
jmp 0x51a3072
call fcn.05065960
mov byte [eax + 0xd484], 0
mov byte [esp + 0x1c2c], 8
lea ecx, [esp + 0x2dc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x2c0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x51a39dd
cmp edi, 2
jne 0x51a30fe
push 1
push 0
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
test eax, eax
je 0x51a3db4
cmp dword [esp + 0x2bc], 0x10
mov eax, dword [esp + 0x2a8]
jae 0x51a30dc
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
push esi
mov ecx, 0x53f4cc8
mov edi, eax
call fcn.05065960
mov dword [eax + 0xd498], edi
jmp 0x51a39dd
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
cmp byte [eax + 0xd484], 1
jne 0x51a32e2
cmp edi, 3
jne 0x51a32e2
push esi
mov ecx, 0x53f4cc8
xor ebp, ebp
xor edi, edi
call fcn.05065960
add eax, 0xd48c
push 1
xor ebx, ebx
mov dword [eax], edi
push ebx
mov dword [eax + 4], edi
push 0x529080c
lea ecx, [esp + 0x2b0]
mov word [eax + 8], di
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edi, eax
test edi, edi
jl 0x51a3e14
cmp ebp, 0xa
jge 0x51a31f0
mov eax, edi
sub eax, ebx
push eax
push ebx
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x13
cmp dword [eax + 0x18], 0x10
jb 0x51a3194
mov eax, dword [eax + 4]
jmp 0x51a3197
add eax, 4
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
push esi
mov ecx, 0x53f4cc8
mov ebx, eax
call fcn.05065960
mov byte [eax + ebp + 0xd48c], bl
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x18c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ebx, [edi + 1]
push ebx
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edi, eax
inc ebp
test edi, edi
jge 0x51a315d
cmp ebp, 0xa
jne 0x51a3e14
mov edx, dword [esp + 0x2b8]
sub edx, ebx
push edx
push ebx
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x15
mov ebp, 0x10
cmp dword [eax + 0x18], ebp
jb 0x51a322d
mov eax, dword [eax + 4]
jmp 0x51a3230
add eax, 4
mov edi, dword [sym.imp.MSVCR90.dll_atoi]
push eax
call edi
add esp, 4
cmp eax, 3
setl byte [esp + 0x17]
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0xac]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp byte [esp + 0x17], 0
je 0x51a32c8
mov ecx, dword [esp + 0x2b8]
sub ecx, ebx
push ecx
push ebx
lea edx, [esp + 0xd0]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x16
cmp dword [eax + 0x18], ebp
jb 0x51a3292
mov eax, dword [eax + 4]
jmp 0x51a3295
add eax, 4
push eax
call edi
add esp, 4
push esi
mov ecx, 0x53f4cc8
mov edi, eax
call fcn.05065960
mov dword [eax + 0xd488], edi
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x51a39dd
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov dword [eax + 0xd488], 0
jmp 0x51a39dd
push 1
push 0
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
test eax, eax
jge 0x51a33c3
cmp dword [esp + 0x2bc], 0x10
mov eax, dword [esp + 0x2a8]
jae 0x51a3318
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov ebx, eax
push esi
mov ecx, 0x53f4cc8
mov dword [esp + 0x44], ebx
call fcn.05065960
mov ecx, dword [eax + 0xd4ac]
sub ecx, dword [eax + 0xd4a8]
add eax, 0xd49c
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x44], edi
cmp ebx, edi
je 0x51a39dd
push str._ERROR:
push 0xff
push 0xae4
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x1c2c], 0x17
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d_:_Error__backup_history_is_not_complete__d___d_
push eax
push ebp
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffff8
jmp 0x51a404f
push 1
push 0
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x18
mov ebx, 0x10
cmp dword [eax + 0x18], ebx
jb 0x51a33f3
mov eax, dword [eax + 4]
jmp 0x51a33f6
add eax, 4
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov edi, eax
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x100]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp edi, 1
jne 0x51a376a
push edi
push 2
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
lea ecx, [esp + 0x384]
mov edi, eax
call fcn.05065c40
mov byte [esp + 0x1c2c], 0x19
push 0x52c722a
lea ecx, [esp + 0x40c]
mov dword [esp + 0x408], 1
call dword [0x523a2ec]
lea ecx, [edi - 2]
push ecx
push 2
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x2b0]
mov dword [esp + 0x430], 0
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x1a
push eax
lea ecx, [esp + 0x388]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x138]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ebx, [edi + 1]
push ebx
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ebp, eax
sub eax, edi
dec eax
push eax
push ebx
lea ecx, [esp + 0x178]
push ecx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x1b
cmp dword [eax + 0x18], 0x10
jb 0x51a3500
mov eax, dword [eax + 4]
jmp 0x51a3503
add eax, 4
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov dword [esp + 0x3a0], eax
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x170]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea edi, [ebp + 1]
push edi
push 0x529080c
lea ecx, [esp + 0x2b0]
mov byte [esp + 0x3b0], 1
mov byte [esp + 0x3d0], 1
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ebx, eax
mov edx, ebx
sub edx, ebp
dec edx
push edx
push edi
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x1c
push eax
lea ecx, [esp + 0x3cc]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x1a8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ebp, [ebx + 1]
push ebp
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edi, eax
mov ecx, edi
sub ecx, ebx
dec ecx
push ecx
push ebp
lea edx, [esp + 0x1e8]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x1d
cmp dword [eax + 0x18], 0x10
jb 0x51a35e3
mov eax, dword [eax + 4]
jmp 0x51a35e6
add eax, 4
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov byte [esp + 0x3e4], al
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x1e0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea eax, [edi + 1]
push eax
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [esp + 0x38]
sub eax, edi
sub eax, ecx
dec eax
push eax
lea ecx, [edi + ecx + 1]
push ecx
lea edx, [esp + 0x258]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x1e
push eax
lea eax, [esp + 0x36c]
push eax
lea ecx, [esp + 0x220]
push ecx
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov byte [esp + 0x1c2c], 0x1f
push eax
lea ecx, [esp + 0x3ac]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 0x1e
lea ecx, [esp + 0x218]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x250]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edi, dword [esp + 0x3ac]
mov ebx, 0x10
cmp dword [esp + 0x3c0], ebx
jae 0x51a36c6
lea edi, [esp + 0x3ac]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0x52ab1d4
push edi
push eax
lea ecx, [esp + 0x618]
call fcn.051af990
mov byte [esp + 0x1c2c], 0x20
lea ecx, [esp + 0x60c]
call fcn.051b0310
cmp dword [esp + 0x3a0], eax
jne 0x51a3e74
push 0x52c722a
lea ecx, [esp + 0x3ec]
mov byte [esp + 0x3e9], 0
call dword [0x523a2ec]
lea edx, [esp + 0x384]
push edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd49c
call fcn.051a1e70
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x60c]
call fcn.051afc30
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x384]
jmp 0x51a39d8
cmp edi, 2
jne 0x51a3fdb
push 1
push edi
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
lea ecx, [esp + 0x428]
mov ebx, eax
call fcn.05065c40
mov byte [esp + 0x1c2c], 0x22
lea eax, [ebx - 2]
push eax
push edi
lea ecx, [esp + 0x290]
push ecx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x23
push eax
lea ecx, [esp + 0x42c]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 0x22
lea ecx, [esp + 0x288]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 1
lea ebp, [ebx + 1]
push ebp
push 0x529080c
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov edi, eax
mov edx, edi
sub edx, ebx
dec edx
push edx
push ebp
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x24
cmp dword [eax + 0x18], 0x10
jb 0x51a382c
mov eax, dword [eax + 4]
jmp 0x51a382f
add eax, 4
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov dword [esp + 0x444], eax
mov byte [esp + 0x1c2c], 0x22
lea ecx, [esp + 0x1c4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x52c722a
lea ecx, [esp + 0x470]
mov byte [esp + 0x44c], 2
mov byte [esp + 0x46c], 0
call dword [0x523a2ec]
push 1
lea ecx, [edi + 1]
push ecx
push 0x529080c
lea ecx, [esp + 0x2b0]
mov byte [esp + 0x494], 0xff
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [esp + 0x38]
sub eax, edi
sub eax, ecx
dec eax
push eax
lea edx, [edi + ecx + 1]
push edx
lea eax, [esp + 0x274]
push eax
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x25
push eax
lea ecx, [esp + 0x36c]
push ecx
lea edx, [esp + 0x98]
push edx
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
mov byte [esp + 0x1c2c], 0x26
push eax
lea ecx, [esp + 0x450]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 0x25
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0x22
lea ecx, [esp + 0x26c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edi, dword [esp + 0x450]
mov ebx, 0x10
cmp dword [esp + 0x464], ebx
jae 0x51a3939
lea edi, [esp + 0x450]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0x52ab1d4
push edi
push eax
lea ecx, [esp + 0xea0]
call fcn.051af990
mov byte [esp + 0x1c2c], 0x27
lea ecx, [esp + 0xe94]
call fcn.051b0310
cmp dword [esp + 0x444], eax
jne 0x51a3f29
push 0x52c722a
lea ecx, [esp + 0x490]
mov byte [esp + 0x48d], 0
call dword [0x523a2ec]
lea eax, [esp + 0x428]
push eax
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd49c
call fcn.051a1e70
mov byte [esp + 0x1c2c], 0x22
lea ecx, [esp + 0xe94]
call fcn.051afc30
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x428]
call fcn.05065e40
mov ecx, dword [esp + 0x2b8]
dec ecx
push ecx
push 0
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x2b0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [esp + 0x1c2c], 0x2a
push eax
lea ecx, [esp + 0x2a8]
call dword [0x523a2b0]
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0xe4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x52c722a
push 1
push 0xb53
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x2b
cmp dword [esp + 0x2bc], 0x10
mov ebx, dword [esp + 0x2a8]
jae 0x51a3a64
lea ebx, [esp + 0x2a8]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 8]
push ebx
push ecx
push esi
push str.__2d_:_Line__2d_:__s
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
push 0x400
lea edx, [esp + 0x1824]
push 0
push edx
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x1830]
push 0x400
push ecx
call dword [sym.imp.MSVCR90.dll_fgets]
add esp, 0x18
test eax, eax
jne 0x51a2c70
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
lea ecx, [esp + 0x1c]
cmp ebx, ebp
je 0x51a40e5
push str._ERROR:
push 0xff
push 0xb5f
push str..MetaUtilityMETA_misc_utils.cpp
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x2c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push ebp
push esi
push str.__d_:_Error__backup_history_is_not_complete__d___d_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov byte [esp + 0x1c2c], 6
lea ecx, [esp + 0x368]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 4
lea ecx, [esp + 0x2a4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 2
lea ecx, [esp + 0x2f8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, 0xfffffff4
jmp 0x51a41b7
push str._ERROR:
push 0xff
push 0xa75
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0xa
mov ebx, dword [esp + 0x2e0]
cmp dword [esp + 0x2f4], ebp
jae 0x51a3c0f
lea ebx, [esp + 0x2e0]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
lea edx, [esp + 0x1720]
push edx
push esi
push str.__d_:_Error__Cannot_find__s_folder_in_user_choosed_path__s_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 9
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffffc
mov byte [esp + 0x1c2c], 8
lea ecx, [esp + 0x2dc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x2c0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xa7e
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebx, eax
mov byte [esp + 0x1c2c], 0xc
mov edi, dword [esp + 0x2c4]
cmp dword [esp + 0x2d8], ebp
jae 0x51a3cb9
lea edi, [esp + 0x2c4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
lea ecx, [esp + 0x1720]
push ecx
push esi
push str.__d_:_Error__Cannot_find__s_folder_in_backup_file_path__s_
push eax
push ebx
jmp 0x51a3c2e
push str._ERROR:
push 0xff
push 0xa89
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x1c2c], 0xf
mov ebx, dword [esp + 0x2e0]
mov eax, 0x10
cmp dword [esp + 0x2f4], eax
jae 0x51a3d20
lea ebx, [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
cmp dword [esp + 0x2d8], eax
jae 0x51a3d37
lea edi, [esp + 0x2c4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d_:_Error__Original_backup_folder__s__is_not_the_same_as_user_said___s___so_can_not_restore_it_
push eax
push ebp
jmp 0x51a3c2e
push str._ERROR:
push 0xff
push 0xa9f
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x11
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d_:_Error__the_1st_line_format_is_invalid_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffffb
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xaad
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x12
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d_:_Error__can_not_find_com_port_settings_in_the_2nd_line_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffffa
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xac7
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x14
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d_:_Error__IMEI_DATA_format_is_wrong_in_3rd_line_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffff9
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xb15
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x1c2c], 0x21
cmp dword [esp + 0x3c0], ebx
mov ebx, dword [esp + 0x3ac]
jae 0x51a3eb2
lea ebx, [esp + 0x3ac]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edi, dword [eax + 8]
push ebx
lea ecx, [esp + 0x610]
call fcn.051b0310
mov edx, dword [esp + 0x3a4]
push eax
push edx
push esi
push str.__d_:_Error__File_Size_is_not_really_matched__d___d_:__s
push edi
push ebp
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0x1c2c], 0x20
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffff7
mov byte [esp + 0x1c2c], 0x19
lea ecx, [esp + 0x60c]
call fcn.051afc30
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x384]
call fcn.05065e40
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xb38
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x1c2c], 0x28
cmp dword [esp + 0x464], ebx
mov ebx, dword [esp + 0x450]
jae 0x51a3f67
lea ebx, [esp + 0x450]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edi, dword [eax + 8]
push ebx
lea ecx, [esp + 0xe98]
call fcn.051b0310
push eax
mov eax, dword [esp + 0x44c]
push eax
push esi
push str.__d_:_Error__File_Size_is_not_really_matched__d___d_:__s
push edi
push ebp
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0x1c2c], 0x27
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffff6
mov byte [esp + 0x1c2c], 0x22
lea ecx, [esp + 0xe94]
call fcn.051afc30
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x428]
call fcn.05065e40
jmp 0x51a404f
push str._ERROR:
push 0xff
push 0xb47
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x2c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x1c2c], 0x29
cmp dword [esp + 0x2bc], ebx
mov ebx, dword [esp + 0x2a8]
jae 0x51a4019
lea ebx, [esp + 0x2a8]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d_:_Error__File_Type_is_not_recognized__d___Line__s_
push eax
push ebp
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov esi, 0xfffffff5
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
mov byte [esp + 0x1c2c], 6
lea ecx, [esp + 0x368]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 4
lea ecx, [esp + 0x2a4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 2
lea ecx, [esp + 0x2f8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, esi
jmp 0x51a41b7
push 0x52c722a
push 1
push 0xb67
push str..MetaUtilityMETA_misc_utils.cpp
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x1c2c], 0x2d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d_:_OK_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [esp + 0x1c2c], 7
lea ecx, [esp + 0x1c]
call fcn.051ae2c0
mov byte [esp + 0x1c2c], 6
lea ecx, [esp + 0x368]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 4
lea ecx, [esp + 0x2a4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 2
lea ecx, [esp + 0x2f8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 1
lea ecx, [esp + 0x314]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0x1c2c], 0
lea ecx, [esp + 0x34c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [esp + 0x1c2c], 0xffffffff
lea ecx, [esp + 0x330]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor eax, eax
mov ecx, dword [esp + 0x1c24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c0c]
xor ecx, esp
call fcn.0520b902
add esp, 0x1c1c
ret