Function at 0x4078c0
Capabilities:
Check if file exists
Copy file
Create directory
Get file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45cf35
mov eax, dword fs:[0]
push eax
mov eax, 0x20d8
call fcn.00439c50
mov eax, dword [0x483ca0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push str.Enter_...
push 0x218
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x18
mov ecx, ebx
call fcn.00408c30
cmp byte [ebx + 0x302d], 0
je 0x4082e1
push str.tm_starter_dir
lea edi, [ebx + 0xe1c]
push edi
lea esi, [ebx + 0x1828]
push 0x461410
push esi
call fcn.0043a459
push 0x200
lea eax, [ebp - 0x610]
push eax
push esi
call fcn.0040fa60
push 0x460828
push esi
call fcn.0040d790
add esp, 0x24
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4079d4
push 0
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4079d4
push esi
push str.Filed_to_create:__s
push 0x22f
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x1c
push 0x1000
push 0x46283c
push str.Unable_to_create_a_directory_to_install_the_downloaded_software
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40896b
push esi
lea eax, [ebp - 0x210]
push str._sAccessory
push eax
call fcn.0043a459
push 0x200
lea eax, [ebp - 0x1410]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0040fa60
lea eax, [ebp - 0x210]
push 0x460828
push eax
call fcn.0040d790
add esp, 0x20
lea eax, [ebp - 0x1410]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x407a4d
push 0
lea eax, [ebp - 0x1410]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x407a4d
lea eax, [ebp - 0x210]
push eax
push str.Filed_to_create:__s
push 0x241
jmp 0x407999
lea ecx, [ebp - 0x20c8]
call fcn.00414220
lea ecx, [ebp - 0x20e4]
mov dword [ebp - 4], 0
call fcn.00414220
push esi
push 0x460828
push str..zip
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
push str.PCClient.zip
call fcn.00401403
lea eax, [ebp - 0x2040]
push eax
call fcn.0040da70
add esp, 0x24
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 2
jb 0x407aa3
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20c8]
call fcn.00414280
cmp dword [ebp - 0x202c], 0x10
mov byte [ebp - 4], 1
jb 0x407aca
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
lea eax, [ebp - 0x210]
push eax
push 0x460828
push str..zip
sub esp, 0x18
mov ecx, esp
push str.PCClientAccessory.zip
call fcn.00401403
lea eax, [ebp - 0x2040]
push eax
call fcn.0040da70
add esp, 0x24
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 3
jb 0x407b05
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00414280
cmp dword [ebp - 0x202c], 0x10
mov byte [ebp - 4], 1
jb 0x407b2c
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
lea eax, [ebp - 0x210]
push eax
push esi
lea eax, [ebx + 0x141c]
push eax
push str.Uncompress__s_into__s_and__s
push 0x24d
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
push esi
lea eax, [ebp - 0xc10]
push str._sWorkingDirectory.txt
push eax
call fcn.0043a459
push 0x200
lea eax, [ebp - 0x2010]
push eax
lea eax, [ebp - 0xc10]
push eax
call fcn.0040fa60
lea eax, [ebp - 0x2010]
push 0x462720
push eax
call fcn.0043a8ac
add esp, 0x44
mov dword [ebp - 0x20d4], eax
test eax, eax
je 0x407bc7
lea ecx, [ebx + 0x21c]
push ecx
push edi
push str.___WorkingDirectory____s_s____WorkingDirectory____n
push eax
call fcn.0043a98b
push dword [ebp - 0x20d4]
call fcn.0043a309
add esp, 0x14
jmp 0x407bf2
lea eax, [ebp - 0xc10]
push eax
push str.Filed_to_open_file_to_write:__s
push 0x25e
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x1c
push 0
push 0x460828
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.00401eb7
push str.___SetupDirectory___
lea eax, [ebp - 0x2028]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x2040]
push eax
call fcn.00403a10
push esi
push eax
lea eax, [ebp - 0x2088]
mov byte [ebp - 4], 5
push eax
call fcn.00403970
push str.____SetupDirectory____n
push eax
lea eax, [ebp - 0x20a0]
mov byte [ebp - 4], 6
push eax
call fcn.00403970
mov esi, eax
add esp, 0x24
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x407cb0
cmp dword [ebp - 0x2014], 0x10
jb 0x407c89
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x208c], 0x10
jb 0x407cc7
push dword [ebp - 0x20a0]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2074], 0x10
mov dword [ebp - 0x208c], 0xf
mov dword [ebp - 0x2090], 0
mov byte [ebp - 0x20a0], 0
jb 0x407cf9
push dword [ebp - 0x2088]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x202c], 0x10
mov dword [ebp - 0x2074], 0xf
mov dword [ebp - 0x2078], 0
mov byte [ebp - 0x2088], 0
mov byte [ebp - 4], 4
jb 0x407d2f
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
push str.___SetupFile___
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
push edi
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 4], 7
push eax
call fcn.00403970
push 0x46140c
push eax
lea eax, [ebp - 0x2058]
mov byte [ebp - 4], 8
push eax
call fcn.00403970
lea ecx, [ebx + 0x101c]
mov byte [ebp - 4], 9
push ecx
push eax
lea eax, [ebp - 0x20a0]
push eax
call fcn.00403970
push str.____SetupFile____n
push eax
lea eax, [ebp - 0x2088]
mov byte [ebp - 4], 0xa
push eax
call fcn.00403970
mov esi, eax
add esp, 0x3c
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x407dea
cmp dword [ebp - 0x2014], 0x10
jb 0x407dc3
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x2074], 0x10
jb 0x407e01
push dword [ebp - 0x2088]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x208c], 0x10
mov dword [ebp - 0x2074], 0xf
mov dword [ebp - 0x2078], 0
mov byte [ebp - 0x2088], 0
jb 0x407e33
push dword [ebp - 0x20a0]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2044], 0x10
mov dword [ebp - 0x208c], 0xf
mov dword [ebp - 0x2090], 0
mov byte [ebp - 0x20a0], 0
jb 0x407e65
push dword [ebp - 0x2058]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x202c], 0x10
mov dword [ebp - 0x2044], 0xf
mov dword [ebp - 0x2048], 0
mov byte [ebp - 0x2058], 0
jb 0x407e97
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x205c], 0x10
mov dword [ebp - 0x202c], 0xf
mov dword [ebp - 0x2030], 0
mov byte [ebp - 0x2040], 0
mov byte [ebp - 4], 4
jb 0x407ecd
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
push str.___SetupFileName___
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
lea ecx, [ebx + 0x101c]
mov byte [ebp - 4], 0xb
push ecx
push eax
lea eax, [ebp - 0x2058]
push eax
call fcn.00403970
push str.____SetupFileName____n
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 4], 0xc
push eax
call fcn.00403970
mov esi, eax
add esp, 0x24
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x407f60
cmp dword [ebp - 0x2014], 0x10
jb 0x407f39
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x202c], 0x10
jb 0x407f77
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2044], 0x10
mov dword [ebp - 0x202c], 0xf
mov dword [ebp - 0x2030], 0
mov byte [ebp - 0x2040], 0
jb 0x407fa9
push dword [ebp - 0x2058]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x205c], 0x10
mov dword [ebp - 0x2044], 0xf
mov dword [ebp - 0x2048], 0
mov byte [ebp - 0x2058], 0
mov byte [ebp - 4], 4
jb 0x407fdf
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
push str.___SetupConfigureFile___
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
push edi
push eax
lea eax, [ebp - 0x20a0]
mov byte [ebp - 4], 0xd
push eax
call fcn.00403970
push 0x46140c
push eax
lea eax, [ebp - 0x2088]
mov byte [ebp - 4], 0xe
push eax
call fcn.00403970
push str.starter.cfg
push eax
lea eax, [ebp - 0x2058]
mov byte [ebp - 4], 0xf
push eax
call fcn.00403970
push str.____SetupConfigureFile____n
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 4], 0x10
push eax
call fcn.00403970
mov esi, eax
add esp, 0x3c
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x408098
cmp dword [ebp - 0x2014], 0x10
jb 0x408071
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x202c], 0x10
jb 0x4080af
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2044], 0x10
mov dword [ebp - 0x202c], 0xf
mov dword [ebp - 0x2030], 0
mov byte [ebp - 0x2040], 0
jb 0x4080e1
push dword [ebp - 0x2058]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2074], 0x10
mov dword [ebp - 0x2044], 0xf
mov dword [ebp - 0x2048], 0
mov byte [ebp - 0x2058], 0
jb 0x408113
push dword [ebp - 0x2088]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x208c], 0x10
mov dword [ebp - 0x2074], 0xf
mov dword [ebp - 0x2078], 0
mov byte [ebp - 0x2088], 0
jb 0x408145
push dword [ebp - 0x20a0]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x205c], 0x10
mov dword [ebp - 0x208c], 0xf
mov dword [ebp - 0x2090], 0
mov byte [ebp - 0x20a0], 0
mov byte [ebp - 4], 4
jb 0x40817b
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
push str.___NeedToRemoveSetup___Y____NeedToRemoveSetup____n
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x4081e0
cmp dword [ebp - 0x2014], 0x10
jb 0x4081b9
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x205c], 0x10
jb 0x4081f7
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
add ebx, 0x61c
lea eax, [ebp - 0x2028]
push ebx
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x2028]
cmp eax, esi
je 0x40825e
cmp dword [ebp - 0x2014], 0x10
jb 0x408237
push dword [ebp - 0x2028]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x2028]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
call fcn.004091a0
cmp dword [ebp - 0x205c], 0x10
jb 0x408275
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
mov esi, dword [ebp - 0x2014]
lea ecx, [ebp - 0x2028]
mov edx, dword [ebp - 0x2028]
cmp esi, 0x10
cmovae ecx, edx
lea ecx, [ecx]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx], al
lea ebx, [ebx + 1]
test al, al
jne 0x408290
cmp esi, 0x10
jb 0x4082ac
push edx
call fcn.004167f4
add esp, 4
lea ecx, [ebp - 0x20e4]
mov dword [ebp - 0x2014], 0xf
mov dword [ebp - 0x2018], 0
mov byte [ebp - 0x2028], 0
mov byte [ebp - 4], 0
call fcn.00414240
lea ecx, [ebp - 0x20c8]
jmp 0x40895f
cmp byte [ebx + 0x2028], 0
lea eax, [ebx + 0x1628]
lea esi, [ebx + 0x141c]
je 0x408303
push str.TMDownload
push eax
push str._s_s.exe
jmp 0x40830e
push str.PCClient.zip
push eax
push 0x461410
push esi
call fcn.0043a459
add esp, 0x10
lea eax, [ebx + 0x1628]
lea edi, [ebx + 0x1828]
push str.tm_starter_dir
push eax
push 0x461410
push edi
call fcn.0043a459
push 0x200
lea eax, [ebp - 0x1010]
push eax
push esi
call fcn.0040fa60
push 0x200
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.0040fa60
lea eax, [ebp - 0x1010]
push 0x462984
push eax
call fcn.0043a8ac
add esp, 0x30
mov dword [ebp - 0x20d4], eax
test eax, eax
jne 0x40847f
push esi
push str.Filed_to_open_file_to_write:__s
push 0x27e
push str.SetupHandler.cpp
push eax
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x1c
lea eax, [ebx + 0xe1c]
cmp byte [ebx + 0x2028], 0
je 0x4083ba
push str.TMDownload
push eax
push str._s_s.exe
jmp 0x4083c5
push str.PCClient.zip
push eax
push 0x461410
push esi
call fcn.0043a459
add esp, 0x10
lea eax, [ebx + 0xe1c]
cmp byte [ebx + 0x3029], 0
push str.tm_starter_dir
push eax
je 0x4083ea
push str._s.._s
jmp 0x4083ef
push 0x461410
push edi
call fcn.0043a459
add esp, 0x10
lea eax, [ebp - 0x1010]
push 0x200
push eax
push esi
call fcn.0040fa60
push 0x200
lea eax, [ebp - 0x610]
push eax
push edi
call fcn.0040fa60
lea eax, [ebp - 0x1010]
push 0x462984
push eax
call fcn.0043a8ac
add esp, 0x20
mov dword [ebp - 0x20d4], eax
test eax, eax
jne 0x40847f
push esi
push str.Filed_to_open_file_to_write:__s
push 0x290
push str.SetupHandler.cpp
push eax
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x1c
push 0x1000
push 0x46283c
push str.Unable_to_save_the_download_file
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40896b
mov ecx, dword [ebx + 0x1620]
push eax
push 1
call fcn.00409a30
push eax
mov eax, dword [ebx + 0x1620]
push dword [eax + 0x224]
call fcn.0043ad13
push dword [ebp - 0x20d4]
call fcn.0043a309
add esp, 0x14
cmp byte [ebx + 0x2028], 0
jne 0x40896b
push 0x460828
push edi
call fcn.0040d790
add esp, 8
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4084fd
push 0
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4084fd
push edi
push str.Filed_to_create:__s
push 0x2a2
jmp 0x407999
lea ecx, [ebp - 0x2098]
call fcn.00414220
push edi
push esi
lea ecx, [ebp - 0x2098]
mov dword [ebp - 4], 0x11
call fcn.00414280
push edi
push esi
push str.Uncompress__s_into__s
push 0x2ab
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
push str.TMInstaller
push edi
lea eax, [ebp - 0xa10]
push str._s_s.exe
push eax
call fcn.0043a459
push str.TMLauncher.exe
push edi
lea eax, [ebp - 0x810]
push 0x461410
push eax
call fcn.0043a459
add esp, 0x40
lea eax, [ebp - 0x1c10]
push 0x200
push eax
lea eax, [ebp - 0xa10]
push eax
call fcn.0040fa60
push 0x200
lea eax, [ebp - 0x1810]
push eax
lea eax, [ebp - 0x810]
push eax
call fcn.0040fa60
add esp, 0x18
lea eax, [ebp - 0x1810]
push 0
push eax
lea eax, [ebp - 0x1c10]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0xa10]
push eax
push str.copy_sSourceFile___s__sTargetFile___s
push 0x2b8
push str.SetupHandler.cpp
push 0
push str.SetupHandler::ProcessDownloadedClient
push dword [0x4868e8]
call fcn.0040a4c0
add esp, 0x20
lea ecx, [ebp - 0x20b8]
push 0x460828
call fcn.00401403
push str.___SetupDirectory___
lea eax, [ebp - 0x20b8]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
push edi
push eax
lea eax, [ebp - 0x2058]
mov byte [ebp - 4], 0x13
push eax
call fcn.00403970
mov byte [ebp - 4], 0x14
push str.____SetupDirectory____n
push eax
lea eax, [ebp - 0x2040]
push eax
call fcn.00403970
mov esi, eax
add esp, 0x24
lea eax, [ebp - 0x20b8]
cmp eax, esi
je 0x40868c
cmp dword [ebp - 0x20a4], 0x10
jb 0x408665
push dword [ebp - 0x20b8]
call fcn.004167f4
add esp, 4
push esi
lea ecx, [ebp - 0x20b8]
mov dword [ebp - 0x20a4], 0xf
mov dword [ebp - 0x20a8], 0
mov byte [ebp - 0x20b8], 0
call fcn.004091a0
cmp dword [ebp - 0x202c], 0x10
jb 0x4086a3
push dword [ebp - 0x2040]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x2044], 0x10
mov dword [ebp - 0x202c], 0xf
mov dword [ebp - 0x2030], 0
mov byte [ebp - 0x2040], 0
jb 0x4086d5
push dword [ebp - 0x2058]
call fcn.004167f4
add esp, 4
cmp dword [ebp - 0x205c], 0x10
mov dword [ebp - 0x2044], 0xf
mov dword [ebp - 0x2048], 0
mov byte [ebp - 0x2058], 0
mov byte [ebp - 4], 0x12
jb 0x40870b
push dword [ebp - 0x2070]
call fcn.004167f4
add esp, 4
push str.___SetupFile___
lea eax, [ebp - 0x20b8]
push eax
lea eax, [ebp - 0x20d0]
push eax
call fcn.00403a10
lea edi, [ebx + 0xe1c]
mov byte [ebp - 4], 0x15
push edi
push eax
lea eax, [ebp - 0x2088]
push eax
call fcn.00403970
push 0x46140c
push eax
lea eax, [ebp - 0x2058]
mov byte [ebp - 4], 0x16
push eax
call fcn.00403970
lea esi, [ebx + 0x101c]
mov byte [ebp - 4], 0x17
push esi
push eax
lea eax, [ebp - 0x2040]
push eax
call fcn.00403970
push str.____SetupFile____n
push eax
lea eax, [ebp - 0x2070]
mov byte [ebp - 4], 0x18
push eax
call fcn.00403970
add esp, 0x3c
lea ecx, [ebp - 0x20b8]
push eax
call fcn.00403c90
lea ecx, [ebp - 0x2070]
call fcn.0040146f
lea ecx, [ebp - 0x2040]
call fcn.0040146f
lea ecx, [ebp - 0x2058]
call fcn.0040146f
lea ecx, [ebp - 0x2088]
call fcn.0040146f
lea ecx, [ebp - 0x20d0]
mov byte [ebp - 4], 0x12
call fcn.0040146f
push str.___SetupFileName___
lea eax, [ebp - 0x20b8]
push eax
lea eax, [ebp - 0x2058]
push eax
call fcn.00403a10
push esi
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 4], 0x19
push eax
call fcn.00403970
push str.____SetupFileName____n
push eax
lea eax, [ebp - 0x2070]
mov byte [ebp - 4], 0x1a
push eax
call fcn.00403970
add esp, 0x24
lea ecx, [ebp - 0x20b8]
push eax
call fcn.00403c90
lea ecx, [ebp - 0x2070]
call fcn.0040146f
lea ecx, [ebp - 0x2040]
call fcn.0040146f
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2058]
call fcn.0040146f
push str.___SetupConfigureFile___
lea eax, [ebp - 0x20b8]
push eax
lea eax, [ebp - 0x20d0]
push eax
call fcn.00403a10
push edi
push eax
lea eax, [ebp - 0x2088]
mov byte [ebp - 4], 0x1b
push eax
call fcn.00403970
push 0x46140c
push eax
lea eax, [ebp - 0x2058]
mov byte [ebp - 4], 0x1c
push eax
call fcn.00403970
push str.starter.cfg
push eax
lea eax, [ebp - 0x2040]
mov byte [ebp - 4], 0x1d
push eax
call fcn.00403970
push str.____SetupConfigureFile____n
push eax
lea eax, [ebp - 0x2070]
mov byte [ebp - 4], 0x1e
push eax
call fcn.00403970
add esp, 0x3c
lea ecx, [ebp - 0x20b8]
push eax
call fcn.00403c90
lea ecx, [ebp - 0x2070]
call fcn.0040146f
lea ecx, [ebp - 0x2040]
call fcn.0040146f
lea ecx, [ebp - 0x2058]
call fcn.0040146f
lea ecx, [ebp - 0x2088]
call fcn.0040146f
lea ecx, [ebp - 0x20d0]
mov byte [ebp - 4], 0x12
call fcn.0040146f
add ebx, 0x61c
lea eax, [ebp - 0x20b8]
push ebx
push eax
lea eax, [ebp - 0x2070]
push eax
call fcn.00403a10
add esp, 0xc
lea ecx, [ebp - 0x20b8]
push eax
call fcn.00403c90
lea ecx, [ebp - 0x2070]
call fcn.0040146f
cmp dword [ebp - 0x20a4], 0x10
lea ecx, [ebp - 0x20b8]
cmovae ecx, dword [ebp - 0x20b8]
jmp 0x408940
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx], al
lea ebx, [ebx + 1]
test al, al
jne 0x408940
lea ecx, [ebp - 0x20b8]
call fcn.0040146f
lea ecx, [ebp - 0x2098]
mov dword [ebp - 4], 0xffffffff
call fcn.00414240
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004396df
mov esp, ebp
pop ebp
ret