Function at 0x40c5e0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x488
mov eax, dword [0x5052a0]
xor eax, ebp
mov dword [ebp - 8], eax
push edi
mov dword [ebp - 0x440], ecx
push 0
push 0xfa1
call fcn.00419a90
add esp, 8
xor eax, eax
mov word [ebp - 0x418], ax
push 0x206
push 0
lea ecx, [ebp - 0x416]
push ecx
call fcn.0043ef50
add esp, 0xc
xor edx, edx
mov word [ebp - 0x210], dx
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call fcn.0043ef50
add esp, 0xc
lea ecx, [ebp - 0x418]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea edx, [ebp - 0x210]
push edx
push 0
push str.gppins
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0
je 0x40c755
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x444], ecx
lea edx, [ebp - 0x418]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x444]
mov dx, word [ecx]
mov word [ebp - 0x44e], dx
mov eax, dword [ebp - 0x448]
mov cx, word [ebp - 0x44e]
mov word [eax], cx
mov edx, dword [ebp - 0x444]
add edx, 2
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x448]
add eax, 2
mov dword [ebp - 0x448], eax
cmp word [ebp - 0x44e], 0
jne 0x40c6ab
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
add edx, 2
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x454]
mov cx, word [eax]
mov word [ebp - 0x45a], cx
add dword [ebp - 0x454], 2
cmp word [ebp - 0x45a], 0
jne 0x40c70e
mov edx, dword [ebp - 0x454]
sub edx, dword [ebp - 0x458]
sar edx, 1
mov dword [ebp - 0x460], edx
xor eax, eax
mov ecx, dword [ebp - 0x460]
mov word [ebp + ecx*2 - 0x420], ax
jmp 0x40c7ae
lea edx, [ebp - 0x418]
add edx, 0xfffffffe
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x464]
mov cx, word [eax + 2]
mov word [ebp - 0x466], cx
add dword [ebp - 0x464], 2
cmp word [ebp - 0x466], 0
jne 0x40c764
mov edi, dword [ebp - 0x464]
mov edx, dword [0x4ddab8]
mov dword [edi], edx
mov eax, dword [0x4ddabc]
mov dword [edi + 4], eax
mov ecx, dword [0x4ddac0]
mov dword [edi + 8], ecx
mov edx, dword [0x4ddac4]
mov dword [edi + 0xc], edx
lea eax, [ebp - 0x418]
push eax
push 1
push 0x4ddac8
push 0x8d
call fcn.004086a0
mov ecx, eax
call fcn.004128c0
mov ecx, dword [ebp - 0x440]
call fcn.0040c350
push 0
push 0xfa2
call fcn.00419a90
add esp, 8
lea ecx, [ebp - 4]
call fcn.00404bb0
call fcn.004086a0
add eax, 0x208
push eax
push 0x4ddad4
lea ecx, [ebp - 4]
push ecx
call fcn.00405220
add esp, 0xc
push 1
push 0x4ddae4
lea ecx, [ebp - 4]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.004086a0
mov ecx, eax
call fcn.0040f460
lea ecx, [ebp - 0x41c]
call fcn.00404bb0
call fcn.004086a0
add eax, 0x208
push eax
push 0x4ddae8
lea edx, [ebp - 0x41c]
push edx
call fcn.00405220
add esp, 0xc
push 2
push 0x4ddaf8
lea ecx, [ebp - 0x41c]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.004086a0
mov ecx, eax
call fcn.0040f460
lea ecx, [ebp - 0x420]
call fcn.00404bb0
call fcn.004086a0
add eax, 0x208
push eax
push 0x4ddafc
lea eax, [ebp - 0x420]
push eax
call fcn.00405220
add esp, 0xc
push 3
push 0x4ddb0c
lea ecx, [ebp - 0x420]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.004086a0
mov ecx, eax
call fcn.0040f460
mov dword [ebp - 0x428], 0
jmp 0x40c8d4
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
call fcn.004086a0
add eax, 0x2290
mov ecx, eax
call fcn.0040bf80
cmp dword [ebp - 0x428], eax
jae 0x40c9f1
call fcn.004086a0
add eax, 0x1c70
push eax
call fcn.004086a0
add eax, 0x208
push eax
mov edx, dword [ebp - 0x428]
push edx
call fcn.004086a0
add eax, 0x2290
mov ecx, eax
call fcn.0040bfa0
push eax
call fcn.004086a0
mov ecx, eax
call fcn.0040ffc0
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x428]
push eax
call fcn.004086a0
add eax, 0x2290
mov ecx, eax
call fcn.0040bfa0
add eax, 0x208
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x46c]
mov ax, word [edx]
mov word [ebp - 0x476], ax
mov ecx, dword [ebp - 0x470]
mov dx, word [ebp - 0x476]
mov word [ecx], dx
mov eax, dword [ebp - 0x46c]
add eax, 2
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x470]
add ecx, 2
mov dword [ebp - 0x470], ecx
cmp word [ebp - 0x476], 0
jne 0x40c961
mov edx, dword [ebp - 0x428]
push edx
call fcn.004086a0
add eax, 0x2290
mov ecx, eax
call fcn.0040bfa0
add eax, 0x208
push eax
mov eax, dword [ebp - 0x428]
push eax
call fcn.004086a0
add eax, 0x2290
mov ecx, eax
call fcn.0040bfa0
push eax
call fcn.004086a0
mov ecx, eax
call fcn.00410290
jmp 0x40c8c5
mov dword [ebp - 0x42c], 0
jmp 0x40ca0c
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
call fcn.004086a0
add eax, 0x22a0
mov ecx, eax
call fcn.0040bf80
cmp dword [ebp - 0x42c], eax
jae 0x40cb6c
lea ecx, [ebp - 0x430]
call fcn.00404bb0
call fcn.004086a0
add eax, 0x208
push eax
push 0x4ddb10
lea edx, [ebp - 0x430]
push edx
call fcn.00405220
add esp, 0xc
call fcn.004086a0
add eax, 0x410
push eax
lea ecx, [ebp - 0x430]
call fcn.0040bed0
push eax
mov eax, dword [ebp - 0x42c]
push eax
call fcn.004086a0
add eax, 0x22a0
mov ecx, eax
call fcn.0040bfa0
push eax
call fcn.004086a0
mov ecx, eax
call fcn.0040ffc0
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x42c]
push ecx
call fcn.004086a0
add eax, 0x22a0
mov ecx, eax
call fcn.0040bfa0
add eax, 0x208
mov dword [ebp - 0x480], eax
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0x47c]
mov cx, word [eax]
mov word [ebp - 0x486], cx
mov edx, dword [ebp - 0x480]
mov ax, word [ebp - 0x486]
mov word [edx], ax
mov ecx, dword [ebp - 0x47c]
add ecx, 2
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x480]
add edx, 2
mov dword [ebp - 0x480], edx
cmp word [ebp - 0x486], 0
jne 0x40cac4
push 0xffffffffffffffff
lea ecx, [ebp - 0x430]
call fcn.0040bf10
mov eax, dword [ebp - 0x42c]
push eax
call fcn.004086a0
add eax, 0x22a0
mov ecx, eax
call fcn.0040bfa0
add eax, 0x208
push eax
mov ecx, dword [ebp - 0x42c]
push ecx
call fcn.004086a0
add eax, 0x22a0
mov ecx, eax
call fcn.0040bfa0
push eax
call fcn.004086a0
mov ecx, eax
call fcn.00410290
lea ecx, [ebp - 0x430]
call fcn.00403e20
jmp 0x40c9fd
mov dword [ebp - 0x434], 0
jmp 0x40cb87
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
call fcn.004086a0
add eax, 0x22b0
mov ecx, eax
call fcn.0040bf80
cmp dword [ebp - 0x434], eax
jae 0x40cc60
lea ecx, [ebp - 0x43c]
call fcn.00404bb0
call fcn.004086a0
add eax, 0x208
push eax
push 0x4ddb20
lea eax, [ebp - 0x43c]
push eax
call fcn.00405220
add esp, 0xc
mov ecx, dword [ebp - 0x434]
push ecx
call fcn.004086a0
add eax, 0x22b0
mov ecx, eax
call fcn.0040bfa0
push eax
lea ecx, [ebp - 0x438]
call fcn.00403da0
call fcn.004086a0
add eax, 0x1e78
push eax
lea ecx, [ebp - 0x43c]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x438]
call fcn.0040bc30
lea ecx, [ebp - 0x438]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
mov edx, dword [ebp - 0x434]
push edx
call fcn.004086a0
add eax, 0x22b0
mov ecx, eax
call fcn.0040bfa0
push eax
call fcn.004086a0
mov ecx, eax
call fcn.00410290
lea ecx, [ebp - 0x438]
call fcn.00403e20
lea ecx, [ebp - 0x43c]
call fcn.00403e20
jmp 0x40cb78
lea ecx, [ebp - 0x420]
call fcn.00403e20
lea ecx, [ebp - 0x41c]
call fcn.00403e20
lea ecx, [ebp - 4]
call fcn.00403e20
pop edi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00434ee7
mov esp, ebp
pop ebp
ret