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.019031a0
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, 0x19169a8
cmp dword [0x191b104], ebx
je 0x1901833
mov ecx, 0x19169f0
mov edx, 0x40000
call fcn.01902900
mov eax, ebx
jmp 0x19020b9
push esi
mov esi, 0x1916a40
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, 0x1916694
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, 0x1916af0
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, 0x1916bb8
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.01903040
mov cl, bl
call fcn.019030a0
mov ecx, 0x1916cd8
cmp dword [0x191b104], ebx
je 0x1901930
mov ecx, 0x1916ce8
call fcn.01903120
mov ecx, 0x1916cf8
cmp dword [0x191b104], ebx
je 0x1901947
mov ecx, str.Connecting_update_server...
call fcn.01903100
call fcn.01902a70
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 + 0x191791c]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902af0
cmp byte [0x191b214], 0
jne 0x1901e1c
test eax, eax
jne 0x19019c7
call fcn.01903020
mov ecx, 0x1916d90
cmp dword [0x191b104], ebx
je 0x1901ade
mov ecx, str.Error_02:_Version_getting_unsuccessful.
jmp 0x1901ade
mov ebp, 0x1916e4c
mov dword [esp + 0x14], eax
mov edx, ebp
lea ecx, [esp + 0x14]
call fcn.01903140
mov edx, ebp
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x14]
call fcn.01903140
mov esi, 0x1916680
test eax, eax
je 0x1901a0c
lea ecx, [esp + 0x20]
push ecx
push esi
push eax
call fcn.019036a5
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.019036a5
mov edi, dword [esp + 0x28]
add esp, 0xc
jmp 0x1901a32
xor edi, edi
mov dword [esp + 0x18], edi
mov ebp, 0x1916e50
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.01903100
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 + 0x191791c]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902af0
cmp byte [0x191b214], 0
jne 0x1901e1c
test eax, eax
jne 0x1901afe
call fcn.01903020
mov ecx, 0x1916f18
cmp dword [0x191b104], ebx
je 0x1901ade
mov ecx, str.Error_03:_Files_list_getting_unsuccessful.
mov edx, 0x40010
call fcn.01902900
call fcn.01902ad0
push dword [0x191b100]
call fcn.01903967
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.01903140
cmp dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
je 0x1901d8f
mov edx, str._cell_
lea ecx, [esp + 0x14]
call fcn.01903140
cmp dword [esp + 0x14], 0
mov esi, eax
mov dword [esp + 0x2c], esi
je 0x1901d8f
mov edx, 0x1916e4c
lea ecx, [esp + 0x14]
call fcn.01903140
cmp byte [0x191b214], 0
mov edi, eax
jne 0x1901e1c
cmp byte [edi], 0x5c
mov ecx, str._s_s
je 0x1901b70
mov ecx, 0x1916694
push esi
push edi
push 0x191b110
push ecx
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.019032a0
push eax
call fcn.019035c9
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.019030a0
mov ecx, 0x1916fd8
cmp dword [0x191b104], ebx
je 0x1901bc1
mov ecx, str.Abort
call fcn.01903120
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, 0x1916694
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, 0x1916694
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.01902c90
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, 0x1916694
push dword [esp + 0x2c]
push edi
push 0x191b110
push eax
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.019032a0
push eax
call fcn.019035c9
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, 0x1917250
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.File__hs_was_downloaded_with_errors.
push edi
push eax
jmp 0x1901d1f
mov eax, 0x1917178
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.Error_12:_No_permission_to_write__hs.
jmp 0x1901cbc
mov eax, 0x19170a8
cmp dword [0x191b104], ebx
je 0x1901cbc
mov eax, str.Error_11:_File__hs_is_being_used_by_another_process.
jmp 0x1901cbc
mov eax, 0x1917018
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, 0x19172d8
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.01903000
mov edx, 0x10040010
lea ecx, [esp + 0x138]
call fcn.01902900
mov esi, eax
call fcn.01902fe0
cmp esi, 4
je 0x1901b97
cmp esi, 3
jne 0x1901d84
call fcn.01903000
call fcn.01901632
test al, al
jne 0x1901e26
call fcn.01902fe0
jmp 0x1901b97
cmp dword [esp + 0x14], 0
jne 0x1901b08
mov edi, dword [esp + 0x18]
mov ebp, 0x1916e50
mov byte [esp + 0x13], 0
test edi, edi
jne 0x1901dd8
call fcn.01903000
mov ecx, 0x1917380
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.01902900
cmp eax, 6
sete byte [esp + 0x13]
call fcn.01902fe0
cmp byte [esp + 0x13], 0
je 0x190203a
cmp dword [0x191b104], ebx
je 0x1901de5
mov ebp, str.Getting_files_list...
mov ecx, ebp
call fcn.01903100
mov eax, dword [0x191b108]
push str.upd_delete.upd
push dword [eax*4 + 0x191791c]
push str._s__s
call fcn.019011b5
add esp, 0xc
mov ecx, eax
call fcn.01902af0
cmp byte [0x191b214], 0
mov esi, eax
je 0x1901e32
call fcn.01903000
call fcn.01901658
call fcn.01903250
xor eax, eax
jmp 0x19020b6
test esi, esi
je 0x1901e4d
mov ecx, 0x19176c0
cmp dword [0x191b104], ebx
je 0x1901e48
mov ecx, str.Deleting_previous_version_files...
call fcn.01903100
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, 0x1916e4c
lea ecx, [esp + 0x14]
call fcn.01903140
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, 0x1916694
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, 0x1916694
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, 0x1916694
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, 0x1916694
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.01903000
call fcn.01901658
jmp 0x19020ad
mov edi, dword [esp + 0x18]
test edi, edi
je 0x190203a
mov cl, bl
call fcn.019030a0
mov ecx, 0x1917750
cmp dword [0x191b104], ebx
je 0x1901f8f
mov ecx, str.Finishing_update...
call fcn.01903100
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.01903000
mov ecx, 0x19177fc
cmp dword [0x191b104], ebx
je 0x1902026
mov ecx, 0x1917838
xor edx, edx
call fcn.01902900
mov edx, str.HotA_launcher.exe
push ecx
call fcn.019010a3
jmp 0x19020a9
mov cl, bl
call fcn.019030a0
mov ecx, 0x1917750
cmp dword [0x191b104], ebx
je 0x1902053
mov ecx, str.Finishing_update...
call fcn.01903100
call fcn.01903000
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.01903000
mov ecx, 0x19178a0
cmp dword [0x191b104], ebx
je 0x190209f
mov ecx, str.Error_01:_Connection_error.
mov edx, 0x2010
call fcn.01902900
mov dword [esp + 0x24], ebx
call fcn.01903250
mov eax, dword [esp + 0x24]
pop edi
pop ebp
pop esi
mov ecx, dword [esp + 0x630]
pop ebx
xor ecx, esp
call fcn.019034f9
add esp, 0x630
ret 0x10