Function at 0x40cd00
Capabilities:
Check if file exists
Delete file
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55b380
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x204c
call fcn.00538060
mov eax, dword [0x5c2b50]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2020], edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2024], eax
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x2028], esi
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x2014], ax
push 0x1ffe
push eax
lea eax, [ebp - 0x2012]
push eax
call fcn.00537300
add esp, 0xc
lea ecx, [ebp - 0x203c]
call fcn.0041f02e
test edi, edi
jne 0x40ce15
push str._n______________________________________________________________________________________________n
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call edi
push 0x800
call fcn.005369fe
mov esi, eax
push 0x800
push ebx
push esi
call fcn.00537300
push 0x57
push str.DumpDownFile
push 0x83
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservicewinhttp_update_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x83
push str.DumpDownFile
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x40cdf9
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call edi
lea ecx, [ebp - 0x203c]
call fcn.0041f0a4
mov eax, 0x57
jmp 0x40d254
test esi, esi
jne 0x40ce7a
push str._n______________________________________________________________________________________________n
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call edi
push 0x800
call fcn.005369fe
mov esi, eax
push 0x800
push 0
push esi
call fcn.00537300
push 0x57
push str.DumpDownFile
push 0x86
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservicewinhttp_update_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x86
jmp 0x40cddf
cmp dword [ebp - 0x2024], ebx
jne 0x40cee3
push str._n______________________________________________________________________________________________n
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call edi
push 0x800
call fcn.005369fe
mov esi, eax
push 0x800
push 0
push esi
call fcn.00537300
push 0x57
push str.DumpDownFile
push 0x89
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservicewinhttp_update_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x89
jmp 0x40cddf
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x40cfa1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40cfa1
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x800
call fcn.005369fe
mov dword [ebp - 0x2018], eax
push 0x800
push 0
push eax
call fcn.00537300
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DumpDownFile
push 0x8f
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservicewinhttp_update_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push dword [ebp - 0x2018]
call fcn.00406430
add esp, 0x20
push dword [ebp - 0x2018]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push dword [ebp - 0x2018]
push 0x8f
push str.DumpDownFile
call fcn.00404610
add esp, 0xc
mov eax, dword [ebp - 0x2018]
test eax, eax
je 0x40cf96
push eax
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x2018]
push eax
lea ecx, [ebp - 0x203c]
call fcn.004202a7
mov eax, dword [eax]
cmp dword [eax - 0xc], ebx
setne byte [ebp - 0x2019]
mov edx, dword [ebp - 0x2018]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cfdf
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
cmp byte [ebp - 0x2019], bl
je 0x40cff2
lea ecx, [ebp - 0x203c]
call fcn.0041f33e
push 0
push 0x9001
push edi
lea ecx, [ebp - 0x203c]
call fcn.0041f5fa
test eax, eax
jne 0x40d0b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [ebp - 0x2018], ebx
push edi
mov ecx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call ecx
test ebx, ebx
je 0x40d233
push str._n______________________________________________________________________________________________n
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call ebx
push 0x800
call fcn.005369fe
mov esi, eax
push 0x800
push 0
push esi
call fcn.00537300
mov eax, dword [ebp - 0x2018]
push eax
push str.DumpDownFile
push 0x9b
push str.c:devdragon_release_sync_srcdragonupdateservicedragonupdateservicewinhttp_update_api.cpp
push str.CD_Module
push str._s_____s____d____s___returned__d
push 0x800
push esi
call fcn.00406430
add esp, 0x30
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push 0x9b
push str.DumpDownFile
call fcn.00404610
add esp, 0xc
test esi, esi
je 0x40d0a7
push esi
call fcn.005369c6
add esp, 4
push str._n______________________________________________________________________________________________n
call ebx
mov ebx, dword [ebp - 0x2018]
jmp 0x40d233
mov dword [ebp - 4], 0
mov eax, dword [esi]
push 0x1000
lea ecx, [ebp - 0x2014]
push ecx
mov ecx, esi
call dword [eax + 0x38]
mov esi, eax
push dword [ebp - 0x2028]
call fcn.0040d3f0
add esp, 4
mov ecx, eax
or ecx, edx
jne 0x40d0f0
mov eax, 0x2000000
xor edx, edx
push edx
push eax
lea ecx, [ebp - 0x205c]
call fcn.0040b9c0
lea ecx, [ecx]
test esi, esi
je 0x40d146
push esi
lea eax, [ebp - 0x2014]
push eax
lea ecx, [ebp - 0x203c]
call fcn.0041f9b6
add ebx, esi
mov dword [ebp - 0x2044], ebx
push esi
lea ecx, [ebp - 0x205c]
call fcn.0040bac0
push 0
push dword [ebp - 0x2024]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40d15f
push edi
mov ecx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call ecx
lea ecx, [ebp - 0x205c]
call fcn.0040ba30
mov dword [ebp - 4], 0xffffffff
xor ebx, ebx
jmp 0x40d233
mov ecx, dword [ebp - 0x2028]
mov eax, dword [ecx]
push 0x1000
lea edx, [ebp - 0x2014]
push edx
call dword [eax + 0x38]
mov esi, eax
push 2
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40d100
cmp dword [ebp - 0x2038], 0xffffffff
je 0x40d247
lea ecx, [ebp - 0x203c]
call fcn.0041f33e
lea ecx, [ebp - 0x203c]
call fcn.0041f0a4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00536ab6
mov esp, ebp
pop ebp
ret