Function at 0x40ce10
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x165c
call fcn.00415110
mov eax, dword [0x426004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x1634]
push eax
push 0x20019
push 0
push str.SOFTWARESecureW2License
mov edi, ecx
mov esi, edx
push 0x80000002
mov dword [ebp - 0x163c], edi
mov dword [ebp - 0x1640], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test ebx, ebx
jne 0x40d2bb
mov ecx, dword [ebp - 0x1634]
push ecx
lea edi, [ebp - 0x1644]
lea eax, [ebp - 0x1638]
mov ebx, str.DataBlob
call fcn.0040c4e0
mov edi, eax
xor eax, eax
add esp, 4
cmp edi, eax
jne 0x40cf5f
mov edx, dword [ebp - 0x1644]
mov ecx, dword [ebp - 0x1638]
mov dword [ebp - 0x1650], edx
lea edx, [ebp - 0x1630]
push edx
push 5
push eax
push eax
mov dword [ebp - 0x1630], eax
mov dword [ebp - 0x162c], eax
lea eax, [ebp - 0x1658]
mov dword [ebp - 0x164c], ecx
push eax
lea ecx, [ebp - 0x1648]
push ecx
lea edx, [ebp - 0x1650]
push edx
mov dword [ebp - 0x1654], str.534543555245573252554c455a544845574f524c44574954484f55544245494e474556494c
mov dword [ebp - 0x1658], 0x4b
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x40cf4f
mov eax, dword [ebp - 0x1630]
push eax
lea esi, [ebp - 0x1628]
call fcn.0040bae0
mov edi, eax
add esp, 4
test edi, edi
jne 0x40cf2f
mov eax, dword [ebp - 0x1630]
mov ecx, dword [ebp - 0x162c]
mov edx, dword [ebp - 0x1628]
push eax
push ecx
push eax
push edx
mov dword [ebp - 0x1624], eax
call fcn.0040f557
add esp, 0x10
mov eax, dword [ebp - 0x1648]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call esi
mov ecx, dword [ebp - 0x162c]
push ecx
call esi
mov esi, dword [ebp - 0x1640]
jmp 0x40cf54
mov edi, 0x1771
lea eax, [ebp - 0x1638]
call fcn.0040bb70
mov ebx, edi
test edi, edi
jne 0x40d2a4
mov eax, dword [ebp - 0x1624]
cmp eax, 0xe18
jne 0x40d0b8
push str.SW2_TRACE_LEVEL_DEBUG
push str.__23s::SW2VerifyLicense__::found_old_license
mov eax, 0x80000
call fcn.0040b690
push 0xe18
lea edx, [ebp - 0x1620]
push edi
push edx
call fcn.00410110
mov eax, dword [ebp - 0x1628]
add esp, 0x14
push 0xe18
push eax
lea ecx, [ebp - 0x1620]
push 0xe18
push ecx
call fcn.0040f557
mov edx, dword [ebp - 0x1210]
mov eax, dword [ebp - 0x1214]
mov ecx, dword [ebp - 0x120c]
mov dword [esi + 0x410], edx
mov edx, dword [ebp - 0x1218]
mov dword [esi + 0x40c], eax
mov eax, dword [ebp - 0x121c]
mov dword [esi + 0x408], edx
push 0x200
lea edx, [ebp - 0xe08]
push edx
mov dword [esi + 0x404], eax
mov dword [esi + 0x414], ecx
mov ecx, dword [ebp - 0x1220]
lea eax, [esi + 0xa18]
push 0x200
push eax
mov dword [esi + 0x400], ecx
call fcn.0040f557
push 0x200
lea ecx, [ebp - 0x1208]
push ecx
lea edx, [esi + 0x418]
push 0x200
push edx
call fcn.0040f557
push 0x200
lea eax, [ebp - 0x1008]
push eax
lea ecx, [esi + 0x618]
push 0x200
push ecx
call fcn.0040f557
add esp, 0x40
push 0x200
lea edx, [ebp - 0x1620]
push edx
push 0x200
push esi
call fcn.0040f557
push 0x200
lea eax, [ebp - 0x1420]
push eax
lea ecx, [esi + 0x200]
push 0x200
push ecx
call fcn.0040f557
push 0x400
lea edx, [ebp - 0xc08]
push edx
lea eax, [esi + 0xc18]
push 0x400
push eax
call fcn.0040f557
add esp, 0x30
jmp 0x40d0e9
cmp eax, 0x1018
jne 0x40d294
push eax
push 0
push esi
call fcn.00410110
mov ecx, dword [ebp - 0x1628]
add esp, 0xc
push 0x1018
push ecx
push 0x1018
push esi
call fcn.0040f557
add esp, 0x10
lea eax, [esi + 0xc18]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d0f2
sub eax, edx
sar eax, 1
je 0x40d114
mov ecx, esi
call fcn.0040d330
mov ebx, eax
test ebx, ebx
jne 0x40d299
lea eax, [esi + 0xc18]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d120
sub eax, edx
sar eax, 1
jne 0x40d158
call fcn.0040ca10
mov ecx, dword [esi + 0x400]
cmp ecx, eax
ja 0x40d14e
add ecx, 0x93a80
cmp ecx, eax
ja 0x40d226
mov ebx, 0x76d
jmp 0x40d299
mov eax, dword [esi + 0x410]
test al, 1
je 0x40d17d
call fcn.0040ca10
cmp eax, dword [esi + 0x404]
jbe 0x40d226
mov ebx, 0x76d
jmp 0x40d299
test al, 0x64
je 0x40d1e4
lea eax, [esi + 0xa18]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d190
sub eax, edx
sar eax, 1
jne 0x40d1e4
lea eax, [esi + 0x818]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d1b0
sub eax, edx
sar eax, 1
jne 0x40d1e4
call fcn.0040ca10
mov ecx, dword [esi + 0x400]
cmp ecx, eax
ja 0x40d1da
add ecx, 0x278d00
cmp ecx, eax
ja 0x40d226
mov ebx, 0x76d
jmp 0x40d299
mov ecx, str.deactivated
lea eax, [esi + 0xa18]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40d216
test dx, dx
je 0x40d212
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40d216
add eax, 4
add ecx, 4
test dx, dx
jne 0x40d1f0
xor eax, eax
jmp 0x40d21b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40d226
mov ebx, 0x1b93
jmp 0x40d299
mov ecx, str.3.5.11
lea eax, [esi + 0x200]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40d257
test dx, dx
je 0x40d253
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40d257
add eax, 4
add ecx, 4
test dx, dx
jne 0x40d231
xor eax, eax
jmp 0x40d25c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40d294
mov eax, str.Enterprise_Client
mov cx, word [esi]
cmp cx, word [eax]
jne 0x40d28b
test cx, cx
je 0x40d287
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x40d28b
add esi, 4
add eax, 4
test cx, cx
jne 0x40d265
xor eax, eax
jmp 0x40d290
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40d299
mov ebx, 0xd
lea eax, [ebp - 0x1628]
call fcn.0040bb70
mov edx, dword [ebp - 0x1634]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x40d31d
mov edi, dword [ebp - 0x163c]
test edi, edi
je 0x40d305
push 0x800
lea eax, [ebp - 0x808]
push 0
push eax
call fcn.00410110
mov edx, dword [0x4285bc]
add esp, 0xc
push 0x800
lea ecx, [ebp - 0x808]
push ecx
push 0x6c
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x10
lea eax, [ebp - 0x808]
push eax
push str.Your_License_has_expired__please_contact_SecureW2
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
push str.SW2_TRACE_LEVEL_ERROR
push str.__23s::SW2VerifyLicense__::License_expired___ld_
mov eax, 0x10000
call fcn.0040b690
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0040f43d
mov esp, ebp
pop ebp
ret