Function at 0x405bc0
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
lea ebp, [esp - 0x280]
sub esp, 0x280
push 0xffffffffffffffff
push 0x40903a
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x40e018]
xor eax, ebp
mov dword [ebp + 0x27c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov edi, dword [ebp + 0x288]
call esi
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x405c1d
fadd dword [0x40af50]
fstp dword [ebp - 0x54]
xor ebx, ebx
fld dword [0x40af54]
push 4
fstp dword [ebp - 0x24]
mov byte [ebp - 0x2c], bl
mov byte [ebp - 0x30], bl
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebx
je 0x405c49
lea ecx, [ebp - 0x84]
mov dword [eax], ecx
jmp 0x405c4b
xor eax, eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
push 4
mov dword [ebp - 4], 1
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebx
je 0x405c76
lea edx, [ebp - 0x6c]
mov dword [eax], edx
jmp 0x405c78
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
push 4
mov byte [ebp - 4], 3
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebx
je 0x405c9d
lea ecx, [ebp - 0x50]
mov dword [eax], ecx
jmp 0x405c9f
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
lea edx, [ebp - 0x168]
push edx
mov byte [ebp - 4], 5
call fcn.004023f0
mov byte [ebp - 4], 6
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x11], 0
call fcn.00405b40
mov byte [0x40e5a8], al
call esi
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x405ce3
fadd dword [0x40af50]
lea ecx, [ebp + 0x1c]
fstp dword [0x40e5a4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 0x103
lea eax, [ebp + 0x70]
push eax
push edi
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp + 0x70]
push ecx
lea ecx, [ebp + 0x1c]
call dword [0x40a0a4]
cmp dword [ebp + 0x30], ebx
jbe 0x405d75
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 eax, dword [edx]
push 1
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 0x28], 0x5c
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]
cmp eax, ebx
jle 0x405d75
push eax
push ebx
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x1c]
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_]
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 8
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [ebp]
mov byte [ebp - 4], 7
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 dword [ebp + 0x34], 0x10
mov eax, dword [ebp + 0x20]
jae 0x405d6e
lea eax, [ebp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 1
push 0x40
push 2
push str.LoadingOptimize.log
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_char_const___int__int_]
mov byte [ebp - 4], 9
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
lea eax, [ebp - 0x120]
push str.Begin_preload
push eax
call fcn.00407af0
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ebx
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCR90.dll__time64]
push eax
call dword [sym.imp.MSVCR90.dll_srand]
add esp, 8
lea edi, [ebp - 0x168]
call fcn.004024a0
test al, al
je 0x406632
mov ecx, str.Config
mov eax, edi
call fcn.00401da0
mov esi, eax
cmp esi, ebx
je 0x405f49
mov ecx, str.TimeLimit
call fcn.00401da0
cmp eax, ebx
je 0x405e32
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x405e19
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x405e19
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405e1b
xor eax, eax
mov edi, dword [sym.imp.MSVCR90.dll_atoi]
push eax
call edi
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x24]
add esp, 4
fstp dword [ebp - 0x24]
jmp 0x405e38
mov edi, dword [sym.imp.MSVCR90.dll_atoi]
mov ecx, str.CacheFullFile
mov eax, esi
call fcn.00401da0
cmp eax, ebx
je 0x405e72
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x405e62
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x405e62
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405e64
xor eax, eax
push eax
call edi
add esp, 4
test eax, eax
setne cl
mov byte [ebp - 0x2c], cl
mov ecx, str.StackRead
mov eax, esi
call fcn.00401da0
cmp eax, ebx
je 0x405eac
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x405e9c
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x405e9c
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405e9e
xor eax, eax
push eax
call edi
add esp, 4
test eax, eax
setne cl
mov byte [ebp - 0x30], cl
mov ecx, str.APIRead
mov eax, esi
call fcn.00401da0
cmp eax, ebx
je 0x405ee9
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x405ed6
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x405ed6
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405ed8
xor eax, eax
push eax
call edi
add esp, 4
test eax, eax
setne cl
mov byte [0x40e12d], cl
mov ecx, str.RandRead
mov eax, esi
call fcn.00401da0
cmp eax, ebx
je 0x405f26
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x405f13
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x405f13
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405f15
xor eax, eax
push eax
call edi
add esp, 4
test eax, eax
setne cl
mov byte [0x40e12c], cl
lea edx, [ebp - 0x120]
push str.Finish_loading_config
push edx
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.00405b40
mov byte [ebp - 0x11], al
test al, al
jne 0x406636
lea ecx, [ebp + 0x54]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push str.FileSet
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0xb
call dword [0x40a0a4]
cmp byte [0x40e5a8], 0
je 0x405f8b
push str.MapLoadFileSet
lea ecx, [ebp + 0x54]
call dword [0x40a0a4]
cmp dword [ebp + 0x6c], 0x10
mov ecx, dword [ebp + 0x58]
jae 0x405f97
lea ecx, [ebp + 0x58]
lea eax, [ebp - 0x168]
call fcn.00401da0
cmp eax, ebx
je 0x406089
call fcn.00401410
mov esi, dword [ebp - 0x2c]
mov edi, eax
mov bl, 0xc
test edi, edi
je 0x406066
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x405fd8
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
test eax, eax
je 0x405fd8
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x405fda
xor eax, eax
push eax
lea ecx, [ebp + 0x38]
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 [ebp - 4], bl
cmp dword [ebp + 0x4c], 0
je 0x406007
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x50]
push ecx
push edx
push esi
lea edx, [ebp - 0x84]
lea ecx, [ebp + 0x38]
call fcn.004055e0
add esp, 0xc
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x40601d
fadd dword [0x40af50]
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
fsub dword [ebp - 0x54]
fld dword [ebp - 0x24]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x406059
call fcn.00405b40
mov byte [ebp - 0x11], al
test al, al
jne 0x406059
mov eax, edi
call fcn.004013e0
lea ecx, [ebp + 0x38]
mov edi, eax
mov byte [ebp - 4], 0xb
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 0x405fb6
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0xb
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, [ebp - 0x120]
push str.Finish_loading_FileSet
push eax
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp + 0x54]
xor esi, esi
mov byte [ebp - 4], 0xa
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 [ebp - 0x11], 0
jne 0x406636
mov ecx, str.FileFolder
lea eax, [ebp - 0x168]
call fcn.00401da0
cmp eax, esi
je 0x4062c1
mov edi, dword [eax + 0x18]
lea ecx, [ecx]
cmp edi, esi
je 0x4060e1
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, esi
je 0x4060dc
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
jmp 0x4060e3
mov edi, dword [edi + 0x28]
jmp 0x4060c0
xor eax, eax
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, eax
mov dword [ebp - 0x24], edi
mov edi, edi
cmp edi, esi
je 0x406292
mov ecx, dword [edi + 0x18]
cmp ecx, esi
je 0x406112
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, esi
je 0x406112
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x406114
xor eax, eax
push eax
lea ecx, [ebp + 0x38]
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 [ebp - 4], 0xd
cmp dword [ebp + 0x4c], esi
je 0x40627b
push 4
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, esi
je 0x406140
lea ecx, [ebp + 0x58]
mov dword [eax], ecx
jmp 0x406142
xor eax, eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x6c], esi
lea edx, [ebp + 0x58]
push edx
sub esp, 0x1c
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
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__]
call fcn.004053c0
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x68]
add esp, 0x20
mov edi, ecx
cmp ecx, eax
jbe 0x406184
call ebx
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
mov esi, dword [ebp + 0x58]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jbe 0x406190
call ebx
mov ecx, dword [ebp + 0x58]
mov dword [ebp - 0x38], ecx
test esi, esi
je 0x40619f
cmp esi, dword [ebp - 0x38]
je 0x4061a1
call ebx
cmp edi, dword [ebp - 0x20]
je 0x406269
test esi, esi
jne 0x40631e
call ebx
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4061bd
call ebx
push edi
lea ecx, [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 eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x50]
push edx
push eax
push ecx
lea edx, [ebp - 0x84]
lea ecx, [ebp]
mov byte [ebp - 4], 0x10
call fcn.004055e0
add esp, 0xc
cmp byte [0x40e5a8], 0
jne 0x406325
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x40620b
fadd dword [0x40af50]
fsub dword [0x40e5a4]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fcomp qword [0x40af48]
fnstsw ax
test ah, 5
jnp 0x406325
call fcn.00405a80
mov bl, al
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x406245
fadd dword [0x40af50]
fstp dword [0x40e5a4]
mov byte [ebp - 0x11], bl
test bl, bl
je 0x406329
lea ecx, [ebp]
mov byte [ebp - 4], 0xf
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 ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
lea edx, [ebp + 0x58]
push edx
mov byte [ebp - 4], 0xd
call fcn.00406dc0
mov edi, dword [ebp - 0x24]
xor esi, esi
cmp byte [ebp - 0x11], 0
je 0x40635f
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0xa
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, [ebp - 0x120]
push str.Finish_loading_FileFolder
push eax
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp byte [ebp - 0x11], 0
jne 0x406636
xor esi, esi
mov ecx, str.CacheFolder
lea eax, [ebp - 0x168]
call fcn.00401da0
mov edi, eax
cmp edi, esi
je 0x406492
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x4062f1
fadd dword [0x40af50]
mov edi, dword [edi + 0x18]
fstp dword [ebp - 0x18]
test edi, edi
je 0x40639f
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x406397
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
jmp 0x4063a1
mov eax, dword [esi]
jmp 0x4061b6
mov byte [ebp - 0x11], 0
lea ecx, [ebp]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test esi, esi
jne 0x40635b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x40634d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add edi, 0x1c
jmp 0x406196
mov eax, dword [esi]
jmp 0x406342
mov edi, dword [edi + 0x28]
cmp edi, esi
je 0x40637e
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
cmp eax, esi
je 0x40635f
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
jmp 0x406380
xor eax, eax
lea ecx, [ebp + 0x38]
mov edi, eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xa
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 0x4060f0
mov edi, dword [edi + 0x28]
jmp 0x4062f7
xor eax, eax
mov edi, eax
mov bl, 0x13
xor esi, esi
cmp edi, esi
je 0x406446
mov ecx, dword [edi + 0x18]
cmp ecx, esi
je 0x4063c9
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, esi
je 0x4063c9
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x4063cb
xor eax, eax
push eax
lea ecx, [ebp + 0x38]
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 [ebp - 4], 0x11
cmp dword [ebp + 0x4c], esi
je 0x40642f
push 4
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, esi
je 0x4063f3
lea ecx, [ebp + 0x58]
mov dword [eax], ecx
jmp 0x4063f5
xor eax, eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x6c], esi
lea edx, [ebp + 0x58]
push edx
sub esp, 0x1c
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
mov byte [ebp - 4], bl
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__]
call fcn.004053c0
add esp, 0x20
lea ecx, [ebp + 0x58]
push ecx
mov byte [ebp - 4], 0x11
call fcn.00406dc0
cmp byte [ebp - 0x11], 0
je 0x4064e4
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
test eax, eax
jge 0x40645c
fadd dword [0x40af50]
fsub dword [ebp - 0x18]
lea ecx, [ebp - 0x120]
push str.Finish_loading_CacheFolder
push ecx
fstp dword [0x40e59c]
call fcn.00407af0
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp byte [ebp - 0x11], 0
jne 0x406636
mov ecx, str.DLLSet
lea eax, [ebp - 0x168]
call fcn.00401da0
mov edi, eax
test edi, edi
je 0x406636
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x4064c2
fadd dword [0x40af50]
mov edi, dword [edi + 0x18]
fstp dword [ebp - 0x20]
test edi, edi
je 0x406530
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
je 0x40652b
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
jmp 0x406532
mov edi, dword [edi + 0x28]
cmp edi, esi
je 0x406515
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, esi
je 0x4064e4
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
lea ecx, [ebp + 0x38]
mov edi, eax
mov byte [ebp - 4], 0xa
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 0x4063a7
xor eax, eax
lea ecx, [ebp + 0x38]
mov edi, eax
mov byte [ebp - 4], 0xa
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 0x4063a7
mov edi, dword [edi + 0x28]
jmp 0x4064c8
xor eax, eax
mov esi, eax
test esi, esi
je 0x4065ee
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x406556
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
test eax, eax
je 0x406556
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x406558
xor eax, eax
push eax
lea ecx, [ebp + 0x54]
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 [ebp - 4], 0x14
cmp dword [ebp + 0x68], 0
je 0x4065a2
cmp dword [ebp + 0x6c], 0x10
mov eax, dword [ebp + 0x58]
jae 0x406578
lea eax, [ebp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x406593
lea ebx, [ebp - 0x18]
lea edi, [ebp - 0x6c]
call fcn.00407020
jmp 0x4065a2
lea eax, [ebp + 0x54]
push eax
lea ebx, [ebp - 0x84]
call fcn.00406e50
mov edi, dword [esi + 0x28]
test edi, edi
je 0x4065d8
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
je 0x4065d3
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
lea ecx, [ebp + 0x54]
mov esi, eax
mov byte [ebp - 4], 0xa
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 0x406534
mov edi, dword [edi + 0x28]
jmp 0x4065a5
xor eax, eax
lea ecx, [ebp + 0x54]
mov esi, eax
mov byte [ebp - 4], 0xa
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 0x406534
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x406604
fadd dword [0x40af50]
fsub dword [ebp - 0x20]
lea ecx, [ebp - 0x120]
push str.Finish_loading_dll_set
push ecx
fstp dword [0x40e5a0]
call fcn.00407af0
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp 0x406636
mov byte [ebp - 0x19], 0
lea eax, [ebp - 0x120]
push str.End_preload
push eax
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.Analysis
push eax
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ecx, [ebp - 0x120]
push str.Executed_time_is
push ecx
call fcn.00407af0
mov edx, dword [ebp - 0x98]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ad9c
push eax
call fcn.00407af0
mov ecx, dword [ebp - 0x96]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ad9c
push eax
call fcn.00407af0
mov edx, dword [ebp - 0x92]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ada0
push eax
call fcn.00407af0
mov ecx, dword [ebp - 0x90]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ad9c
push eax
call fcn.00407af0
mov edx, dword [ebp - 0x8e]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ad9c
push eax
call fcn.00407af0
mov ecx, dword [ebp - 0x8c]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.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_]
push 0x40ad9c
push eax
call fcn.00407af0
mov edx, dword [ebp - 0x8a]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.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 ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edx, [ebp + 0x174]
push edx
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x120]
push str.Working_Directory_is
push eax
call fcn.00407af0
add esp, 8
lea ecx, [ebp + 0x174]
push ecx
push eax
call fcn.00407af0
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp byte [ebp - 0x19], 0
jne 0x4067ff
lea eax, [ebp - 0x120]
push str.Cant_load_config_file_LoadingOptimize.config
push eax
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp byte [ebp - 0x11], 0
je 0x406828
lea edx, [ebp - 0x120]
push str.Preload_file_break_out_because_of_finding_TGame_process
push edx
call fcn.00407af0
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
test eax, eax
jge 0x40683e
fadd dword [0x40af50]
fsub dword [ebp - 0x54]
lea edx, [ebp - 0x120]
push str.Cost_time_is
push edx
fstp dword [ebp - 0x18]
call fcn.00407af0
fld dword [ebp - 0x18]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
fstp dword [esp]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x120]
push str.Cache_full_file
push ecx
call fcn.00407af0
mov edx, dword [ebp - 0x2c]
add esp, 8
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___bool_]
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x120]
push str.Stack_Read
push ecx
call fcn.00407af0
mov edx, dword [ebp - 0x30]
add esp, 8
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___bool_]
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x120]
push str.ReadFileTime
push ecx
call fcn.00407af0
fld dword [0x40e598]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
fstp dword [esp]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x120]
push str.Malloc_Time
push eax
call fcn.00407af0
fld dword [0x40e594]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
fstp dword [esp]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edx, [ebp - 0x120]
push str.API_Read
push edx
call fcn.00407af0
movzx eax, byte [0x40e12d]
add esp, 8
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___bool_]
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edx, [ebp - 0x120]
push str.Rand_Read
push edx
call fcn.00407af0
movzx eax, byte [0x40e12c]
add esp, 8
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___bool_]
mov ecx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edx, [ebp - 0x120]
push str.Cache_folder_time
push edx
call fcn.00407af0
fld dword [0x40e59c]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
fstp dword [esp]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov eax, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x120]
push str.Load_dll_time
push ecx
call fcn.00407af0
fld dword [0x40e5a0]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
fstp dword [esp]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x120]
push str.g_bMapLoadOpt_is
push eax
call fcn.00407af0
movzx ecx, byte [0x40e5a8]
add esp, 8
push ecx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___bool_]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x78]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x406b64
lea ecx, [ebp - 0x120]
push str.Failed_to_read_file_list
push ecx
call fcn.00407af0
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, ecx
cmp ecx, eax
jbe 0x406aed
call esi
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x84]
mov dword [ebp - 0x18], eax
cmp ecx, eax
jbe 0x406afc
call esi
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x38], eax
test edi, edi
je 0x406b0e
cmp edi, dword [ebp - 0x38]
je 0x406b10
call esi
cmp ebx, dword [ebp - 0x18]
je 0x406b64
test edi, edi
jne 0x406b5c
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406b24
call esi
lea ecx, [ebp - 0x120]
push ebx
push ecx
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_ostream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov edx, dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
test edi, edi
jne 0x406b60
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406b57
call esi
add ebx, 0x1c
jmp 0x406b05
mov eax, dword [edi]
jmp 0x406b1d
mov eax, dword [edi]
jmp 0x406b50
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::flush_void_]
lea ecx, [ebp - 0x120]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov edx, eax
sub edx, ecx
test edx, 0xfffffffc
je 0x406c0e
mov ebx, ecx
cmp ecx, eax
jbe 0x406ba4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov esi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
cmp ecx, eax
jbe 0x406bb6
call esi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x38], eax
lea esp, [esp]
test edi, edi
je 0x406bc9
cmp edi, dword [ebp - 0x38]
je 0x406bcb
call esi
cmp ebx, dword [ebp - 0x18]
je 0x406c06
test edi, edi
jne 0x406bfe
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406bdf
call esi
mov ecx, dword [ebx]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
test edi, edi
jne 0x406c02
call esi
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406bf9
call esi
add ebx, 4
jmp 0x406bc0
mov eax, dword [edi]
jmp 0x406bd8
mov eax, dword [edi]
jmp 0x406bf2
lea eax, [ebp - 0x50]
call fcn.00406f60
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov edx, eax
sub edx, ecx
test edx, 0xfffffffc
je 0x406ca6
mov ebx, ecx
cmp ecx, eax
jbe 0x406c36
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x18], eax
cmp ecx, eax
jbe 0x406c46
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x6c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x38], eax
test edi, edi
je 0x406c5b
cmp edi, dword [ebp - 0x38]
je 0x406c61
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [ebp - 0x18]
je 0x406ca6
test edi, edi
jne 0x406c9e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406c7d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx]
push ecx
call esi
test edi, edi
jne 0x406ca2
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x406c99
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add ebx, 4
jmp 0x406c52
mov eax, dword [edi]
jmp 0x406c72
mov eax, dword [edi]
jmp 0x406c8e
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x120]
xor esi, esi
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 6
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 [ebp - method.TiXmlDocument.virtual_0], vtable.TiXmlDocument.0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x134]
cmp eax, 0x40e588
je 0x406cf0
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 5
call fcn.00401bf0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x44]
cmp eax, esi
je 0x406d13
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x50]
push edx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x60]
cmp eax, esi
je 0x406d40
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x6c]
push eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x84]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.00406dc0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x27c]
xor ecx, ebp
call fcn.00407ec8
add ebp, 0x280
mov esp, ebp
pop ebp
ret 0x10