Function at 0x417b30
Capabilities:
Access peb ldr_data
Create directory
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x42f7a5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_3
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x25]
mov byte [esp + 0x24], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 1
lea eax, [esp + 0x28]
push 0x1a
push eax
push 0
mov dword [esp + 0x140], 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
push str.Tencent
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 1
call fcn.0042bae0
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll__mkdir]
push edx
call edi
add esp, 4
lea ecx, [esp + 0x10]
push str.QQGame
call fcn.0042bae0
mov eax, dword [esp + 0x10]
push eax
call edi
add esp, 4
lea ecx, [esp + 0x10]
push str.Dig
call fcn.0042bae0
mov ecx, dword [esp + 0x10]
push ecx
call edi
add esp, 4
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esi + 0xc4]
lea edi, [esi + 0xc4]
mov ecx, edi
mov byte [esp + 0x130], 2
call dword [edx + 4]
push eax
lea eax, [esp + 0x24]
push str._u_setting.ini
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [edi]
mov bl, 3
push str.gamecomm.ini
mov ecx, edi
mov byte [esp + 0x134], bl
call dword [edx + 4]
push eax
lea eax, [esp + 0x2c]
push str.TencentQQGameUsers_
push eax
push str._s_s_u_s
lea ecx, [esp + 0x30]
push ecx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x18
lea ecx, [esp + 0xc]
push str.bAllowWatch
call sub.MFC42.DLL_CString::operator_1
mov al, byte [esi + 0x1179]
push ecx
test al, al
mov ecx, esp
je 0x417ca8
lea edx, [esp + 0x14]
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push 1
push ecx
mov byte [esp + 0x13c], 4
mov ecx, esp
mov dword [esp + 0x20], esp
jmp 0x417cc7
lea edx, [esp + 0x14]
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push 0
push ecx
mov byte [esp + 0x13c], 5
mov ecx, esp
mov dword [esp + 0x24], esp
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.004174f0
push str.bSoundOn
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
mov al, byte [esi + 0x1178]
push ecx
test al, al
mov ecx, esp
je 0x417d1b
lea edx, [esp + 0x14]
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push 1
push ecx
mov byte [esp + 0x13c], 6
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x417d3a
lea edx, [esp + 0x14]
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push 0
push ecx
mov byte [esp + 0x13c], 7
mov ecx, esp
mov dword [esp + 0x24], esp
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.004174f0
push str.SortType
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esi + 0x290]
lea edx, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0x140], 8
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.004174f0
push str.bSpritAni
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esi + 0x117c]
push ecx
test eax, eax
mov ecx, esp
je 0x417ddb
lea eax, [esp + 0x14]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 1
push ecx
mov byte [esp + 0x13c], 9
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x417dfa
lea eax, [esp + 0x14]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 0
push ecx
mov byte [esp + 0x13c], 0xa
mov ecx, esp
mov dword [esp + 0x24], esp
lea edx, [esp + 0x18]
push edx
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.004174f0
push str.bSpritSound
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esi + 0x1180]
push ecx
test eax, eax
mov ecx, esp
je 0x417e4e
lea eax, [esp + 0x14]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 1
push ecx
mov byte [esp + 0x13c], 0xb
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x417e6d
lea eax, [esp + 0x14]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 0
push ecx
mov byte [esp + 0x13c], 0xc
mov ecx, esp
mov dword [esp + 0x24], esp
lea edx, [esp + 0x18]
push edx
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.004174f0
push str.showtip
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esi + 0x1184]
push ecx
test eax, eax
mov ecx, esp
je 0x417ec1
lea eax, [esp + 0x20]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 1
push ecx
mov byte [esp + 0x13c], 0xd
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x417ee0
lea eax, [esp + 0x20]
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 0
push ecx
mov byte [esp + 0x13c], 0xe
mov ecx, esp
mov dword [esp + 0x24], esp
lea edx, [esp + 0x18]
push edx
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x13c], bl
call fcn.00417630
lea ecx, [esp + 0x1c]
mov byte [esp + 0x130], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x130], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x130], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x128]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x128
ret