Function at 0x10164d20
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x102519c8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.AdwareScan
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10164d73
push 0xa
push str.AdwareScan
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10164df1
push 0x140
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10164db0
mov ecx, dword [edi + 0x20]
push 0
push 2
mov edx, dword [ecx]
call dword [edx + 0x1c]
push eax
mov ecx, ebx
call fcn.100b8bb0
mov ebx, eax
jmp 0x10164db2
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10164df1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10164de9
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10164dda
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10164df1
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10164df1
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10164e09
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtDestopScanner
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10164e44
push 0x11
push str.CExtDestopScanner
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10164edb
push 0x220
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10164e76
mov ecx, eax
call fcn.10188e50
mov ebx, eax
jmp 0x10164e78
xor ebx, ebx
push 0
push 1
push 1
push 0
mov dword [ebx + 0x84], 1
mov dword [ebx + 0x8c], 1
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x94], eax
mov ecx, ebx
mov eax, dword [ebx]
mov dword [ebp - 0x214], ebx
call dword [eax + 0x48]
test eax, eax
je 0x10164ed3
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10164ec4
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10164edb
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10164edb
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10164ef3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtQuicklanchScanner
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10164f2e
push 0x15
push str.CExtQuicklanchScanner
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10164fc5
push 0x228
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10164f60
mov ecx, eax
call fcn.1018c530
mov ebx, eax
jmp 0x10164f62
xor ebx, ebx
push 0
push 1
push 1
push 0
mov dword [ebx + 0x84], 1
mov dword [ebx + 0x8c], 1
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x94], eax
mov ecx, ebx
mov eax, dword [ebx]
mov dword [ebp - 0x214], ebx
call dword [eax + 0x48]
test eax, eax
je 0x10164fbd
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10164fae
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10164fc5
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10164fc5
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10164fdd
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtFavoriteScanner
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165018
push 0x13
push str.CExtFavoriteScanner
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101650af
push 0x218
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x1016504a
mov ecx, eax
call fcn.1018ba80
mov ebx, eax
jmp 0x1016504c
xor ebx, ebx
push 0
push 1
push 1
push 0
mov dword [ebx + 0x84], 1
mov dword [ebx + 0x8c], 1
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x94], eax
mov ecx, ebx
mov eax, dword [ebx]
mov dword [ebp - 0x214], ebx
call dword [eax + 0x48]
test eax, eax
je 0x101650a7
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165098
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101650af
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101650af
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101650c7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtStartupmenuScanner
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165102
push 0x16
push str.CExtStartupmenuScanner
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165199
push 0x218
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165134
mov ecx, eax
call fcn.101a3340
mov ebx, eax
jmp 0x10165136
xor ebx, ebx
push 0
push 1
push 1
push 0
mov dword [ebx + 0x84], 1
mov dword [ebx + 0x8c], 1
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x94], eax
mov ecx, ebx
mov eax, dword [ebx]
mov dword [ebp - 0x214], ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165191
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165182
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165199
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165199
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101651b1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtLuaPluginCreator
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x101651ec
push 0x14
push str.CExtLuaPluginCreator
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165262
push 0x20
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165219
push 1
mov ecx, eax
call fcn.1014fb30
mov ebx, eax
jmp 0x1016521b
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov ecx, edi
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
mov dword [ebp - 0x214], ebx
call dword [eax + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1016523b
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165255
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165262
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1016527a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str...360sd.exe
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.10003180
mov esi, dword [eax + 0x154]
test esi, esi
je 0x101652cc
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xe
call fcn.10003680
add esp, 4
test eax, eax
je 0x101652e5
lea ecx, [ebp - 0x20c]
push ecx
call eax
jmp 0x101652f2
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
test esi, esi
je 0x101652ff
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, 0xffffffff
je 0x1016547f
test bl, 0x10
jne 0x1016547f
lea eax, [ebp - 0x214]
mov dword [ebp - 0x210], 0
push eax
lea eax, [ebp - 0x210]
mov dword [ebp - 0x214], 0
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.100dab60
add esp, 0xc
test eax, eax
je 0x1016547f
mov eax, dword [ebp - 0x210]
xor ecx, ecx
add ecx, dword [ebp - 0x214]
adc eax, 0
cmp eax, 0x50000
jl 0x1016547f
jg 0x10165374
cmp ecx, 0x1007
jb 0x1016547f
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CTpiExtPluginCreator
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x101653af
push 0x14
push str.CTpiExtPluginCreator
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165467
push 0x1c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1016541e
push ecx
mov dword [ebp - 0x214], esp
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov ecx, dword [ebp - 0x214]
add eax, 0x10
push str.sd_tpi
mov dword [ecx], eax
call fcn.10023e80
test al, al
jne 0x10165413
mov ecx, dword [ebp - 0x214]
push 6
push str.sd_tpi
call fcn.10003740
mov ecx, ebx
call fcn.101b3ac0
mov ebx, eax
jmp 0x10165420
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov ecx, edi
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
mov dword [ebp - 0x214], ebx
call dword [eax + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x10165440
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x1016545a
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165467
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1016547f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtDestopBSIco
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x101654ba
push 0xf
push str.CExtDestopBSIco
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165529
push 0x504
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x101654e8
mov ecx, eax
call fcn.100e5250
mov ebx, eax
jmp 0x101654ea
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165529
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165521
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165512
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165529
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165529
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165541
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtHostsFile
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x1016557c
push 0xd
push str.CExtHostsFile
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101655eb
push 0x5ac
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x101655aa
mov ecx, eax
call fcn.100f86e0
mov ebx, eax
jmp 0x101655ac
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x101655eb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x101655e3
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x101655d4
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101655eb
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101655eb
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165603
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtIeSettingScan
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x1016563e
push 0x11
push str.CExtIeSettingScan
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101656ad
push 0x8ec
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x1016566c
mov ecx, eax
call fcn.10107420
mov ebx, eax
jmp 0x1016566e
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x101656ad
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x101656a5
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165696
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101656ad
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101656ad
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101656c5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtIEAssociateOption
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165700
push 0x15
push str.CExtIEAssociateOption
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x1016576f
push 0x318
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x1016572e
mov ecx, eax
call fcn.100fa250
mov ebx, eax
jmp 0x10165730
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x1016576f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165767
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165758
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x1016576f
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x1016576f
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165787
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtNetworkAssociate
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x101657c2
push 0x14
push str.CExtNetworkAssociate
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165831
push 0xd4
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x101657f0
mov ecx, eax
call fcn.1010c9f0
mov ebx, eax
jmp 0x101657f2
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165831
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165829
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x1016581a
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165831
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165831
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165849
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtCustomWebDestop
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165884
push 0x13
push str.CExtCustomWebDestop
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101658f3
push 0xbc
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x101658b2
mov ecx, eax
call fcn.100e0a70
mov ebx, eax
jmp 0x101658b4
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x101658f3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x101658eb
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x101658dc
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101658f3
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101658f3
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1016590b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtAboutURL
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165946
push 0xc
push str.CExtAboutURL
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101659b5
push 0xd4
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165974
mov ecx, eax
call fcn.100a0920
mov ebx, eax
jmp 0x10165976
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x101659b5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x101659ad
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x1016599e
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101659b5
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101659b5
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101659cd
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtCSSHijack
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165a08
push 0xd
push str.CExtCSSHijack
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165a77
push 0xd8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165a36
mov ecx, eax
call fcn.100df1f0
mov ebx, eax
jmp 0x10165a38
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165a77
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165a6f
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165a60
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165a77
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165a77
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165a8f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtWebHijack
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165aca
push 0xd
push str.CExtWebHijack
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165b39
push 0x50c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165af8
mov ecx, eax
call fcn.1011b470
mov ebx, eax
jmp 0x10165afa
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165b39
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165b31
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165b22
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165b39
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165b39
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165b51
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtTrustedZone
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165b8c
push 0xf
push str.CExtTrustedZone
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165bfb
push 0xd4
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165bba
mov ecx, eax
call fcn.10116ae0
mov ebx, eax
jmp 0x10165bbc
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165bfb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165bf3
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165be4
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165bfb
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165bfb
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165c13
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtToolbarReName
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165c4e
push 0x11
push str.CExtToolbarReName
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165cbd
push 0xd0
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165c7c
mov ecx, eax
call fcn.10115840
mov ebx, eax
jmp 0x10165c7e
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165cbd
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165cb5
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165ca6
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165cbd
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165cbd
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165cd5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtIEMenu
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165d10
push 0xa
push str.CExtIEMenu
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165d7f
push 0xc8
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165d3e
mov ecx, eax
call fcn.10105580
mov ebx, eax
jmp 0x10165d40
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165d7f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165d77
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165d68
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165d7f
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165d7f
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165d97
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtRemoteDesktop
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165dd2
push 0x11
push str.CExtRemoteDesktop
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165e47
push 0xc0
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10165e06
mov ecx, ebx
call fcn.100cd220
mov dword [ebx], vtable.CExtRemoteDesktop.0
jmp 0x10165e08
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165e47
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165e3f
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165e30
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165e47
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165e47
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165e5f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtShareResource
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165e9a
push 0x11
push str.CExtShareResource
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10165f4f
push 0xd4
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10165f0e
mov ecx, ebx
call fcn.100cd220
mov dword [ebx], vtable.CExtShareResource.0
mov dword [ebx + 0xbc], 0
mov dword [ebx + 0xc0], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov dword [ebx + 0xcc], 0
mov dword [ebx + 0xd0], 0
jmp 0x10165f10
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x10165f4f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x10165f47
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10165f38
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10165f4f
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x10165f4f
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10165f67
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtSystemPluginCreator
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10165fa2
push 0x17
push str.CExtSystemPluginCreator
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x10166016
push 0x28
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10165fcd
mov ecx, eax
call fcn.10112300
mov ebx, eax
jmp 0x10165fcf
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov ecx, edi
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
mov dword [ebp - 0x214], ebx
call dword [eax + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x10165fef
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10166009
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x10166016
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1016602e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtIEKeyFileRepair
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x10166069
push 0x13
push str.CExtIEKeyFileRepair
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101660d8
push 0xf0
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10166097
mov ecx, eax
call fcn.101026d0
mov ebx, eax
jmp 0x10166099
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test ebx, ebx
je 0x101660d8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x48]
test eax, eax
je 0x101660d0
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x101660c1
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101660d8
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
jmp 0x101660d8
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101660f0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x210]
push str.CExtLuaPluginCreator
mov dword [ebp - 0x210], eax
call fcn.10023e80
test al, al
jne 0x1016612b
push 0x14
push str.CExtLuaPluginCreator
lea ecx, [ebp - 0x210]
call fcn.10003740
mov esi, dword [ebp - 0x210]
mov ecx, edi
push esi
call fcn.101632d0
test eax, eax
jne 0x101661a1
push 0x20
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10166158
push 0
mov ecx, eax
call fcn.1014fb30
mov ebx, eax
jmp 0x1016615a
xor ebx, ebx
mov eax, dword [edi + 0x20]
mov ecx, edi
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
mov dword [ebp - 0x214], ebx
call dword [eax + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x1016617a
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x10166194
mov dword [eax], ebx
add dword [ecx + 4], 4
jmp 0x101661a1
lea edx, [ebp - 0x214]
push edx
push eax
call fcn.100cc490
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101661b9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101f99c6
mov esp, ebp
pop ebp
ret