Function at 0x10060070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x100b8db8
call fcn.100b2f10
sub esp, 0x4c
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x78], eax
mov eax, dword [edi + 8]
mov dword [esi + 0x7c], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x80], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x84], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x88], eax
mov eax, dword [edi + 0x30]
mov dword [esi + 0x8c], eax
mov eax, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
mov dword [ebp - 0x30], eax
lea eax, [esi + 0x90]
mov dword [ebp - 0x40], edx
mov dword [eax], ebx
mov ebx, dword [edi + 0x40]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x34]
cmp ecx, ebx
mov dword [esi + 0x2c], ecx
ja 0x10060301
cmp edx, ecx
jb 0x10060301
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x10060301
mov edx, dword [esi + 0x14]
add ecx, edx
cmp byte [ecx + eax - 1], 0
lea edx, [ecx + eax]
jne 0x10060301
cmp word [ecx], 0
mov dword [esi + 0x30], eax
sete cl
test cl, cl
mov byte [esi + 0x28], cl
je 0x10060145
test al, 1
jne 0x10060301
shr eax, 1
mov dword [esi + 0x30], eax
cmp byte [edx - 2], 0
jne 0x10060301
mov eax, dword [ebp - 0x48]
cmp eax, 0x2000000
ja 0x10060301
cmp dword [ebp - 0x4c], ebx
ja 0x10060301
sub ebx, dword [ebp - 0x4c]
imul eax, eax, 0x1c
cmp eax, ebx
ja 0x10060301
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0x4c]
add eax, ecx
mov ecx, esi
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1005cd2f
push str.NSIS_script
mov ecx, esi
call fcn.1005c610
cmp byte [esi + 0x28], 0
je 0x1006019c
push str.__UTF_8_
mov ecx, esi
call fcn.1000124a
mov ecx, esi
call fcn.1005c5cd
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.1005cb01
push dword [eax]
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x58]
call fcn.100032c4
pop ecx
mov ecx, esi
call fcn.1005c67c
cmp byte [esi + 0x177], 0
mov eax, str.Install
jne 0x100601da
mov eax, str.Uninstall
push eax
mov ecx, esi
call fcn.1005c610
mov ecx, esi
call fcn.1005c67c
mov ecx, esi
call fcn.1005c67c
cmp byte [esi + 0x28], 0
je 0x10060202
push str.Unicode_true
mov ecx, esi
call fcn.1005c6a9
mov eax, dword [esi + 0x16c]
test eax, eax
je 0x10060265
xor ebx, ebx
dec eax
je 0x10060225
dec eax
je 0x1006021e
dec eax
jne 0x1006022a
mov ebx, str.lzma
jmp 0x1006022a
mov ebx, str.bzip2
jmp 0x1006022a
mov ebx, str.zlib
push str.SetCompressor
mov ecx, esi
call fcn.1000124a
cmp byte [esi + 0x174], 0
je 0x1006024b
push str.__SOLID
mov ecx, esi
call fcn.1000124a
test ebx, ebx
je 0x1006025e
mov ecx, esi
call fcn.1005c5cd
push ebx
mov ecx, esi
call fcn.1000124a
mov ecx, esi
call fcn.1005c67c
cmp dword [esi + 0x16c], 3
jne 0x10060292
push str.SetCompressorDictSize
mov ecx, esi
call fcn.1000124a
mov eax, dword [esi + 0x170]
mov ecx, esi
shr eax, 0x14
push eax
call fcn.1005b671
mov ecx, esi
call fcn.1005c67c
mov ecx, esi
call fcn.1005c5b0
push dword [esi + 0x164]
mov ecx, esi
push str.HEADER_SIZE
call fcn.1005c902
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100602bf
push eax
push str.START_HEADER_SIZE
mov ecx, esi
call fcn.1005c902
mov ecx, dword [esi + 0x84]
test ecx, ecx
jbe 0x10060324
mov ebx, dword [esi + 0x80]
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
jb 0x10060301
sub eax, ebx
xor edx, edx
div ecx
mov edx, eax
mov dword [esi + 0xa4], eax
imul edx, ecx
add edx, ebx
cmp edx, dword [ebp - 0x4c]
jne 0x10060301
cmp eax, 0x18
jb 0x10060301
cmp byte [esi + 0x28], 0
lea ecx, [eax - 0x18]
je 0x1006030b
test cl, 1
je 0x10060309
push 1
pop eax
jmp 0x10060b54
shr ecx, 1
test ecx, ecx
jne 0x10060317
push eax
push str.SECTION_SIZE
jmp 0x1006031d
push ecx
push str.MAX_STRING_LENGTH
mov ecx, esi
call fcn.1005c902
push dword [esi + 0x30]
mov ecx, esi
push str.STRING_CHARS
call fcn.1005c902
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x34]
jbe 0x1006034a
push str.Bad_COLORS_TABLE
mov ecx, esi
call fcn.1005c64f
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x10060361
push eax
push str.COLORS_Num
mov ecx, esi
call fcn.1005c902
cmp dword [ebp - 0x30], 0
je 0x10060376
push dword [ebp - 0x30]
mov ecx, esi
push str.FONTS_Num
call fcn.1005c902
mov eax, dword [esi + 0x94]
test eax, eax
je 0x1006038d
push eax
push str.DATA_NUM
mov ecx, esi
call fcn.1005c902
mov ecx, esi
call fcn.1005c67c
push str.OutFile__NSIS_.exe
mov ecx, esi
call fcn.1005c6a9
push str._include_WinMessages.nsh
mov ecx, esi
call fcn.1005c6a9
mov ecx, esi
call fcn.1005c67c
push dword [esi + 0x30]
lea ebx, [esi + 0x70]
mov ecx, ebx
call fcn.10009acb
push dword [esi + 0x30]
mov ebx, dword [ebx]
push 0
push ebx
call sub.MSVCRT.dll_memset
mov ebx, dword [edi]
add esp, 0xc
mov dword [ebp - 0x10], ebx
and ebx, 3
cmp ebx, 1
jb 0x1006041b
cmp ebx, 2
ja 0x1006041b
cmp byte [esi + 0x177], 0
mov eax, str.ShowInstDetails
jne 0x100603f5
mov eax, str.ShowUninstDetails
push eax
mov ecx, esi
call fcn.1000124a
cmp ebx, 1
mov eax, str._show
je 0x1006040c
mov eax, str._nevershow
push eax
mov ecx, esi
call fcn.1000124a
mov ecx, esi
call fcn.1005c67c
test byte [ebp - 0x10], 4
je 0x1006042d
push str.InstProgressFlags_colored
mov ecx, esi
call fcn.1005c6a9
test byte [ebp - 0x10], 0x18
je 0x1006046d
cmp byte [esi + 0x177], 0
mov eax, str.SilentInstall
jne 0x10060446
mov eax, str.SilentUnInstall
push eax
mov ecx, esi
call fcn.1000124a
test byte [ebp - 0x10], 0x10
mov eax, str.silentlog
jne 0x1006045e
mov eax, str.silent
push eax
mov ecx, esi
call fcn.1000124a
mov ecx, esi
call fcn.1005c67c
test byte [ebp - 0x10], 0x20
je 0x1006047f
push str.AutoCloseWindow_true
mov ecx, esi
call fcn.1005c6a9
test byte [ebp - 0x10], 0x80
jne 0x10060491
push str.AllowRootDirInstall_true
mov ecx, esi
call fcn.1005c6a9
test byte [ebp - 0xf], 2
je 0x100604a3
push str.InstType__NOCUSTOM
mov ecx, esi
call fcn.1005c6a9
test byte [ebp - 0xf], 1
je 0x100604b5
push str.InstType__COMPONENTSONLYONCUSTOM
mov ecx, esi
call fcn.1005c6a9
mov eax, dword [esi + 0x14]
or dword [ebp - 0x18], 0xffffffff
add eax, dword [esi + 0x78]
and dword [ebp - 0x1c], 0
cmp dword [esi + 0x7c], 0
jbe 0x100604ff
lea ebx, [eax + 0x30]
mov eax, dword [ebx - 0x2c]
mov ecx, dword [ebx]
test eax, eax
jne 0x100604f1
test ecx, ecx
je 0x100604f1
jge 0x100604e5
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x18], eax
jmp 0x100604f1
push ecx
lea ecx, [esi + 0xd4]
call fcn.10015f1f
inc dword [ebp - 0x1c]
add ebx, 0x40
mov eax, dword [ebp - 0x1c]
cmp eax, dword [esi + 0x7c]
jb 0x100604cc
cmp dword [esi + 0x78], 0x114
mov dword [ebp - 0x24], 0x44
jne 0x10060516
mov dword [ebp - 0x24], 0x3c
mov eax, dword [ebp - 0x24]
add edi, eax
mov dword [ebp - 0x30], edi
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [ebp - 0x2c], eax
test ebx, ebx
mov dword [ebp - 0x28], ecx
je 0x10060535
cmp ebx, 0xffffffff
jne 0x1006053d
test eax, eax
jne 0x1006053d
test ecx, ecx
je 0x1006056c
push str.InstallDirRegKey
mov ecx, esi
call fcn.1000124a
push ebx
mov ecx, esi
call fcn.1005c090
push dword [ebp - 0x2c]
mov ecx, esi
call fcn.1005c1ec
push dword [ebp - 0x28]
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c67c
mov ebx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
cmp ebx, 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
jne 0x10060588
cmp eax, ebx
jne 0x10060588
cmp ecx, ebx
je 0x100605d0
push str.BGGradient
mov ecx, esi
call fcn.1000124a
test ebx, ebx
jne 0x100605a7
cmp dword [ebp - 0x20], 0xff0000
jne 0x100605a7
cmp dword [ebp - 0x1c], 0xffffffff
je 0x100605c9
push ebx
mov ecx, esi
call fcn.1005c4a1
push dword [ebp - 0x20]
mov ecx, esi
call fcn.1005c4a1
cmp dword [ebp - 0x1c], 0xffffffff
je 0x100605c9
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.1005c4a1
mov ecx, esi
call fcn.1005c67c
mov ebx, dword [edi + 0x18]
mov eax, dword [edi + 0x1c]
cmp ebx, 0xffffffff
mov dword [ebp - 0x2c], eax
jne 0x100605e2
cmp eax, ebx
je 0x10060612
test ebx, ebx
jne 0x100605ed
cmp eax, 0xff00
je 0x10060612
push str.InstallColors
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x2c]
mov ecx, esi
call fcn.1005c4a1
push ebx
mov ecx, esi
call fcn.1005c4a1
mov ecx, esi
call fcn.1005c67c
mov ebx, dword [edi + 0x24]
cmp ebx, 0xffffffff
je 0x1006064d
cmp ebx, 0xfffffff1
je 0x1006064d
push str.LicenseBkColor
mov ecx, esi
call fcn.1000124a
cmp ebx, 0xfffffffb
jne 0x1006063e
push str.__windows
mov ecx, esi
call fcn.1000124a
jmp 0x10060646
push ebx
mov ecx, esi
call fcn.1005c4a1
mov ecx, esi
call fcn.1005c67c
mov eax, dword [edi + 0x20]
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x20], eax
jbe 0x100608e0
cmp eax, 0xffffffff
jne 0x1006066c
mov eax, 0x80004001
jmp 0x10060b54
lea edi, [eax - 0xa]
mov ecx, esi
shr edi, 2
mov dword [ebp - 0x2c], edi
mov dword [esi + 0xac], edi
call fcn.1005c67c
mov ecx, esi
call fcn.1005c5b0
mov ebx, dword [ebp - 0x3c]
mov ecx, esi
push ebx
push str.LANG_TABLES
call fcn.1005c902
push edi
push str.LANG_STRINGS
mov ecx, esi
call fcn.1005c902
mov ecx, esi
call fcn.1005c67c
cmp dword [ebp - 0x18], 0
jl 0x10060726
test ebx, ebx
jbe 0x1006071f
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], ebx
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0x1c]
add eax, ecx
mov ecx, dword [ebp - 0x18]
add eax, dword [ebp - 0x40]
mov edi, dword [eax + ecx*4 + 0xa]
mov bx, word [eax]
test edi, edi
je 0x10060714
push str.LicenseLangString
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x18]
mov ecx, esi
call fcn.1005b838
movzx ebx, bx
push ebx
mov ecx, esi
call fcn.1005b671
push ebx
push edi
mov ecx, esi
call fcn.1005b3b4
push edi
lea ecx, [esi + 0xd4]
call fcn.10015f1f
mov ecx, esi
call fcn.1005c930
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x1c], eax
dec dword [ebp - 0x14]
jne 0x100606be
mov ecx, esi
call fcn.1005c67c
xor edi, edi
cmp dword [ebp - 0x3c], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], edi
jbe 0x10060819
mov eax, dword [esi + 0x14]
add eax, edi
add eax, dword [ebp - 0x40]
cmp dword [ebp - 0x1c], 0
mov dx, word [eax]
je 0x10060755
cmp dx, 0x409
jne 0x1006075e
lea ecx, [eax + 0xa]
mov dword [esi + 0xa8], ecx
mov ecx, dword [eax + 0xa]
test ecx, ecx
je 0x10060775
cmp dx, 0x409
je 0x10060772
cmp dword [ebp - 0x14], 0
jne 0x10060775
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0xe]
test ecx, ecx
je 0x1006078c
cmp dx, 0x409
je 0x10060789
cmp dword [ebp - 0x28], 0
jne 0x1006078c
mov dword [ebp - 0x28], ecx
mov eax, dword [eax + 0x12]
test eax, eax
je 0x100607a3
cmp dx, 0x409
je 0x100607a0
cmp dword [ebp - 0x10], 0
jne 0x100607a3
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x1c]
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x3c]
jb 0x1006073d
cmp dword [ebp - 0x10], 0
je 0x100607e5
push str.Name
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x10]
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c930
push dword [ebp - 0x10]
lea eax, [esi + 0x178]
mov ecx, esi
push eax
call fcn.1005c02e
cmp dword [ebp - 0x14], 0
je 0x10060819
push str.BrandingText
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x14]
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c930
push dword [ebp - 0x14]
lea eax, [esi + 0x184]
mov ecx, esi
push eax
call fcn.1005c02e
cmp dword [ebp - 0x3c], 0
jbe 0x100608d6
mov eax, dword [ebp - 0x3c]
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0x1c]
lea edi, [ecx + eax]
mov ecx, esi
add edi, dword [ebp - 0x40]
mov bx, word [edi]
call fcn.1005c67c
push str.LANG:
mov ecx, esi
call fcn.1005c610
movzx ebx, bx
push ebx
mov ecx, esi
call fcn.1005b671
mov ecx, esi
call fcn.1005c67c
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x2c], 0
jbe 0x100608c0
add edi, 0xa
mov dword [ebp - 0x28], edi
mov edi, dword [edi]
test edi, edi
je 0x100608ac
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x100608ac
push str.LangString
mov ecx, esi
call fcn.1000124a
push dword [ebp - 0x14]
mov ecx, esi
call fcn.1005b838
push ebx
mov ecx, esi
call fcn.1005b671
push edi
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c67c
inc dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
add edi, 4
cmp eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], edi
jb 0x10060871
mov ecx, esi
call fcn.1005c67c
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x1c], eax
dec dword [ebp - 0x10]
jne 0x1006082d
mov ecx, esi
call fcn.1005c8fa
mov edi, dword [ebp - 0x30]
cmp byte [esi + 0x54], 0
je 0x100608eb
push 0x1d
pop ebx
jmp 0x100608f8
mov bl, byte [esi + 0x55]
neg bl
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 0x20
mov ecx, esi
call fcn.1005be88
cmp eax, ebx
mov dword [ebp - 0x20], eax
jbe 0x1006097a
mov ecx, esi
call fcn.1005c5b0
mov eax, dword [ebp - 0x20]
mov ecx, esi
sub eax, ebx
push eax
push str.VARIABLES
call fcn.1005c902
mov ecx, esi
call fcn.1005c67c
lea ecx, [ebp - 0x44]
call fcn.10001c73
and dword [ebp - 4], 0
cmp ebx, dword [ebp - 0x20]
jae 0x10060966
push str.Var
mov ecx, esi
call fcn.1000124a
mov eax, dword [ebp - 0x44]
and dword [ebp - 0x40], 0
push ebx
mov ecx, esi
and byte [eax], 0
lea eax, [ebp - 0x44]
push eax
call fcn.1005b57b
push dword [ebp - 0x44]
mov ecx, esi
call fcn.1005c6a9
inc ebx
jmp 0x10060932
mov ecx, esi
call fcn.1005c67c
push dword [ebp - 0x44]
or dword [ebp - 4], 0xffffffff
call fcn.100032c4
pop ecx
mov eax, dword [ebp - 0x24]
mov dword [esi + 0xc8], 0xa
add eax, 0x28
cmp dword [esi + 0x78], 0x114
mov dword [esi + 0xcc], eax
lea eax, [esi + 0xc8]
jne 0x100609a5
mov dword [eax], 9
mov eax, dword [eax]
mov ecx, esi
lea edi, [edi + eax*4 + 0x28]
call fcn.1005c67c
mov dword [ebp - 0x2c], 0x21
mov ebx, dword [edi]
test ebx, ebx
je 0x10060a1b
push str.InstType
mov ecx, esi
call fcn.1000124a
lea ecx, [ebp - 0x38]
call fcn.10001c73
cmp byte [esi + 0x177], 0
mov dword [ebp - 4], 1
jne 0x100609f0
push 0x100c416c
lea ecx, [ebp - 0x38]
call fcn.10001e7f
lea eax, [ebp - 0x38]
push ebx
push eax
mov ecx, esi
call fcn.1005c02e
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.1005c1d5
mov ecx, esi
call fcn.1005c930
push dword [ebp - 0x38]
or dword [ebp - 4], 0xffffffff
call fcn.100032c4
pop ecx
add edi, 4
dec dword [ebp - 0x2c]
jne 0x100609b9
mov ebx, dword [edi]
add edi, 4
test ebx, ebx
je 0x10060a47
push str.InstallDir
mov ecx, esi
call fcn.1000124a
push ebx
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c930
cmp dword [esi + 0x78], 0x120
jb 0x10060aaf
mov eax, 0x100c35d4
mov dword [ebp - 0x24], edi
sub dword [ebp - 0x24], eax
mov ebx, eax
jmp 0x10060a64
mov eax, 0x100c35d4
cmp ebx, eax
je 0x10060a71
cmp dword [esi + 0x78], 0x12c
jb 0x10060aaf
mov eax, dword [ebp - 0x24]
mov edi, dword [eax + ebx]
test edi, edi
je 0x10060aa4
cmp edi, 0xffffffff
je 0x10060aa4
push dword [ebx]
mov ecx, esi
call fcn.1005c610
push 0x100c4928
mov ecx, esi
call fcn.1000124a
push edi
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c930
add ebx, 4
cmp ebx, str.wininit
jb 0x10060a5f
mov ecx, esi
call fcn.1005c67c
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.1005d30c
test eax, eax
jne 0x10060b54
mov ecx, esi
call fcn.1005c5b0
push str.UNREFERENCED_STRINGS:
mov ecx, esi
call fcn.1005c610
mov ecx, esi
call fcn.1005c67c
mov ecx, esi
call fcn.1005c67c
mov ecx, esi
call fcn.1005c666
xor edi, edi
cmp dword [esi + 0x30], edi
jbe 0x10060b46
mov eax, dword [esi + 0x70]
cmp byte [eax + edi], 0
jne 0x10060b1c
test edi, edi
je 0x10060b1c
push edi
mov ecx, esi
call fcn.1005b390
push edi
mov ecx, esi
call fcn.1005c1ec
mov ecx, esi
call fcn.1005c930
cmp byte [esi + 0x28], 0
mov eax, dword [esi + 0x14]
je 0x10060b32
lea ecx, [eax + edi*2]
add ecx, dword [esi + 0x2c]
call fcn.1005b565
jmp 0x10060b3e
add eax, dword [esi + 0x2c]
add eax, edi
push eax
call sub.MSVCRT.dll_strlen
pop ecx
add edi, eax
inc edi
cmp edi, dword [esi + 0x30]
jb 0x10060af8
mov ecx, esi
call fcn.1005c671
mov ecx, esi
call fcn.1005fd70
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret