Function at 0x40ffe0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1084
call fcn.00457ef0
mov eax, dword [0x4a3300]
xor eax, esp
mov dword [esp + 0x1080], eax
push ebx
push esi
push edi
push 0xfff
lea eax, [esp + 0x8d]
mov dword [esp + 0x14], edx
push 0
push eax
mov dword [esp + 0x20], ecx
mov byte [esp + 0x94], 0
call fcn.00453200
add esp, 0xc
call fcn.00409e10
mov edi, eax
mov ebx, edx
call fcn.00409e10
sub eax, edi
sbb edx, ebx
test edx, edx
jg 0x4100bc
jl 0x410047
cmp eax, 0x7530
ja 0x4100bc
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ecx]
push str._DEBUG__
call esi
lea ecx, [esp + 0x88]
call fcn.0040fe60
cmp eax, 1
je 0x410082
call fcn.00409e10
sub eax, edi
sbb edx, ebx
mov dword [esp + 0x1c], edx
js 0x410050
jg 0x4100bc
cmp eax, 0x7530
jbe 0x410050
jmp 0x4100bc
push 0x63
lea eax, [esp + 0x25]
mov byte [esp + 0x24], 0
push 0
push eax
call fcn.00453200
add esp, 0xc
call fcn.00409e10
sub eax, edi
sbb edx, ebx
push edx
push eax
lea eax, [esp + 0x28]
push str._DEBUG___lld__
push eax
call fcn.004582cf
add esp, 0x10
lea eax, [esp + 0x20]
push eax
call esi
cmp byte [esp + 0x88], 0xef
lea ecx, [esp + 0x88]
mov dword [esp + 0x18], ecx
jne 0x4100f1
cmp byte [esp + 0x89], 0xbb
jne 0x4100f1
cmp byte [esp + 0x8a], 0xbf
lea eax, [esp + 0x8b]
cmovne eax, ecx
mov dword [esp + 0x18], eax
xor edx, edx
lea ecx, [esp + 0x18]
call fcn.0040b370
mov esi, eax
test esi, esi
je 0x410147
cmp dword [esi + 4], 4
xorps xmm0, xmm0
jne 0x410135
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x410135
push 6
mov edx, str.status
call fcn.0040af60
add esp, 4
test eax, eax
je 0x410132
cmp dword [eax + 4], 3
jne 0x410132
movsd xmm0, qword [eax + 8]
jmp 0x410135
xorps xmm0, xmm0
cvttsd2si eax, xmm0
cmp eax, 0xc8
je 0x41015e
mov ecx, esi
call fcn.0040c730
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1080]
xor ecx, esp
call fcn.004524fc
mov esp, ebp
pop ebp
ret
cmp dword [esi + 4], 4
jne 0x41018b
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x41018b
push 0xc
mov edx, str.isNeedUpdate
call fcn.0040af60
add esp, 4
test eax, eax
je 0x41018b
cmp dword [eax + 4], 3
jne 0x41018b
movsd xmm0, qword [eax + 8]
jmp 0x41018e
xorps xmm0, xmm0
cvttsd2si eax, xmm0
test eax, eax
je 0x410140
cmp dword [esi + 4], 4
jne 0x4101a1
mov ecx, dword [esi + 8]
jmp 0x4101a3
xor ecx, ecx
mov edx, str.updateListUrl
call fcn.0040c5d0
mov edi, eax
test edi, edi
je 0x4101f8
cmp dword [esi + 4], 4
jne 0x4101be
mov ecx, dword [esi + 8]
jmp 0x4101c0
xor ecx, ecx
mov edx, str.updateListUrl
call fcn.0040c610
mov ebx, eax
lea ecx, [ebx - 1]
cmp ecx, 0x256
ja 0x4101f8
push 0x258
push 0
push dword [esp + 0x1c]
call fcn.00453200
add esp, 0xc
push ebx
push edi
push dword [esp + 0x1c]
call fcn.00452bb0
add esp, 0xc
cmp dword [esi + 4], 4
jne 0x410203
mov ecx, dword [esi + 8]
jmp 0x410205
xor ecx, ecx
mov edx, str.spareUpdateListUrl
call fcn.0040c5d0
mov ebx, eax
test ebx, ebx
je 0x41025a
cmp dword [esi + 4], 4
jne 0x410220
mov ecx, dword [esi + 8]
jmp 0x410222
xor ecx, ecx
mov edx, str.spareUpdateListUrl
call fcn.0040c610
mov edi, eax
lea ecx, [edi - 1]
cmp ecx, 0x256
ja 0x41025a
push 0x258
push 0
push dword [esp + 0x18]
call fcn.00453200
add esp, 0xc
push edi
push ebx
push dword [esp + 0x18]
call fcn.00452bb0
add esp, 0xc
mov ecx, esi
call fcn.0040c730
mov ecx, dword [esp + 0x108c]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004524fc
mov esp, ebp
pop ebp
ret