Function at 0x462960
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push 0x554
mov eax, 0x47a893
call fcn.0046e476
mov edi, ecx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
call sub.common.dll_public:_static_class_ierd_tgp::common::Application____cdecl_ierd_tgp::common::Application::instance_void_
lea eax, [ebp - 0x4f8]
push eax
call sub.common.dll_public:_static_class_ierd_tgp::filesystem::path___cdecl_ierd_tgp::common::Application::get_workingdir_path_ex_void_
add esp, 0x10
and dword [ebp - 4], 0
lea ecx, [ebp - 0x4f8]
push str.cfg_data.ini
call sub.common.dll_public:_class_ierd_tgp::filesystem::path____thiscall_ierd_tgp::filesystem::path::operator__wchar_t_const__
cmp dword [ebp - 0x4e4], 8
lea eax, [ebp - 0x4f8]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebx, str.qblink_path
cmovae eax, dword [ebp - 0x4f8]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x4819bc
push str.platform_dir
push ebx
call esi
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4f8]
cmp dword [ebp - 0x4e4], 8
cmovae eax, dword [ebp - 0x4f8]
push eax
push 0x104
lea eax, [ebp - 0x420]
push eax
push 0x4819bc
push str.plugin_dir
push ebx
call esi
xor ebx, ebx
push 0xf
pop eax
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x43c], eax
mov byte [ebp - 0x450], bl
mov byte [ebp - 4], 1
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], eax
mov byte [ebp - 0x468], bl
mov byte [ebp - 4], 2
xor eax, eax
mov word [ebp - 0x498], ax
lea ecx, [ebp - 0x498]
lea eax, [ebp - 0x218]
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x484], ebx
push eax
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x484], 7
call fcn.0040bf40
mov byte [ebp - 4], 3
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x498]
push eax
call sub.common.dll_bool___cdecl_ierd_tgp::common::u16to8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____
pop ecx
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x498]
call fcn.0040bbd0
xor eax, eax
mov dword [ebp - 0x428], ebx
mov word [ebp - 0x438], ax
lea ecx, [ebp - 0x438]
lea eax, [ebp - 0x420]
mov dword [ebp - 0x424], ebx
push eax
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x424], 7
call fcn.0040bf40
mov byte [ebp - 4], 4
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x438]
push eax
call sub.common.dll_bool___cdecl_ierd_tgp::common::u16to8_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____
pop ecx
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x438]
call fcn.0040bbd0
push str.QBBlink
lea ecx, [ebp - 0x450]
call fcn.0046729c
test al, al
jne 0x462b7f
lea eax, [ebp - 0x438]
mov ecx, edi
push eax
call fcn.0046176a
mov byte [ebp - 4], 5
cmp dword [ebp - 0x428], ebx
jbe 0x462b70
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x450]
call fcn.0043a750
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x438]
call fcn.00420c80
call sub.common.dll_class_base::ILogger____cdecl_base::get_log_instance_void_
mov esi, eax
test esi, esi
je 0x462c02
mov ecx, dword [esi]
push 5
mov edx, dword [ecx + 0x18]
mov ecx, esi
call edx
test al, al
je 0x462c02
push 0x48bbc7
push 0x5e6
push str.e:dailybuild_devwegame_clientcodesmain_tgp_daemon_src_tgp_daemon_main.cpp
push 5
push esi
lea ecx, [ebp - 0x55c]
call fcn.0043df1b
mov byte [ebp - 4], 6
lea edx, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
lea ecx, [ebp - 0x450]
cmovae edx, dword [ebp - 0x468]
cmp dword [ebp - 0x43c], 0x10
push edx
cmovae ecx, dword [ebp - 0x450]
push ecx
push str._QBlink_read_qblink_path__platform:__s___plugin:__s_
push ebx
push eax
call fcn.0043f4bb
add esp, 0x14
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x55c]
call fcn.0043e231
lea eax, [ebp - 0x468]
mov ecx, edi
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00464261
xor eax, eax
mov dword [ebp - 0x4d0], ebx
mov dword [ebp - 0x4cc], ebx
mov dword [ebp - 0x4d0], ebx
mov dword [ebp - 0x4cc], 7
mov word [ebp - 0x4e0], ax
mov byte [ebp - 4], 7
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x450]
push eax
call sub.common.dll_bool___cdecl_ierd_tgp::common::u8to16_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____
mov dword [ebp - 0x4b8], ebx
mov dword [ebp - 0x4b4], ebx
mov dword [ebp - 0x4b8], ebx
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], bl
mov byte [ebp - 4], 8
lea eax, [ebp - 0x498]
push eax
call fcn.00461579
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4b0]
push eax
mov dword [ebp - 0x4a0], ebx
mov dword [ebp - 0x49c], ebx
call fcn.0040d190
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x498]
call fcn.0040bbd0
lea eax, [ebp - 0x4e0]
mov dword [ebp - 0x428], ebx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], ebx
call fcn.0040d190
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x4b0]
call sub.common.dll_public:_class_ierd_tgp::filesystem::path____thiscall_ierd_tgp::filesystem::path::operator__class_ierd_tgp::filesystem::path_const__
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x438]
call fcn.0040bbd0
push 0x481a58
lea ecx, [ebp - 0x4b0]
call sub.common.dll_public:_class_ierd_tgp::filesystem::path____thiscall_ierd_tgp::filesystem::path::operator__wchar_t_const__
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x462d61
push str.qbclient.dll
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.004515c5
add esp, 0xc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4c8]
push eax
call fcn.004460a1
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x438]
call fcn.00420c80
jmp 0x462d73
push 0x14
push str.QBBlinkqbclient.dll
lea ecx, [ebp - 0x4c8]
call fcn.00420e50
push str.c:wgdebug.txt
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x462d90
lea eax, [ebp - 0x4e0]
mov ecx, edi
push eax
call fcn.0045f9d2
call sub.common.dll_public:_static_class_ierd_tgp::common::Application____cdecl_ierd_tgp::common::Application::instance_void_
sub esp, 0x18
lea eax, [ebp - 0x4c8]
mov ecx, esp
mov dword [ebp - 0x560], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00436180
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x510]
push eax
mov byte [ebp - 4], 0xc
call sub.common.dll_public:_static_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_ierd_tgp::common::Application::get_app_sub_path_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov byte [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], 7
mov word [ebp - 0x480], ax
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x510]
push eax
call sub.common.dll_bool___cdecl_ierd_tgp::common::u8to16_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____
add esp, 0x24
lea eax, [ebp - 0x480]
cmp dword [ebp - 0x46c], 8
cmovae eax, dword [ebp - 0x480]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x462e95
push str.Prefetch
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x462e95
push 1
call eax
call sub.common.dll_class_base::ILogger____cdecl_base::get_log_instance_void_
mov esi, eax
test esi, esi
je 0x462e95
mov ecx, dword [esi]
push 1
mov edx, dword [ecx + 0x18]
mov ecx, esi
call edx
test al, al
je 0x462e95
push 0x48bbc7
push 0x602
push str.e:dailybuild_devwegame_clientcodesmain_tgp_daemon_src_tgp_daemon_main.cpp
push 1
push esi
lea ecx, [ebp - 0x55c]
call fcn.0043df1b
mov byte [ebp - 4], 0x16
push str._main_PrefetchQblink
push ebx
push eax
call fcn.0043f4bb
add esp, 0xc
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x55c]
call fcn.0043e231
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x480]
call fcn.0040bbd0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x510]
call fcn.00420c80
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4b0]
call fcn.0040bbd0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4c8]
call fcn.00420c80
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4e0]
call fcn.0040bbd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.00420c80
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x450]
call fcn.00420c80
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4f8]
call fcn.0040bbd0
call fcn.0046e420
ret