Function at 0x19017da
Capabilities:
Check if file exists
Delete file
Enumerate gui resources
Get common file path
Get file attributes
Set current directory

Disassembly:
sub esp, 0x630
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x62c], eax
mov ecx, dword [esp + 0x634]
push ebx
call fcn.01902f0a
xor eax, eax
push eax
push 0x1901675
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_EnumWindows]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
inc ebx
cmp dword [0x191b0fc], 0
jle 0x1901844
mov ecx, 0x1915ab8
cmp dword [0x191b104], ebx
je 0x1901833
mov ecx, str.Update_application_is_already_running.
mov edx, 0x40000
call fcn.019027f0
mov eax, ebx
jmp 0x19020b9
push esi
mov esi, 0x1915b90
cmp dword [0x191b104], ebx
je 0x1901857
mov esi, str.Please_close_Game_and_retry.
push ebp
push edi
push str.HotA.dll
mov edi, 0x191b110
mov ebp, 0x1915694
push edi
push ebp
call fcn.019011b5
add esp, 0xc
mov edx, esi
mov ecx, eax
call fcn.0190172f
test al, al
je 0x19018db
mov esi, 0x1915c88
cmp dword [0x191b104], ebx
je 0x1901891
mov esi, str.Please_close_Map_Editor_and_retry.
push str.hota_me.dll
push edi
push ebp
call fcn.019011b5
add esp, 0xc
mov edx, esi
mov ecx, eax
call fcn.0190172f
test al, al
je 0x19018db
mov esi, 0x1915da8
cmp dword [0x191b104], ebx
je 0x19018bf
mov esi, str.Please_close_HotA_Launcher.exe_and_retry.
push str.HotA_launcher.exe
push edi
push ebp
call fcn.019011b5
add esp, 0xc
mov edx, esi
mov ecx, eax
call fcn.0190172f
test al, al
jne 0x19018e2
mov eax, ebx
jmp 0x19020b6
push dword [0x191b100]
mov ebp, str.false
mov esi, str.Global_Settings
push ebp
push str.Download_Test_Updates
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push dword [0x191b100]
push ebp
push str.Activate_Test_Updates
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
call fcn.01902df1
mov cl, bl
call fcn.01902e32
mov ecx, 0x1915f08
cmp dword [0x191b104], ebx
je 0x1901930
mov ecx, 0x1915f24
call fcn.01902ea6
mov ecx, 0x1915f38
cmp dword [0x191b104], ebx
je 0x1901947
mov ecx, str.Connecting_update_server...
call fcn.01902e8c
call fcn.01902935
cmp byte [0x191b214], 0
jne 0x1901e1c
cmp dword [0x191b234], 0
je 0x1902088
mov eax, dword [0x191b108]
push str.upd_ver.sion
mov dword [0x191b0f8], ebx
push dword [eax*4 + 0x1916f60]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902986
cmp byte [0x191b214], 0
jne 0x1901e1c
test eax, eax
jne 0x19019c7
call fcn.01902ddb
mov ecx, 0x1916010
cmp dword [0x191b104], ebx
je 0x1901ade
mov ecx, str.Error_02:_Version_getting_unsuccessful.
jmp 0x1901ade
mov ebp, 0x191611c
mov dword [esp + 0x14], eax
mov edx, ebp
lea ecx, [esp + 0x14]
call fcn.01902ec0
mov edx, ebp
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x14]
call fcn.01902ec0
mov esi, 0x1915680
test eax, eax
je 0x1901a0c
lea ecx, [esp + 0x20]
push ecx
push esi
push eax
call fcn.01903342
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x1901a11
and dword [esp + 0x20], 0
cmp dword [esp + 0x14], 0
je 0x1901a30
lea eax, [esp + 0x1c]
push eax
push esi
push dword [esp + 0x1c]
call fcn.01903342
mov edi, dword [esp + 0x28]
add esp, 0xc
jmp 0x1901a32
xor edi, edi
mov dword [esp + 0x18], edi
mov ebp, 0x1916120
mov dword [0x191b0f8], 2
cmp edi, ebx
jne 0x1901d98
mov ecx, ebp
cmp dword [0x191b104], ebx
je 0x1901a5c
mov ecx, str.Getting_files_list...
call fcn.01902e8c
sub esp, 0xc
call fcn.019014ef
test al, al
je 0x1901a83
cmp dword [0x191b104], ebx
jne 0x1901a7c
mov eax, str.upd_upd_info_rus_t.upd
jmp 0x1901a95
mov eax, str.upd_upd_info_eng_t.upd
jmp 0x1901a95
mov eax, str.upd_upd_info_rus.upd
cmp dword [0x191b104], ebx
je 0x1901a95
mov eax, str.upd_upd_info_eng.upd
push eax
mov eax, dword [0x191b108]
push dword [eax*4 + 0x1916f60]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902986
cmp byte [0x191b214], 0
jne 0x1901e1c
test eax, eax
jne 0x1901afe
call fcn.01902ddb
mov ecx, 0x1916210
cmp dword [0x191b104], ebx
je 0x1901ade
mov ecx, str.Error_03:_Files_list_getting_unsuccessful.
mov edx, 0x40010
call fcn.019027f0
call fcn.01902972
push dword [0x191b100]
call fcn.01903607
pop ecx
jmp 0x1901e2b
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp + 0x14], eax
mov edx, str._cell_
lea ecx, [esp + 0x14]
call fcn.01902ec0
cmp dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
je 0x1901d8f
mov edx, str._cell_
lea ecx, [esp + 0x14]
call fcn.01902ec0
cmp dword [esp + 0x14], 0
mov esi, eax
mov dword [esp + 0x2c], esi
je 0x1901d8f
mov edx, 0x191611c
lea ecx, [esp + 0x14]
call fcn.01902ec0
cmp byte [0x191b214], 0
mov edi, eax
jne 0x1901e1c
cmp byte [edi], 0x5c
mov ecx, str._s_s
je 0x1901b70
mov ecx, 0x1915694
push esi
push edi
push 0x191b110
push ecx
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902fca
push eax
call fcn.01903266
pop ecx
pop ecx
test eax, eax
je 0x1901d84
push 3
pop esi
cmp dword [0x191b0f8], esi
jge 0x1901be1
xor cl, cl
mov dword [0x191b0f8], esi
call fcn.01902e32
mov ecx, 0x1916318
cmp dword [0x191b104], ebx
je 0x1901bc1
mov ecx, str.Abort
call fcn.01902ea6
push dword [0x191b100]
push str.true
push str.Update_Incomplete
push str.Version
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp byte [edi], 0x5c
mov eax, str._s_s
je 0x1901bf0
mov eax, 0x1915694
push edi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
lea edx, [esp + 0x34]
mov ecx, eax
call fcn.019020ec
mov ecx, eax
call fcn.019011fb
test eax, eax
je 0x1901cfc
cmp byte [edi], 0x5c
mov eax, str._s_s
je 0x1901c28
mov eax, 0x1915694
lea ecx, [esp + 0x1c]
push ecx
push edi
push 0x191b110
push eax
call fcn.019011b5
pop ecx
pop ecx
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.01902acd
cmp byte [0x191b214], 0
jne 0x1901e26
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x1901c97
cmp byte [edi], 0x5c
mov eax, str._s_s
je 0x1901c6a
mov eax, 0x1915694
push dword [esp + 0x2c]
push edi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902fca
push eax
call fcn.01903266
pop ecx
pop ecx
test eax, eax
je 0x1901c97
push 5
pop esi
mov dword [esp + 0x1c], esi
mov eax, esi
dec eax
je 0x1901ce8
dec eax
je 0x1901cd4
dec eax
je 0x1901cc0
dec eax
dec eax
jne 0x1901d2c
mov eax, 0x1916670
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.File__hs_was_downloaded_with_errors.
push edi
push eax
jmp 0x1901d1f
mov eax, 0x1916530
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.Error_12:_No_permission_to_write__hs.
jmp 0x1901cbc
mov eax, 0x1916428
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.Error_11:_File__hs_is_being_used_by_another_process.
jmp 0x1901cbc
mov eax, 0x1916368
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.Error_10:_Failed_to_download__hs.
jmp 0x1901cbc
lea edx, [esp + 0x34]
mov dword [esp + 0x1c], esi
mov ecx, edi
call fcn.019020ec
mov ecx, 0x1916720
cmp dword [0x191b104], ebx
je 0x1901d1d
mov ecx, str.Error_13:_Cannot_create_folder__hs.
push eax
push ecx
lea eax, [esp + 0x140]
push eax
call ebp
add esp, 0xc
cmp byte [0x191b214], 0
jne 0x1901e26
test esi, esi
je 0x1901d84
call fcn.01902dc8
mov edx, 0x10040010
lea ecx, [esp + 0x138]
call fcn.019027f0
mov esi, eax
call fcn.01902db5
cmp esi, 4
je 0x1901b97
cmp esi, 3
jne 0x1901d84
call fcn.01902dc8
call fcn.01901632
test al, al
jne 0x1901e26
call fcn.01902db5
jmp 0x1901b97
cmp dword [esp + 0x14], 0
jne 0x1901b08
mov edi, dword [esp + 0x18]
mov ebp, 0x1916120
mov byte [esp + 0x13], 0
test edi, edi
jne 0x1901dd8
call fcn.01902dc8
mov ecx, 0x1916800
cmp dword [0x191b104], ebx
je 0x1901db8
mov ecx, str.Cannot_update_the_game_automatically._r_nYou_can_download_the_latest_HotA_version_here:_r_n_r_nhttp:__download.h3hota.com_HotA_setup_r_n_r_nYou_should_install_it_over_the_current_vesion._r_n_r_nDownload_it_now_
push 0x34
pop edx
call fcn.019027f0
cmp eax, 6
sete byte [esp + 0x13]
call fcn.01902db5
cmp byte [esp + 0x13], 0
je 0x190203a
cmp dword [0x191b104], ebx
je 0x1901de5
mov ebp, str.Getting_files_list...
mov ecx, ebp
call fcn.01902e8c
mov eax, dword [0x191b108]
push str.upd_delete.upd
push dword [eax*4 + 0x1916f60]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902986
cmp byte [0x191b214], 0
mov esi, eax
je 0x1901e32
call fcn.01902dc8
call fcn.01901658
call fcn.01902fa3
xor eax, eax
jmp 0x19020b6
test esi, esi
je 0x1901e4d
mov ecx, 0x1916c40
cmp dword [0x191b104], ebx
je 0x1901e48
mov ecx, str.Deleting_previous_version_files...
call fcn.01902e8c
mov dword [esp + 0x14], esi
test esi, esi
je 0x1901f6e
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebp, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, 0x191611c
lea ecx, [esp + 0x14]
call fcn.01902ec0
cmp dword [esp + 0x14], 0
mov esi, eax
je 0x1901f6a
cmp byte [0x191b214], 0
jne 0x1901f5b
cmp byte [esi], 0x5c
mov eax, str._s_s
je 0x1901e9c
mov eax, 0x1915694
push esi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
push eax
call edi
cmp eax, 0xffffffff
je 0x1901e65
cmp byte [esi], 0x5c
mov eax, str._s_s
je 0x1901ec2
mov eax, 0x1915694
push esi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
push eax
call edi
test al, 0x10
je 0x1901f02
cmp byte [esi], 0x5c
mov eax, str._s_s
je 0x1901ee7
mov eax, 0x1915694
push esi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01901037
jmp 0x1901e65
lea eax, [esp + 0x34]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esi], 0x5c
mov eax, str._s_s
je 0x1901f21
mov eax, 0x1915694
push esi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
lea edx, [esp + 0x538]
mov ecx, eax
call fcn.019020ec
push eax
call ebp
mov ecx, esi
call section..text
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x34]
push eax
call ebp
jmp 0x1901e65
call fcn.01902dc8
call fcn.01901658
jmp 0x19020ad
mov edi, dword [esp + 0x18]
test edi, edi
je 0x190203a
mov cl, bl
call fcn.01902e32
mov ecx, 0x1916d08
cmp dword [0x191b104], ebx
je 0x1901f8f
mov ecx, str.Finishing_update...
call fcn.01902e8c
push dword [0x191b100]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ebp, str.Version
push dword [esp + 0x2c]
push str.Main_Version
push ebp
call esi
sub esp, 0xc
call fcn.019014ef
test al, al
je 0x1901fcc
push dword [esp + 0x20]
push str.Test_Version
push ecx
call fcn.01901551
push dword [0x191b100]
mov edi, str.false
push edi
push str.Need_Test_Update
push ebp
call esi
push dword [0x191b100]
push edi
push str.Need_Lng_Update
push ebp
call esi
push dword [0x191b100]
push edi
push str.Update_Incomplete
push ebp
call esi
push dword [0x191b104]
push str.Language
push ecx
call fcn.01901551
call fcn.01902dc8
mov ecx, 0x1916de0
cmp dword [0x191b104], ebx
je 0x1902026
mov ecx, 0x1916e50
xor edx, edx
call fcn.019027f0
mov edx, str.HotA_launcher.exe
push ecx
call fcn.019010a3
jmp 0x19020a9
mov cl, bl
call fcn.01902e32
mov ecx, 0x1916d08
cmp dword [0x191b104], ebx
je 0x1902053
mov ecx, str.Finishing_update...
call fcn.01902e8c
call fcn.01902dc8
cmp byte [esp + 0x13], 0
je 0x190202d
push dword [0x191b100]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.true
push str.Update_Incomplete
push str.Version
call esi
mov edx, str.http:__download.h3hota.com_HotA_setup
jmp 0x1902032
call fcn.01902dc8
mov ecx, 0x1916eb8
cmp dword [0x191b104], ebx
je 0x190209f
mov ecx, str.Error_01:_Connection_error.
mov edx, 0x2010
call fcn.019027f0
mov dword [esp + 0x24], ebx
call fcn.01902fa3
mov eax, dword [esp + 0x24]
pop edi
pop ebp
pop esi
mov ecx, dword [esp + 0x630]
pop ebx
xor ecx, esp
call fcn.01903196
add esp, 0x630
ret 0x10