Function at 0x1000a270
Capabilities:
Check if file exists
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x10017b0a
mov eax, dword fs:[0]
push eax
sub esp, 0x8d8
mov eax, dword [0x100220e0]
xor eax, esp
mov dword [esp + 0x8d0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100220e0]
xor eax, esp
push eax
lea eax, [esp + 0x8ec]
mov dword fs:[0], eax
push str.Enter_
push 0xe3
xor ebx, ebx
push 4
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
mov dword [esp + 0x900], ebx
call fcn.10001780
add esp, 0xc
push 0x1001a308
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x1001a308
lea ecx, [esp + 0x20]
mov byte [esp + 0x8f8], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x1001a308
lea ecx, [esp + 0x3c]
mov byte [esp + 0x8f8], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x1001a308
lea ecx, [esp + 0x74]
mov byte [esp + 0x8f8], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x206
lea ecx, [esp + 0x4da]
xor eax, eax
push ebx
mov byte [esp + 0x8fc], 4
push ecx
mov word [esp + 0x4e0], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x206
lea eax, [esp + 0xca]
xor edx, edx
push ebx
push eax
mov word [esp + 0xd0], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x206
lea edx, [esp + 0x6e2]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x6e8], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x206
lea ecx, [esp + 0x2d2]
xor eax, eax
push ebx
push ecx
mov word [esp + 0x2d8], ax
call sub.MSVCR90.dll_memset
mov eax, dword [0x10022700]
add esp, 0xc
push 0x104
lea edx, [esp + 0x4d8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x1001a558
lea ecx, [esp + 0x4d8]
push ecx
lea edx, [esp + 0x6e4]
push edx
call esi
push str.Plugins
lea eax, [esp + 0x6e0]
push eax
lea ecx, [esp + 0x2d4]
push ecx
call esi
lea edx, [esp + 0x2cc]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1000a442
lea eax, [esp + 0x2cc]
push eax
push str._s_is_not_exists
push 0xf8
push 3
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
add esp, 0x10
push ebx
lea ecx, [esp + 0x2d0]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea edx, [esp + 0x924]
push edx
lea ecx, [esp + 0x58]
call dword [0x1001822c]
lea eax, [esp + 0x940]
push eax
lea ecx, [esp + 0x20]
call dword [0x1001822c]
lea ecx, [esp + 0x95c]
push ecx
lea ecx, [esp + 0x3c]
call dword [0x1001822c]
lea edx, [esp + 0x994]
push edx
lea ecx, [esp + 0x74]
call dword [0x1001822c]
mov eax, dword [esp + 0x904]
mov ebp, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x6c], ebp
jae 0x1000a4a8
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x2d0]
push ecx
lea edx, [esp + 0xcc]
push edx
call esi
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x50], ebp
jae 0x1000a4c9
lea esi, [esp + 0x3c]
lea ecx, [esp + 0xc4]
call fcn.10009aa0
test eax, eax
jne 0x1000a67e
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x50], ebp
jae 0x1000a4eb
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xc8]
push eax
push str._s_is_need_to_download__fileVer:_s
push 0x108
push 3
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
mov ecx, dword [esp + 0x34]
add esp, 0x14
cmp dword [esp + 0x34], ebp
jae 0x1000a520
lea ecx, [esp + 0x20]
push 0x186a0
lea edx, [esp + 0xc8]
call fcn.100076c0
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x1000a5f6
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x34], ebp
jae 0x1000a54c
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xc8]
push ecx
push str._s_download_fail__url:_s
push 0x10c
push 2
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
mov esi, dword [esp + 0x34]
add esp, 0x14
cmp dword [esp + 0x34], ebp
jae 0x1000a581
lea esi, [esp + 0x20]
call fcn.10008320
push esi
lea edx, [esp + 0x90]
push str.value1_s
push edx
mov ebx, 0x1001b394
call fcn.10008700
add esp, 0xc
mov bl, 5
mov byte [esp + 0x8f4], bl
cmp dword [esp + 0xa0], 0
je 0x1000a5ea
sub esp, 0x1c
lea eax, [esp + 0xa8]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ecx
mov byte [esp + 0x914], 6
call fcn.10008320
add esp, 4
mov esi, eax
mov byte [esp + 0x910], bl
call fcn.100083c0
lea ecx, [esp + 0x8c]
jmp 0x1000a746
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x50], ebp
jae 0x1000a604
lea esi, [esp + 0x3c]
lea ecx, [esp + 0xc4]
call fcn.10009aa0
mov edi, eax
cmp edi, ebx
jne 0x1000a67e
lea ecx, [esp + 0xc4]
push ecx
push str._s_is_need_to_download
push 0x11a
push 2
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
add esp, 0x10
lea ecx, [esp + 0x70]
mov byte [esp + 0x8f4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x8f4], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8f4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [esp + 0x8f4], bl
jmp 0x1000a792
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x88], ebp
jae 0x1000a68f
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0xc8]
call fcn.1000a800
mov edi, eax
test edi, edi
jne 0x1000a6c7
mov edx, ebx
push edx
push str.LoadModule_fail__szFilePath:_s
push 0x123
push 2
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
add esp, 0x10
mov esi, dword [esp + 0x58]
cmp dword [esp + 0x6c], ebp
jae 0x1000a6d5
lea esi, [esp + 0x58]
call fcn.10008320
push esi
push edi
lea eax, [esp + 0xb0]
push str.value1_dvalue2_s
push eax
mov ebx, 0x1001b438
call fcn.10008700
add esp, 0x10
mov bl, 7
mov byte [esp + 0x8f4], bl
cmp dword [esp + 0xbc], 0
je 0x1000a73f
sub esp, 0x1c
lea edx, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ecx
mov byte [esp + 0x914], 8
call fcn.10008320
add esp, 4
mov esi, eax
mov byte [esp + 0x910], bl
call fcn.100083c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x8f4], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x70]
mov byte [esp + 0x8f4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x8f4], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8f4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov byte [esp + 0x8f4], 0
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push str.Leave_
push 0x12f
push 4
mov edx, str.CLoadModule::DownloadModule
mov ecx, str..LoadModule.cpp
call fcn.10001780
add esp, 0xc
lea eax, [esp + 0x8fc]
push eax
mov dword [esp + 0x8f8], 0xffffffff
call fcn.10003a30
mov eax, edi
mov ecx, dword [esp + 0x8ec]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8d0]
xor ecx, esp
call fcn.10015494
add esp, 0x8e4
ret 0xb4