Function at 0x40dcd6
Capabilities:
Check if file exists

Disassembly:
push esi
push 0xc8
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.0040d884
mov ecx, esi
call fcn.0040ce9b
mov ecx, esi
call fcn.0040d783
mov ecx, esi
call fcn.0040dfc8
mov ecx, esi
pop esi
jmp 0x40dd57
push 0x3a0
mov eax, 0x451272
call fcn.00417f91
mov edi, ecx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0042c1a0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x218]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
call esi
push str.update_rate.ini
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40dea5
xor ebx, ebx
inc ebx
mov dword [edi + 0x3c], ebx
call fcn.00416cc0
push ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, ebx
jne 0x40dfc2
and dword [ebp - 0x238], eax
lea ecx, [ebp - 0x248]
push 0xf
pop esi
push 0x3c
push str.e:workspace_aichat_aichat_updateupdateupdatorfunction.cpp
mov dword [ebp - 0x234], esi
mov byte [ebp - 0x248], al
call fcn.0040610e
xor eax, eax
mov dword [ebp - 0x21c], esi
push 3
push 0x45476c
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], eax
mov dword [ebp - 0x220], eax
mov byte [ebp - 0x230], al
call fcn.0040610e
push 0x4d
lea eax, [ebp - 0x248]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x314]
call fcn.00403218
mov esi, eax
push str.CUpdatorFunction::StartUpdateFiles_INI
push esi
mov byte [ebp - 4], 2
call fcn.00403ac5
pop ecx
pop ecx
call fcn.00416cc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x314]
call fcn.00403cc7
lea ecx, [ebp - 0x230]
call fcn.00405f18
lea ecx, [ebp - 0x248]
call fcn.00405f18
jmp 0x40dfc2
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0040158b
lea eax, [edi + 0x38]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x27c]
push eax
push edi
lea ecx, [edi + 4]
call fcn.0040c84d
mov ecx, dword [ebp - 0x27c]
mov esi, eax
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.00402009
test esi, esi
jne 0x40dfc2
call fcn.00416cc0
xor ebx, ebx
inc ebx
push ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, ebx
jne 0x40dfbf
and dword [ebp - 0x268], eax
lea ecx, [ebp - 0x278]
push 0xf
pop esi
push 0x3c
push str.e:workspace_aichat_aichat_updateupdateupdatorfunction.cpp
mov dword [ebp - 0x264], esi
mov byte [ebp - 0x278], al
call fcn.0040610e
and dword [ebp - 0x250], 0
lea ecx, [ebp - 0x260]
push 3
push 0x45476c
mov dword [ebp - 4], 4
mov dword [ebp - 0x24c], esi
mov byte [ebp - 0x260], 0
call fcn.0040610e
push 0x54
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x3ac]
call fcn.00403218
mov esi, eax
push str.CUpdatorFunction::StartUpdateFiles
push esi
mov byte [ebp - 4], 6
call fcn.00403ac5
pop ecx
pop ecx
call fcn.00416cc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x3ac]
call fcn.00403cc7
lea ecx, [ebp - 0x260]
call fcn.00405f18
lea ecx, [ebp - 0x278]
call fcn.00405f18
mov dword [edi + 0x3c], ebx
call fcn.00417f3b
ret