Function at 0x11012a90
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa9c
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push str.MSICreateLicence:_start_n
call fcn.1100bc80
add esp, 4
lea ecx, [ebp - 0xa2c]
call fcn.1101fba0
push 0x20019
push str.SOFTWARENetSupport_LtdInstaller
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xa2c]
call fcn.1101fe40
lea eax, [ebp - 0xa70]
push eax
xor ebx, ebx
push str.DebugLicenceDLL
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 0xa70], ebx
call fcn.1101ffe0
mov edi, 0x104
cmp dword [ebp - 0xa70], ebx
je 0x11012b30
mov edx, dword [0x110675dc]
push edi
lea ecx, [ebp - 0x758]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
push 0x110566b4
lea eax, [ebp - 0x758]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push esi
lea ecx, [ebp - 0xa98]
call fcn.11022180
lea ecx, [ebp - 0xa98]
mov dword [ebp - fcn.1100e530], vtable.CMSIDllEx.0
call fcn.110221d0
test eax, eax
jne 0x11012b90
push str.MSICreateLicence:_error_loading_msi.dll_n
call fcn.1100bbe0
add esp, 4
lea ecx, [ebp - 0xa98]
call fcn.110221b0
lea ecx, [ebp - 0xa2c]
call fcn.11020460
pop edi
pop esi
mov eax, 0x643
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [str.NSM_EVAL]
push ecx
lea ecx, [ebp - 0xa34]
call fcn.11022390
mov edx, dword [str.NSM_LICENCEE]
push edx
lea ecx, [ebp - 0xa4c]
call fcn.11022390
mov eax, dword [str.NSM_SERIALNO]
push eax
lea ecx, [ebp - 0xa44]
call fcn.11022390
mov ecx, dword [str.NSM_MAXCLIENTS]
push ecx
lea ecx, [ebp - 0xa3c]
call fcn.11022390
mov edx, dword [str.NSM_EXPIRYDATE]
push edx
lea ecx, [ebp - 0xa5c]
call fcn.11022390
mov eax, dword [str.NSM_AUTHCODE]
push eax
lea ecx, [ebp - 0xa64]
call fcn.11022390
mov ecx, dword [str.NSM_PRODUCT]
push ecx
lea ecx, [ebp - 0xa54]
call fcn.11022390
lea edx, [ebp - 0xa34]
push edx
lea eax, [ebp - 0xa98]
push eax
call fcn.1100c790
add esp, 8
test eax, eax
je 0x11012c85
push str.MSICreateLicence:_error_reading_NSM_EVAL_property_n
call fcn.1100bbe0
add esp, 4
lea ecx, [ebp - 0xa54]
call fcn.110223b0
lea ecx, [ebp - 0xa64]
call fcn.110223b0
lea ecx, [ebp - 0xa5c]
call fcn.110223b0
lea ecx, [ebp - 0xa3c]
call fcn.110223b0
lea ecx, [ebp - 0xa44]
call fcn.110223b0
lea ecx, [ebp - 0xa4c]
call fcn.110223b0
lea ecx, [ebp - 0xa34]
call fcn.110223b0
jmp 0x11012b62
lea ecx, [ebp - 0xa98]
push ecx
call fcn.1100eac0
push 0x2d0
lea edx, [ebp - 0xa28]
push ebx
push edx
call fcn.110278e0
add esp, 0x10
lea ecx, [ebp - 0xa34]
call fcn.11022420
test eax, eax
jne 0x11012e69
push str.MSICreateLicence:_register_license_file_n
call fcn.1100bc80
lea eax, [ebp - 0xa4c]
push eax
lea ecx, [ebp - 0xa98]
push ecx
call fcn.1100c790
add esp, 0xc
test eax, eax
je 0x11012ce7
push str.MSICreateLicence:_error_reading_NSM_LICENCEE_property_n
jmp 0x11012c2b
lea edx, [ebp - 0xa44]
push edx
lea eax, [ebp - 0xa98]
push eax
call fcn.1100c790
add esp, 8
test eax, eax
je 0x11012d0b
push str.MSICreateLicence:_error_reading_NSM_SERIALNO_property_n
jmp 0x11012c2b
lea ecx, [ebp - 0xa3c]
push ecx
lea edx, [ebp - 0xa98]
push edx
call fcn.1100c790
add esp, 8
test eax, eax
je 0x11012d2f
push str.MSICreateLicence:_error_reading_NSM_MAXCLIENTS_property_n
jmp 0x11012c2b
lea eax, [ebp - 0xa5c]
push eax
lea ecx, [ebp - 0xa98]
push ecx
call fcn.1100c790
add esp, 8
test eax, eax
je 0x11012d53
push str.MSICreateLicence:_error_reading_NSM_EXPIRYDATE_property_n
jmp 0x11012c2b
lea edx, [ebp - 0xa64]
push edx
lea eax, [ebp - 0xa98]
push eax
call fcn.1100c790
add esp, 8
test eax, eax
je 0x11012d77
push str.MSICreateLicence:_error_reading_NSM_AUTHCODE_property_n
jmp 0x11012c2b
mov eax, dword [ebp - 0xa48]
lea edx, [ebp - 0xa28]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x11012d85
mov eax, dword [ebp - 0xa40]
lea edx, [ebp - 0x988]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x11012da2
mov eax, dword [ebp - 0xa38]
lea edx, [ebp - 0x8e8]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x11012dc0
mov eax, dword [ebp - 0xa58]
lea edx, [ebp - 0x8dc]
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x11012de0
mov eax, dword [ebp - 0xa60]
lea edx, [ebp - 0x85c]
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x11012e00
lea ecx, [ebp - 0xa28]
push ecx
push str.MSICreateLicense:_Name___s__n
call fcn.1100bc80
lea edx, [ebp - 0x988]
push edx
push str.MSICreateLicense:_Serial_Number___s__n
call fcn.1100bc80
lea eax, [ebp - 0x8e8]
push eax
push str.MSICreateLicense:_Max_Clients___s__n
call fcn.1100bc80
lea ecx, [ebp - 0x8dc]
push ecx
push str.MSICreateLicense:_Expiry___s__n
call fcn.1100bc80
lea edx, [ebp - 0x85c]
push edx
push str.MSICreateLicense:_Code___s__n
call fcn.1100bc80
add esp, 0x28
jmp 0x11012e97
push str.MSICreateLicence:_create_eval_key_n
call fcn.1100bc80
add esp, 4
xor eax, eax
jmp 0x11012e80
movzx ecx, word [eax + str.EVAL]
mov word [ebp + eax - 0xa28], cx
add eax, 2
cmp cx, bx
jne 0x11012e80
lea eax, [ebp - 0xa54]
push eax
lea ecx, [ebp - 0xa98]
push ecx
mov dword [ebp - 0x75c], ebx
call fcn.1100c790
add esp, 8
test eax, eax
jne 0x11012ecc
mov edx, dword [ebp - 0xa50]
push edx
call fcn.1102b132
add esp, 4
mov dword [ebp - 0x75c], eax
push 0x208
lea eax, [ebp - 0x348]
push ebx
push eax
mov dword [ebp - 0xa6c], edi
call fcn.110278e0
add esp, 0xc
lea ecx, [ebp - 0xa6c]
push ecx
lea edx, [ebp - 0x348]
push edx
push str.EXTRAFILESPATH
lea ecx, [ebp - 0xa98]
call fcn.11022280
cmp eax, ebx
je 0x11012f16
push eax
push str.EXTRAFILESPATH
push str.GetProp__s__ERROR__d_n
jmp 0x11012f27
lea eax, [ebp - 0x348]
push eax
push str.EXTRAFILESPATH
push str.GetProp__s____s_n
call fcn.1100bc80
lea eax, [ebp - 0x348]
add esp, 0xc
lea edx, [eax + 2]
jmp 0x11012f40
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x11012f40
sub eax, edx
sar eax, 1
jne 0x11012f83
lea ecx, [ebp - 0xa6c]
push ecx
lea edx, [ebp - 0x348]
push edx
push str.TempFolder
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0xa6c], edi
call fcn.1100e530
test eax, eax
je 0x11012f83
push str.MSICreateLicence:_error_reading_TempFolder_property_n
jmp 0x11012c2b
lea eax, [ebp - 0x348]
push eax
push str.MSICreateLicense:_Create_license_file_in__s_n
call fcn.1100bc80
add esp, 8
lea ecx, [ebp - 0x348]
push ecx
push str.TEMP
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push 0x206
lea eax, [ebp - 0x54e]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x550], dx
call fcn.110278e0
add esp, 0xc
lea ecx, [ebp - 0xa9c]
push ecx
lea edx, [ebp - 0x550]
push edx
push str.NSMPATH
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0xa9c], edi
call fcn.1100e530
lea eax, [ebp - 0x550]
push eax
push str.MSICreateLicense:_About_to_call_MSICheckLicence__NSMPATH___s__n
call fcn.1100bc80
add esp, 8
push esi
call sym.LICENCE.dll_MSICheckLicence
test eax, eax
je 0x1101302d
lea ecx, [ebp - 0xa34]
call fcn.11022420
test eax, eax
jne 0x1101302d
push 0x110544cc
push str.NSM_LICENCETYPE
lea ecx, [ebp - 0xa98]
call fcn.1100e580
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push 0x5dc
lea ecx, [ebp - 0x2c]
push 0x11053990
push ecx
call esi
mov eax, dword [ebp - 0x75c]
add esp, 0xc
cmp eax, 0x14
jge 0x11013058
push 0x578
jmp 0x110130c2
cmp eax, 0x3c
jne 0x1101306d
push 0x24a2c
push 0x11053990
lea eax, [ebp - 0x2c]
push eax
jmp 0x110130cb
cmp eax, 0x39
jne 0x11013082
push 0x24a2c
push 0x11053990
lea ecx, [ebp - 0x2c]
push ecx
jmp 0x110130cb
cmp eax, 0x1b
jne 0x1101308e
push 0x24a0b
jmp 0x110130c2
cmp eax, 0x19
jne 0x110130a3
push 0x24a09
push 0x11053990
lea eax, [ebp - 0x2c]
push eax
jmp 0x110130cb
cmp eax, 0x28
jne 0x110130b8
push 0xc8
push 0x11053990
lea ecx, [ebp - 0x2c]
push ecx
jmp 0x110130cb
cmp eax, 0x64
jne 0x110130d0
push 0x1f4
push 0x11053990
lea edx, [ebp - 0x2c]
push edx
call esi
add esp, 0xc
lea eax, [ebp - 0x2c]
push eax
call fcn.1102b132
add esp, 4
cmp dword [ebp - 0x75c], 0x64
jne 0x110130fa
cmp eax, 0x190
jl 0x110130fa
cmp eax, 0x3e8
je 0x110130fa
mov eax, 2
jmp 0x1101311b
cmp eax, 0x4ec
jl 0x11013116
cmp eax, 0x186a0
jl 0x1101310f
cmp eax, 0x1ec30
jl 0x11013116
mov eax, 2
jmp 0x1101311b
mov eax, 1
mov ecx, dword [0x110675c4]
mov dword [0x110675d4], eax
mov edx, dword [ecx + 4]
push edx
mov dword [ebp - 0xa68], eax
call fcn.110279bb
lea eax, [ebp - 0x2c]
add esp, 4
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x11013140
sub eax, edx
sar eax, 1
add eax, 2
push eax
push 2
call fcn.1102b1c0
mov ecx, dword [0x110675c4]
mov dword [ecx + 4], eax
mov edx, dword [0x110675c4]
mov edx, dword [edx + 4]
add esp, 8
lea ecx, [ebp - 0x2c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x11013172
mov edi, dword [0x110675c4]
mov dword [0x110675cc], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, dword [edi + 4]
movzx eax, word [esi]
test ax, ax
je 0x11013240
cmp eax, 0x3b
je 0x11013240
push 0x100
lea eax, [ebp - 0x140]
push 0
push eax
call fcn.110278e0
mov edx, dword [0x110675d0]
add esp, 0xc
push 0
push 0
push 0x100
lea ecx, [ebp - 0x140]
push ecx
push 0xffffffffffffffff
push esi
push 0
push edx
call ebx
lea eax, [ebp - 0x140]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110131f0
sub eax, edx
cmp dword [ebp - 0xa68], 2
jne 0x11013219
lea ecx, [ebp - 0x140]
push ecx
mov ecx, dword [0x110675cc]
call fcn.1100ae10
add esp, 4
jmp 0x1101323b
mov edx, dword [0x110675cc]
inc eax
push edx
cdq
sub eax, edx
sar eax, 1
or eax, 0xffff8000
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.11015300
add esp, 0xc
mov dword [0x110675cc], eax
mov eax, dword [edi]
test eax, eax
je 0x1101324d
mov edi, eax
jmp 0x11013195
push str.MSICreateLicense:_create_license_file_n
call fcn.1100bc80
push 0
push 0
lea ecx, [ebp - 0xa28]
push ecx
push 1
call fcn.11011a50
movzx eax, ax
movsx esi, ax
push esi
push str.MSICreateLicense:_create_license_file_returned__d_n
call fcn.1100bc80
push 0xa
lea edx, [ebp - 0x40]
push edx
push esi
call fcn.1102b971
add esp, 0x28
lea eax, [ebp - 0x40]
push eax
push str.NSM_LICENCERESULT
lea ecx, [ebp - 0xa98]
call fcn.110222b0
lea ecx, [ebp - 0x40]
push ecx
push str.NSM_LICENCERESULT
push str.SetProp__s___s__n
call fcn.1100bc80
add esp, 0xc
lea ecx, [ebp - 0xa54]
call fcn.110223b0
lea ecx, [ebp - 0xa64]
call fcn.110223b0
lea ecx, [ebp - 0xa5c]
call fcn.110223b0
lea ecx, [ebp - 0xa3c]
call fcn.110223b0
lea ecx, [ebp - 0xa44]
call fcn.110223b0
lea ecx, [ebp - 0xa4c]
call fcn.110223b0
lea ecx, [ebp - 0xa34]
call fcn.110223b0
lea ecx, [ebp - 0xa98]
call fcn.110221b0
lea ecx, [ebp - 0xa2c]
call fcn.11020460
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.110278cd
mov esp, ebp
pop ebp
ret 4