Function at 0x1102b5f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1117f072
mov eax, dword fs:[0]
push eax
sub esp, 0x6d8
mov eax, dword [0x111eb774]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bx, word [ebp + 0x10]
mov edi, dword [ebp + 8]
movzx eax, bx
push eax
push str.ReplaceLicFile_:_Start___flags__d_n
mov dword [ebp - 0x6bc], edi
call fcn.11146450
mov cl, bl
mov al, bl
shr cl, 2
and al, 1
and cl, 1
shr bl, 3
add esp, 8
and bl, 1
mov byte [ebp - 0x6ae], al
mov byte [ebp - 0x6af], cl
je 0x1102b790
push str.Activate_only_n
call fcn.11146450
push 0x7c
push edi
call fcn.11164150
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1102b789
push 0
push edi
lea ecx, [ebp - 0x2c]
mov byte [esi], 0
call fcn.110d0790
push 0
inc esi
push esi
lea ecx, [ebp - 0x6cc]
mov dword [ebp - 4], 0
call fcn.110d0790
mov edx, dword [ebp - 0x6cc]
mov eax, dword [edx]
lea ecx, [ebp - 0x6cc]
mov byte [ebp - 4], 1
call eax
test al, al
jne 0x1102b6cf
push 0x250
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
mov esi, dword [ebp - 0x6c0]
lea ecx, [ebp - 0x2c]
call eax
test al, al
jne 0x1102b6f7
push 0x250
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov ecx, dword [ebp - 0x20]
push esi
push ecx
push str.Key___s___code___s__n
call fcn.11146450
mov edx, dword [ebp - 0x6cc]
mov eax, dword [edx]
add esp, 0xc
lea ecx, [ebp - 0x6cc]
call eax
test al, al
jne 0x1102b731
push 0x255
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
mov esi, dword [ebp - 0x6c0]
lea ecx, [ebp - 0x2c]
call eax
test al, al
jne 0x1102b759
push 0x255
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov ecx, dword [ebp - 0x20]
push esi
push str.InternetCode
push ecx
call fcn.11111700
add esp, 0xc
lea ecx, [ebp - 0x6cc]
mov byte [ebp - 4], 0
call fcn.110d07c0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.110d07c0
xor eax, eax
jmp 0x1102c018
push 0
call fcn.11144bd0
lea edx, [ebp - 0x454]
add esp, 4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1102b7a2
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x148]
push str._snsm.lic
push eax
call dword [0x111939e0]
mov ecx, dword [0x111ed100]
add esp, 0xc
xor edi, edi
push edi
push 0xc
mov dword [ebp - 0x6b8], edi
mov ecx, dword [ecx + 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [ebp - 0x38]
push eax
push str._checksum
push str._License
mov dword [ebp - 0x6b4], edi
mov bl, 1
mov byte [ebp - 0x6ad], 0
call edx
mov ecx, dword [0x111ed100]
lea eax, [ebp - 0x38]
push eax
push ecx
push str.ReplaceLicFile_:_Checksum_from_config__x_____s_:_n
call fcn.11146450
xor eax, eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x6bc]
push edx
push eax
call fcn.11027e20
lea ecx, [ebp - 0x1c]
push ecx
push str.ReplaceLicFile_:_Checksum_from_new_license_____s_:_n
call fcn.11146450
lea edx, [ebp - 0x148]
push 0x1119a064
push edx
call fcn.11163fed
add esp, 0x24
cmp eax, edi
je 0x1102b8b8
lea ecx, [ebp - 0x6cc]
mov dword [ebp - 0x6d0], eax
call fcn.110d1550
push 0x50
lea eax, [ebp - 0x6ac]
push eax
lea ecx, [ebp - 0x6d4]
mov dword [ebp - 4], 2
call fcn.110cf820
push 0xc
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x6d4]
call fcn.110cf820
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 4], 0xffffffff
cmp eax, edi
je 0x1102b8ad
push eax
call fcn.11163db7
add esp, 4
lea ecx, [ebp - 0x6cc]
call fcn.110d07c0
lea edx, [ebp - 0x44]
push edx
push str.ReplaceLicFile_:_Checksum_from_current_license_file_____s_:_n
call fcn.11146450
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
push ecx
call fcn.11081bb0
add esp, 0x10
test eax, eax
jne 0x1102b902
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x38]
push eax
call fcn.11081bb0
add esp, 8
test eax, eax
jne 0x1102b902
push str.ReplaceLicFile_:_Checksums_match__nothing_to_do:_n
call fcn.11146450
add esp, 4
xor eax, eax
jmp 0x1102c018
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x1c]
push edx
call fcn.11081bb0
add esp, 8
test eax, eax
je 0x1102b927
push str.ReplaceLicFile_:_New_checksum_and_disk_checksum_dont_match_so_we_write_file_n
call fcn.11146450
add esp, 4
mov bl, 1
jmp 0x1102b951
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call fcn.11081bb0
add esp, 8
test eax, eax
je 0x1102b951
push str.ReplaceLicFile_:_File_checksum_matches_new_checksum_so_dont_write_file_but_load_n
call fcn.11146450
add esp, 4
xor bl, bl
mov byte [ebp - 0x6ad], 1
test byte [ebp + 0x10], 2
je 0x1102b96d
push str.ReplaceLicFile_:_flags__2___just_reread_the_license_details_n
call fcn.11146450
add esp, 4
xor bl, bl
mov byte [ebp - 0x6ad], 1
movzx edx, byte [ebp - 0x6ad]
movzx eax, bl
push edx
push eax
push str.ReplaceLicFile_:_bWriteFile___d__LoadLicense___d_n
call fcn.11146450
add esp, 0xc
test bl, bl
je 0x1102bbdc
push str.ReplaceLicFile_:_Read_license_file_n
call fcn.11146450
mov ebx, dword [0x111939e0]
add esp, 4
xor esi, esi
cmp dword [0x111ed268], 0
push esi
je 0x1102b9cc
push 0x111ed124
lea ecx, [ebp - 0x454]
push ecx
lea edx, [ebp - 0x24c]
push str._snsm._s._02d.lic
push edx
call ebx
add esp, 0x14
jmp 0x1102b9e4
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x24c]
push str._snsm._02d.lic
push ecx
call ebx
add esp, 0x10
lea edx, [ebp - 0x24c]
push 0
push edx
call fcn.11143230
add esp, 8
test eax, eax
je 0x1102b9ff
inc esi
cmp esi, 0x64
jl 0x1102b9a3
lea eax, [ebp - 0x24c]
push eax
push str.ReplaceLicFile_:_Rename_current_license_file_to__s_n
call fcn.11146450
add esp, 8
lea ecx, [ebp - 0x350]
push ecx
push 0
push 0x11199e50
lea edx, [ebp - 0x454]
push edx
call dword [0x11193480]
test eax, eax
je 0x1102bbdc
lea eax, [ebp - 0x350]
push 0x11199e4c
push eax
call fcn.11163fed
mov esi, eax
add esp, 8
test esi, esi
je 0x1102ba80
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x6bc]
push esi
push 1
push ecx
push edx
call fcn.111648da
push esi
call fcn.11163db7
add esp, 0x14
test eax, eax
je 0x1102ba90
mov edi, 0xa
mov dword [ebp - 0x6b4], edi
jmp 0x1102bbdc
mov edi, 0x14
mov dword [ebp - 0x6b4], edi
jmp 0x1102bbdc
lea eax, [ebp - 0x350]
push eax
push str.ReplaceLicFile_:_Written_file__s__read_into_temporary_config_n
call fcn.11146450
push 0x48
call fcn.1110f420
add esp, 0xc
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x1102bae2
mov ecx, dword [0x111ed0f8]
mov edx, dword [0x111ed0f0]
push 0
push 0x111e4278
push 1
push 0
push 0xffffffffffffffff
push ecx
push edx
mov ecx, eax
call fcn.11060f70
mov esi, eax
jmp 0x1102bae4
xor esi, esi
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x6b8]
push ecx
push 0
push 9
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.11062d60
test eax, eax
jne 0x1102bb13
mov edi, 0x1e
mov dword [ebp - 0x6b4], edi
test esi, esi
je 0x1102bb21
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov ecx, dword [ebp - 0x6b8]
push ecx
push edi
push str.ReplaceLicFile_:_Status_after_config_test__d___lic_error__d_n
call fcn.11146450
add esp, 0xc
test edi, edi
jne 0x1102bbdc
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x148]
push eax
push str.ReplaceLicFile_:_Attempt_to_rename__s_to__s_n
xor esi, esi
call fcn.11146450
lea ecx, [ebp - 0x24c]
push ecx
lea edx, [ebp - 0x148]
push edx
call fcn.11164750
add esp, 0x14
test eax, eax
jne 0x1102bbba
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x350]
push ecx
push str.ReplaceLicFile_:_Attempt_to_rename__s_to__s_n
call fcn.11146450
lea edx, [ebp - 0x148]
push edx
lea eax, [ebp - 0x350]
push eax
call fcn.11164750
add esp, 0x14
test eax, eax
jne 0x1102bbad
mov byte [ebp - 0x6ad], 1
jmp 0x1102bbcd
call dword [0x11193528]
mov edi, 0x32
jmp 0x1102bbc5
call dword [0x11193528]
mov edi, 0x3c
mov dword [ebp - 0x6b4], edi
mov esi, eax
push esi
push edi
push str.ReplaceLicFile_:_Status_after_renames__d___error__d_n
call fcn.11146450
add esp, 0xc
cmp byte [ebp - 0x6ad], 0
je 0x1102bd27
push str.ReplaceLicFile_:_Load_new_license_file_n
call fcn.11146450
add esp, 4
lea ecx, [ebp - 0x148]
push ecx
mov ecx, dword [0x111ed100]
lea edx, [ebp - 0x6b8]
push edx
push 0
push 9
call fcn.11062d60
test eax, eax
je 0x1102bca7
push str._Copied_and_read_new_license_file_n
call fcn.11146450
mov eax, dword [0x111ed100]
push eax
push str._Copy_enforce_section_for_config__x_n
mov dword [ebp - 0x6b4], 0
call fcn.11146450
mov ecx, dword [0x111ed100]
add esp, 0xc
push 0
push 0xa
push str.Product
push str._License
call fcn.1105dd10
push eax
push str._product_before_copy__d_n
call fcn.11146450
mov eax, dword [0x111ed100]
mov ecx, dword [eax + 0x30]
add esp, 8
push 0
push 0
push eax
call fcn.11060f40
mov ecx, dword [0x111ed100]
push 0
push 0xa
push str.Product
push str._License
call fcn.1105dd10
push eax
push str._product_after_copy__d_n
call fcn.11146450
add esp, 8
jmp 0x1102bd2f
mov edx, dword [ebp - 0x6b8]
lea ecx, [ebp - 0x148]
push ecx
push edx
push str.ReplaceLicFile_:_License_error__d_reading__s_n
call fcn.11146450
lea eax, [ebp - 0x148]
push eax
call fcn.11164720
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x24c]
push edx
call fcn.11164750
add esp, 0x18
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x6b8]
push ecx
mov ecx, dword [0x111ed100]
push 0
push 9
call fcn.11062d60
mov eax, dword [0x111ed100]
mov ecx, dword [eax + 0x30]
push 0
push 0
push eax
mov edi, 0x28
call fcn.11060f40
push str.ReplaceLicFile_:_Revert_to_previous_license_n
call fcn.11146450
add esp, 4
jmp 0x1102c016
test edi, edi
jne 0x1102c016
push 0
call fcn.11142e50
mov ecx, dword [0x111ed100]
push eax
push 0x11196290
push str._License
call fcn.1105dd10
cmp byte [ebp - 0x6ae], 0
mov esi, eax
je 0x1102be3c
lea ecx, [ebp - 0x6cc]
call fcn.110d1550
xor edx, edx
cmp esi, 0x14
setge dl
mov dword [ebp - 4], 4
lea edx, [edx + edx + 5]
push edx
call fcn.1102a620
push 0
lea ecx, [ebp - 0x6cc]
push ecx
push eax
call fcn.111114d0
mov edx, dword [ebp - 0x6cc]
mov eax, dword [edx]
add esp, 0x10
lea ecx, [ebp - 0x6cc]
call eax
test al, al
jne 0x1102bdb9
push 0x250
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov ecx, dword [ebp - 0x6c0]
push ecx
push str._Activate_new_license_file_in_registy__key___s__n
call fcn.11146450
mov edx, dword [0x111ed100]
mov ecx, dword [edx + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add esp, 8
push 0
push 0xc
lea edx, [ebp - 0x28]
push edx
push str._checksum
push str._License
call eax
mov edx, dword [ebp - 0x6cc]
mov eax, dword [edx]
lea ecx, [ebp - 0x6cc]
call eax
test al, al
jne 0x1102be17
push 0x255
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov edx, dword [ebp - 0x6c0]
lea ecx, [ebp - 0x28]
push ecx
push edx
call fcn.11095d10
add esp, 8
lea ecx, [ebp - 0x6cc]
mov dword [ebp - 4], 0xffffffff
call fcn.110d07c0
cmp byte [ebp - 0x6af], 0
je 0x1102bf3a
lea ecx, [ebp - 0x6e4]
call fcn.110d1550
mov eax, dword [ebp - 0x6e4]
mov edx, dword [eax]
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 4], 5
call edx
test al, al
jne 0x1102be83
push 0x250
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov eax, dword [ebp - 0x6d8]
push eax
push str._Set_eval_flags_registy__key___s__n
call fcn.11146450
xor ecx, ecx
cmp esi, 0x14
setge cl
lea ecx, [ecx + ecx + 5]
push ecx
call fcn.1102a620
push 0
lea edx, [ebp - 0x6e4]
push edx
push eax
call fcn.111114d0
add esp, 0x18
cmp esi, 0x14
jge 0x1102bec4
mov esi, str.V12.10.8
jmp 0x1102bed3
cmp esi, 0x37
mov esi, str.V12.00.8
jl 0x1102bed3
mov esi, str.V1.10.8
mov eax, dword [ebp - 0x6e4]
mov edx, dword [eax]
lea ecx, [ebp - 0x6e4]
call edx
test al, al
jne 0x1102befb
push 0x255
push str.e:_nsmsrc_nsm12101210fctl32NSMString.h
push str.IsA__
call fcn.11029450
mov eax, dword [ebp - 0x6d8]
push esi
push str.HasEval
push eax
call fcn.11111700
add esp, 0xc
test eax, eax
jne 0x1102bf28
call dword [0x11193528]
push eax
push str._Set_eval_flags_failed__error___d__n
call fcn.11146450
add esp, 8
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 4], 0xffffffff
call fcn.110d07c0
push 0
mov byte [0x111ed280], 0
call fcn.11144bd0
lea edx, [ebp - 0x65c]
add esp, 4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1102bf53
lea eax, [ebp - 0x65c]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1102bf64
mov edi, eax
mov ecx, 5
mov esi, str.Portable_Tutor_nsm.lic
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
movsb byte es:[edi], byte [esi]
call fcn.11144bd0
lea edx, [ebp - 0x558]
add esp, 4
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1102bf90
lea edi, [ebp - 0x558]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1102bfa1
mov ecx, 7
mov esi, str.Portable_Tech_Console_nsm.lic
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x65c]
push 0
push ecx
movsw word es:[edi], word [esi]
call fcn.11143230
mov esi, dword [0x11193484]
add esp, 8
test eax, eax
je 0x1102bfe4
push 0
lea edx, [ebp - 0x65c]
push edx
lea eax, [ebp - 0x148]
push eax
call esi
lea ecx, [ebp - 0x558]
push 0
push ecx
call fcn.11143230
add esp, 8
test eax, eax
je 0x1102c00b
push 0
lea edx, [ebp - 0x558]
push edx
lea eax, [ebp - 0x148]
push eax
call esi
call fcn.11027c90
mov edi, dword [ebp - 0x6b4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.11161d01
mov esp, ebp
pop ebp
ret