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

Disassembly:
sub rsp, 0x248
mov rax, qword [0x0042a560]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x258], rbx
mov rbx, rcx
call fcn.0040cc50
mov rcx, rbx
call fcn.0040b970
mov rcx, rbx
call fcn.00409f60
mov rcx, rbx
call fcn.0040a7d0
cmp byte [rbx], 0
jne 0x40db2e
mov rcx, rbx
call fcn.0040d220
cmp byte [rbx + 1], 0
jne 0x40db3c
mov rcx, rbx
call fcn.0040d680
lea rdx, [rbx + 0x30]
lea rcx, [rbx + 0x80]
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x268], rdi
call fcn.00401a30
lea rdx, str.Skin_
lea rcx, [rbx + 0x80]
mov r8d, 5
call fcn.004099a0
cmp qword [rbx + 0xa0], 8
jb 0x40db92
mov rcx, qword [rbx + 0x88]
jmp 0x40db99
lea rcx, [rbx + 0x88]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40dbc2
cmp qword [rbx + 0xa0], 8
jb 0x40dbb6
mov rcx, qword [rbx + 0x88]
jmp 0x40dbbd
lea rcx, [rbx + 0x88]
call fcn.0040ddc0
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], 0
call fcn.0040e3f0
cmp qword [rbx + 0x50], 8
mov rdi, qword [rsp + 0x268]
jb 0x40dbf0
mov r8, qword [rbx + 0x38]
jmp 0x40dbf4
lea r8, [rbx + 0x38]
lea r9, str.AllSkin
lea rdx, [0x004228b0]
lea rcx, [rsp + 0x20]
call fcn.0040e620
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40dc25
lea rcx, [rsp + 0x20]
call fcn.0040ddc0
mov rcx, rbx
call fcn.0040b7a0
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], 0
call fcn.0040e3f0
cmp qword [rbx + 0x28], 8
jb 0x40dc53
mov r8, qword [rbx + 0x10]
jmp 0x40dc57
lea r8, [rbx + 0x10]
lea r9, [0x004228dc]
lea rdx, [0x004228b0]
lea rcx, [rsp + 0x20]
call fcn.0040e620
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40dc8b
lea rcx, [rsp + 0x20]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp qword [rbx + 0x28], 8
jb 0x40dc98
mov r8, qword [rbx + 0x10]
jmp 0x40dc9c
lea r8, [rbx + 0x10]
lea r9, str.Dict
lea rdx, [0x004228b0]
lea rcx, [rsp + 0x20]
call fcn.0040e620
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40dcd0
lea rcx, [rsp + 0x20]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rcx, rbx
call fcn.0040b020
mov rcx, rbx
call fcn.0040b220
mov rcx, rbx
call fcn.0040b420
mov rcx, rbx
call fcn.0040b5e0
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], 0
call fcn.0040e3f0
cmp qword [rbx + 0xf0], 8
jb 0x40dd1c
mov r8, qword [rbx + 0xd8]
jmp 0x40dd23
lea r8, [rbx + 0xd8]
lea r9, str.WanNengWBInfo.ini
lea rdx, str._s_s
lea rcx, [rsp + 0x20]
call fcn.0040e620
cmp qword [rbx + 0x50], 8
jb 0x40dd48
mov r8, qword [rbx + 0x38]
jmp 0x40dd4c
lea r8, [rbx + 0x38]
lea r9, [rsp + 0x20]
lea rdx, str.CfgRootPath
lea rcx, str.AppInfo
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [rbx + 0x28], 8
mov rsi, qword [rsp + 0x260]
jb 0x40dd7a
mov r8, qword [rbx + 0x10]
jmp 0x40dd7e
lea r8, [rbx + 0x10]
lea r9, [rsp + 0x20]
lea rdx, str.CfgUserPath
lea rcx, str.AppInfo
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rbx, qword [rsp + 0x258]
mov eax, 1
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.0040e5d0
add rsp, 0x248
ret