Function at 0x40d950
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x121c
call fcn.00456fe0
mov eax, dword [0x4a4300]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xfff
lea eax, [ebp - 0x1207]
mov dword [ebp - 0x1214], edx
push 0
push eax
mov dword [ebp - 0x1218], ecx
mov byte [ebp - 0x1208], 0
call fcn.00452270
add esp, 0xc
call fcn.0040fa20
mov edi, eax
mov ebx, edx
call fcn.0040fa20
sub eax, edi
sbb edx, ebx
test edx, edx
jg 0x40da54
jl 0x40d9ba
cmp eax, 0x7530
ja 0x40da54
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x4835d8
call esi
push 0x4835d8
call fcn.004580ba
add esp, 4
lea ecx, [ebp - 0x1208]
call fcn.0040d7d0
cmp eax, 1
je 0x40da00
call fcn.0040fa20
sub eax, edi
sbb edx, ebx
mov dword [ebp - 0x120c], edx
js 0x40d9c0
jg 0x40da54
cmp eax, 0x7530
jbe 0x40d9c0
jmp 0x40da54
push 0x1ff
lea eax, [ebp - 0x207]
mov byte [ebp - 0x208], 0
push 0
push eax
call fcn.00452270
add esp, 0xc
call fcn.0040fa20
sub eax, edi
sbb edx, ebx
push edx
push eax
lea eax, [ebp - 0x208]
push 0x4835fc
push eax
call fcn.004573bf
add esp, 0x10
lea eax, [ebp - 0x208]
push eax
call esi
lea eax, [ebp - 0x208]
push eax
call fcn.004580ba
add esp, 4
cmp byte [ebp - 0x1208], 0xef
lea ecx, [ebp - 0x1208]
mov dword [ebp - 0x120c], ecx
jne 0x40da88
cmp byte [ebp - 0x1207], 0xbb
jne 0x40da88
cmp byte [ebp - 0x1206], 0xbf
lea eax, [ebp - 0x1205]
cmovne eax, ecx
mov dword [ebp - 0x120c], eax
xor edx, edx
lea ecx, [ebp - 0x120c]
call fcn.004090c0
mov esi, eax
test esi, esi
je 0x40dae0
cmp dword [esi + 4], 4
xorps xmm0, xmm0
jne 0x40dace
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x40dace
push 6
mov edx, str.status
call fcn.00408cb0
add esp, 4
test eax, eax
je 0x40dacb
cmp dword [eax + 4], 3
jne 0x40dacb
movsd xmm0, qword [eax + 8]
jmp 0x40dace
xorps xmm0, xmm0
cvttsd2si eax, xmm0
cmp eax, 0xc8
je 0x40daf3
mov ecx, esi
call fcn.0040a4d0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00451570
mov esp, ebp
pop ebp
ret
cmp dword [esi + 4], 4
jne 0x40db20
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x40db20
push 0xc
mov edx, str.isNeedUpdate
call fcn.00408cb0
add esp, 4
test eax, eax
je 0x40db20
cmp dword [eax + 4], 3
jne 0x40db20
movsd xmm0, qword [eax + 8]
jmp 0x40db23
xorps xmm0, xmm0
cvttsd2si eax, xmm0
test eax, eax
je 0x40dad9
cmp dword [esi + 4], 4
jne 0x40dc25
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x40dba9
push 0xd
mov edx, str.updateListUrl
call fcn.00408cb0
add esp, 4
test eax, eax
je 0x40dba9
cmp dword [eax + 4], 2
jne 0x40dba9
add eax, 8
je 0x40dba9
mov edi, dword [eax]
test edi, edi
je 0x40dba9
cmp dword [esi + 4], 4
jne 0x40db6b
mov ecx, dword [esi + 8]
jmp 0x40db6d
xor ecx, ecx
mov edx, str.updateListUrl
call fcn.0040a3b0
mov ebx, eax
lea ecx, [ebx - 1]
cmp ecx, 0x256
ja 0x40dba9
push 0x258
push 0
push dword [ebp - 0x1218]
call fcn.00452270
add esp, 0xc
push ebx
push edi
push dword [ebp - 0x1218]
call fcn.00451c20
add esp, 0xc
cmp dword [esi + 4], 4
jne 0x40dc25
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x40dc25
push 0x12
mov edx, str.spareUpdateListUrl
call fcn.00408cb0
add esp, 4
test eax, eax
je 0x40dc25
cmp dword [eax + 4], 2
jne 0x40dc25
lea edi, [eax + 8]
test edi, edi
je 0x40dc25
mov edi, dword [edi]
test edi, edi
je 0x40dc25
cmp dword [esi + 4], 4
jne 0x40dbe7
mov ecx, dword [esi + 8]
jmp 0x40dbe9
xor ecx, ecx
mov edx, str.spareUpdateListUrl
call fcn.0040a3b0
mov ebx, eax
lea ecx, [ebx - 1]
cmp ecx, 0x256
ja 0x40dc25
push 0x258
push 0
push dword [ebp - 0x1214]
call fcn.00452270
add esp, 0xc
push ebx
push edi
push dword [ebp - 0x1214]
call fcn.00451c20
add esp, 0xc
mov ecx, esi
call fcn.0040a4d0
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451570
mov esp, ebp
pop ebp
ret