Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GUID struc ; (sizeof=0x10, align=0x4, copyof_1) ; XREF: .text:0000000000010360/r
- Data1 dd ?
- Data2 dw ?
- Data3 dw ?
- Data4 db 8 dup(?)
- GUID ends
- UNICODE_STRING struc ; (sizeof=0x10, align=0x8, copyof_3) ; XREF: sub_1047C/r
- ; DriverEntry/r ...
- Length dw ?
- MaximumLength dw ?
- db ? ; undefined
- db ? ; undefined
- db ? ; undefined
- db ? ; undefined
- Buffer dq ? ; offset
- UNICODE_STRING ends
- RUNTIME_FUNCTION struc ; (sizeof=0xC, mappedto_9) ; XREF: .pdata:ExceptionDir/r
- ; .pdata:000000000001090C/r ...
- FunctionStart dd ? ; offset rva
- FunctionEnd dd ? ; offset rva pastend
- UnwindInfo dd ? ; offset rva
- RUNTIME_FUNCTION ends
- UNWIND_INFO struc ; (sizeof=0x4, mappedto_10) ; XREF: .text:stru_107A8/r
- ; .text:stru_107B0/r ...
- Ver3_Flags db ? ; base 16
- PrologSize db ? ; base 16
- CntUnwindCodes db ? ; base 16
- FrReg_FrRegOff db ? ; base 16
- UNWIND_INFO ends
- UNWIND_CODE struc ; (sizeof=0x2, mappedto_11) ; XREF: .text:00000000000107AC/r
- ; .text:00000000000107AE/r ...
- PrologOff db ? ; base 16
- OpCode_OpInfo db ? ; base 16
- UNWIND_CODE ends
- C_SCOPE_TABLE struc ; (sizeof=0x10, mappedto_12)
- Begin dd ? ; offset rva
- End dd ? ; offset rva pastend
- Handler dd ? ; offset rva
- Target dd ? ; offset rva
- C_SCOPE_TABLE ends
- ;
- ; +-------------------------------------------------------------------------+
- ; | This file has been generated by The Interactive Disassembler (IDA) |
- ; | Copyright (c) 2015 Hex-Rays, <support@hex-rays.com> |
- ; | License info: My License |
- ; | Me |
- ; +-------------------------------------------------------------------------+
- ;
- ; Input SHA256 : DA6CA1FB539F825CA0F012ED6976BAF57EF9C70143B7A1E88B4650BF7A925E24
- ; Input MD5 : 73C98438AC64A68E88B7B0AFD11BA140
- ; Input CRC32 : 37578D38
- include uni.inc ; see unicode subdir of ida for info on unicode
- .686p
- .mmx
- .model flat
- ; [00000300 BYTES: COLLAPSED SEGMENT HEADER. PRESS CTRL-NUMPAD+ TO EXPAND]
- ; File Name : C:\Capcom.sys
- ; Format : Portable executable for AMD64 (PE)
- ; Imagebase : 10000
- ; Timestamp : 57CD1415 (Mon Sep 05 06:43:33 2016)
- ; Section 1. (virtual address 00000300)
- ; Virtual size : 000004E0 ( 1248.)
- ; Section size in file : 00000500 ( 1280.)
- ; Offset to raw data for section: 00000300
- ; Flags 68000020: Text Not pageable Executable Readable
- ; Alignment : default
- ;
- ; Imports from ntoskrnl.exe
- ;
- ; Segment type: Externs
- ; _idata
- ; NTSTATUS __stdcall IoDeleteSymbolicLink(PUNICODE_STRING SymbolicLinkName)
- extrn IoDeleteSymbolicLink:qword
- ; void __stdcall RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
- extrn RtlInitUnicodeString:qword
- ; void __stdcall IofCompleteRequest(PIRP Irp, CCHAR PriorityBoost)
- extrn IofCompleteRequest:qword
- ; PVOID __stdcall MmGetSystemRoutineAddress(PUNICODE_STRING SystemRoutineName)
- extrn MmGetSystemRoutineAddress:qword
- ; NTSTATUS __stdcall IoCreateSymbolicLink(PUNICODE_STRING SymbolicLinkName, PUNICODE_STRING DeviceName)
- extrn IoCreateSymbolicLink:qword
- ; NTSTATUS __stdcall IoCreateDevice(PDRIVER_OBJECT DriverObject, ULONG DeviceExtensionSize, PUNICODE_STRING DeviceName, ULONG DeviceType, ULONG DeviceCharacteristics, BOOLEAN Exclusive, PDEVICE_OBJECT *DeviceObject)
- extrn IoCreateDevice:qword
- ; void __stdcall IoDeleteDevice(PDEVICE_OBJECT DeviceObject)
- extrn IoDeleteDevice:qword
- ; Debug Directory entries
- ; Segment type: Pure code
- ; Segment permissions: Read/Execute
- _text segment para public 'CODE' use64
- assume cs:_text
- ;org 10340h
- assume es:GAP, ss:GAP, ds:_data, fs:nothing, gs:nothing
- dword_10340 dd 0 ; Characteristics
- dd 519B3DE3h ; TimeDateStamp: Tue May 21 09:26:59 2013
- dw 0 ; MajorVersion
- dw 0 ; MinorVersion
- dd 2 ; Type: IMAGE_DEBUG_TYPE_CODEVIEW
- dd 4Eh ; SizeOfData
- dd rva asc_1035C ; AddressOfRawData
- dd 35Ch ; PointerToRawData
- ; Debug information (IMAGE_DEBUG_TYPE_CODEVIEW)
- asc_1035C db 'RSDS' ; CV signature
- dd 0D13A6931h ; Data1 ; GUID
- dw 8488h ; Data2
- dw 4F8Eh ; Data3
- db 83h, 0B3h, 7Fh, 0BCh, 0CDh, 2Eh, 0D9h; Data4
- db 1Ch ; Data4
- dd 17h ; Age
- db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; PdbFileName
- db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- align 4
- sub_103AC proc near
- var_48= word ptr -48h
- push rdi
- sub rsp, 40h
- mov r8, rcx
- lea rcx, [rsp+48h+var_48]
- sub rcx, rdx
- loc_103BC:
- movzx eax, word ptr [rdx]
- mov [rcx+rdx], ax
- add rdx, 2
- test ax, ax
- jnz short loc_103BC
- xor edi, edi
- lea rdx, [rsp+48h+var_48]
- mov r9w, 5555h
- cmp [rsp+48h+var_48], di
- jz short loc_1044F
- loc_103DD:
- movzx ecx, word ptr [rdx]
- shl r9w, 2
- mov r10d, ecx
- add r9w, di
- shr r10d, 6
- lea eax, [r10-1]
- cmp eax, 2
- ja short loc_1044F
- xor cl, r9b
- xor ax, ax
- sub cl, dil
- sub cl, r10b
- and cx, 3Fh
- cmp cx, 0Ah
- jnb short loc_10414
- lea eax, [rcx+30h]
- jmp short loc_1041D
- loc_10414:
- cmp cx, 24h
- jnb short loc_10423
- lea eax, [rcx+37h]
- loc_1041D:
- cmp cx, 24h
- jb short loc_1042C
- loc_10423:
- cmp cx, 3Eh
- jnb short loc_1042C
- lea eax, [rcx+3Dh]
- loc_1042C:
- cmp cx, 3Eh
- mov r10d, 2Eh
- cmovz ax, r10w
- test ax, ax
- jz short loc_1044F
- mov [rdx], ax
- add rdx, 2
- inc edi
- cmp word ptr [rdx], 0
- jnz short loc_103DD
- loc_1044F:
- xor eax, eax
- mov rdi, r8
- lea rdx, [rsp+48h+var_48]
- lea rcx, [rax-1]
- repne scasw
- xor ecx, ecx
- loc_10461:
- movzx eax, word ptr [rdx+rcx]
- add rcx, 2
- test ax, ax
- mov [rdi+rcx-4], ax
- jnz short loc_10461
- mov rax, r8
- add rsp, 40h
- pop rdi
- retn
- sub_103AC endp
- /**********************************************************
- _WORD *__fastcall sub_103AC(_WORD *a1, char *a2)
- {
- _WORD *v2; // r8@1
- signed __int64 v3; // rcx@1
- __int16 v4; // ax@2
- __int16 v5; // di@3
- __int16 *v6; // rdx@3
- signed __int16 v7; // r9@3
- unsigned int v8; // er10@4
- signed __int16 v9; // ax@5
- unsigned __int16 v10; // cx@5
- _WORD *v11; // rdi@16
- signed __int64 v12; // rcx@16
- bool v13; // zf@18
- __int64 v14; // rcx@19
- __int16 v15; // ax@20
- __int16 v17[36]; // [rsp+0h] [rbp-48h]@1
- v2 = a1;
- v3 = (char *)v17 - a2;
- do
- {
- v4 = *(_WORD *)a2;
- *(_WORD *)&a2[v3] = *(_WORD *)a2;
- a2 += 2;
- }
- while ( v4 );
- v5 = 0;
- v6 = v17;
- v7 = 21845;
- if ( v17[0] )
- {
- while ( 1 )
- {
- v7 = v5 + 4 * v7;
- v8 = (unsigned int)(unsigned __int16)*v6 >> 6;
- if ( v8 - 1 > 2 )
- break;
- v9 = 0;
- v10 = (((unsigned __int8)v7 ^ (unsigned __int8)*v6) - (_BYTE)v5 - (_BYTE)v8) & 0x3F;
- if ( v10 >= 0xAu )
- {
- if ( v10 >= 0x24u )
- goto LABEL_10;
- v9 = v10 + 55;
- }
- else
- {
- v9 = v10 + 48;
- }
- if ( v10 >= 0x24u )
- {
- LABEL_10:
- if ( v10 < 0x3Eu )
- v9 = v10 + 61;
- }
- if ( v10 == 62 )
- v9 = 46;
- if ( v9 )
- {
- *v6 = v9;
- ++v6;
- ++v5;
- if ( *v6 )
- continue;
- }
- break;
- }
- }
- v11 = v2;
- v12 = -1i64;
- do
- {
- if ( !v12 )
- break;
- v13 = *v11 == 0;
- ++v11;
- --v12;
- }
- while ( !v13 );
- v14 = 0i64;
- do
- {
- v15 = v17[v14];
- ++v14;
- v11[v14 - 2] = v15;
- }
- while ( v15 );
- return v2;
- }
- ************************************************************/
- sub_1047C proc near
- DestinationString= UNICODE_STRING ptr -18h
- push rbx
- sub rsp, 30h
- mov rbx, [rcx+8]
- xor r8d, r8d
- lea r11, unk_10800
- loc_10490: ; "\\DosDevices\\"
- lea rax, aDosdevices
- movzx eax, word ptr [r8+rax]
- mov [r8+r11], ax
- add r8, 2
- test ax, ax
- jnz short loc_10490
- lea rdx, unk_10980
- mov rcx, r11
- call sub_103AC
- lea rcx, [rsp+38h+DestinationString] ; DestinationString
- mov rdx, r11 ; SourceString
- call cs:RtlInitUnicodeString
- lea rcx, [rsp+38h+DestinationString] ; SymbolicLinkName
- call cs:IoDeleteSymbolicLink
- mov rcx, rbx ; DeviceObject
- call cs:IoDeleteDevice
- add rsp, 30h
- pop rbx
- retn
- sub_1047C endp
- algn_104E1:
- align 4
- /**********************************************************
- void __fastcall sub_1047C(__int64 a1)
- {
- struct _DEVICE_OBJECT *v1; // rbx@1
- __int64 v2; // r8@1
- wchar_t v3; // ax@2
- PCWSTR v4; // r11@3
- UNICODE_STRING DestinationString; // [rsp+20h] [rbp-18h]@3
- v1 = *(struct _DEVICE_OBJECT **)(a1 + 8);
- v2 = 0i64;
- do
- {
- v3 = aDosdevices[v2];
- *(_WORD *)((char *)&unk_10800 + v2 * 2) = v3;
- ++v2;
- }
- while ( v3 );
- sub_103AC(&unk_10800, (char *)&unk_10980);
- RtlInitUnicodeString(&DestinationString, v4);
- IoDeleteSymbolicLink(&DestinationString);
- IoDeleteDevice(v1);
- }
- ************************************************************/
- sub_104E4 proc near
- push rbx
- sub rsp, 20h
- mov rax, [rdx+0B8h]
- xor ecx, ecx
- mov rbx, rdx
- mov [rdx+30h], ecx
- mov [rdx+38h], rcx
- cmp [rax], cl
- jz short loc_1050D
- cmp byte ptr [rax], 2
- jz short loc_1050D
- mov dword ptr [rdx+30h], 0C0000002h
- loc_1050D: ; PriorityBoost
- xor edx, edx
- mov rcx, rbx ; Irp
- call cs:IofCompleteRequest
- mov eax, [rbx+30h]
- add rsp, 20h
- pop rbx
- retn
- sub_104E4 endp
- algn_10521:
- align 4
- /**********************************************************
- __int64 __fastcall sub_104E4(__int64 a1, struct _IRP *a2)
- {
- struct _IO_STACK_LOCATION *v2; // rax@1
- struct _IRP *v3; // rbx@1
- v2 = a2->Tail.Overlay.CurrentStackLocation;
- v3 = a2;
- a2->IoStatus.Status = 0;
- a2->IoStatus.Information = 0i64;
- if ( v2->MajorFunction && v2->MajorFunction != 2 )
- a2->IoStatus.Status = -1073741822;
- IofCompleteRequest(a2, 0);
- return (unsigned int)v3->IoStatus.Status;
- }
- ************************************************************/
- sub_10524 proc near
- var_28= qword ptr -28h
- var_20= qword ptr -20h
- var_18= qword ptr -18h
- arg_0= qword ptr 8
- mov [rsp+arg_0], rcx
- sub rsp, 48h
- mov rax, [rsp+48h+arg_0]
- mov rcx, [rsp+48h+arg_0]
- cmp [rax-8], rcx
- jz short loc_10541
- xor eax, eax
- jmp short loc_1058A
- loc_10541:
- mov rax, [rsp+48h+arg_0]
- mov [rsp+48h+var_20], rax
- mov rax, cs:MmGetSystemRoutineAddress
- mov [rsp+48h+var_18], rax
- mov [rsp+48h+var_28], 0
- lea rax, sub_10788
- lea rcx, [rsp+48h+var_28]
- call rax ; sub_10788
- mov rcx, [rsp+48h+var_18]
- call [rsp+48h+var_20]
- lea rax, sub_107A0
- lea rcx, [rsp+48h+var_28]
- call rax ; sub_107A0
- mov eax, 1
- loc_1058A:
- add rsp, 48h
- retn
- sub_10524 endp
- algn_1058F:
- align 10h
- /**********************************************************
- signed __int64 __fastcall sub_10524(void (__fastcall *a1)(_QWORD))
- {
- __int64 v2; // [rsp+20h] [rbp-28h]@3
- void (__fastcall *v3)(PVOID (__stdcall *)(PUNICODE_STRING)); // [rsp+28h] [rbp-20h]@3
- PVOID (__stdcall *v4)(PUNICODE_STRING); // [rsp+30h] [rbp-18h]@3
- if ( *((void (__fastcall **)(_QWORD))a1 - 1) != a1 )
- return 0i64;
- v3 = (void (__fastcall *)(PVOID (__stdcall *)(PUNICODE_STRING)))a1;
- v4 = MmGetSystemRoutineAddress;
- v2 = 0i64;
- sub_10788((unsigned __int64 *)&v2);
- v3(v4);
- sub_107A0((unsigned __int64 *)&v2);
- return 1i64;
- }
- ************************************************************/
- sub_10590 proc near
- push rbx
- push rsi
- push rdi
- sub rsp, 20h
- mov rax, [rdx+0B8h]
- mov rdi, [rdx+18h]
- xor ecx, ecx
- mov [rdx+30h], ecx
- mov [rdx+38h], rcx
- cmp byte ptr [rax], 0Eh
- mov r9d, [rax+10h]
- mov r8d, [rax+8]
- mov rbx, rdx
- mov edx, [rax+18h]
- jz short loc_105C8
- mov dword ptr [rbx+30h], 0C0000002h
- jmp short loc_10626
- loc_105C8:
- mov r11d, 0AA012044h
- mov eax, ecx
- mov esi, ecx
- cmp edx, r11d
- mov r10d, 0AA013044h
- jz short loc_105EC
- cmp edx, r10d
- jnz short loc_105F3
- mov eax, 8
- lea esi, [rax-4]
- jmp short loc_105F3
- loc_105EC:
- mov esi, 4
- mov eax, esi
- loc_105F3:
- cmp r9d, eax
- jnz short loc_1061F
- cmp r8d, esi
- jnz short loc_1061F
- cmp edx, r11d
- jz short loc_1060C
- cmp edx, r10d
- jnz short loc_10615
- mov rcx, [rdi]
- jmp short loc_1060E
- loc_1060C:
- mov ecx, [rdi]
- loc_1060E:
- call sub_10524
- mov ecx, eax
- loc_10615:
- mov eax, esi
- mov [rdi], ecx
- mov [rbx+38h], rax
- jmp short loc_10626
- loc_1061F:
- mov dword ptr [rbx+30h], 0C000000Dh
- loc_10626: ; PriorityBoost
- xor edx, edx
- mov rcx, rbx ; Irp
- call cs:IofCompleteRequest
- mov eax, [rbx+30h]
- add rsp, 20h
- pop rdi
- pop rsi
- pop rbx
- retn
- sub_10590 endp
- /**********************************************************
- __int64 __fastcall sub_10590(__int64 a1, struct _IRP *a2)
- {
- struct _IO_STACK_LOCATION *v2; // rax@1
- struct _IRP *v3; // rdi@1
- int v4; // ecx@1
- ULONG v5; // er9@1
- ULONG v6; // er8@1
- struct _IRP *v7; // rbx@1
- ULONG v8; // edx@1
- signed int v9; // eax@3
- unsigned int v10; // esi@3
- void (__fastcall *v11)(_QWORD); // rcx@11
- v2 = a2->Tail.Overlay.CurrentStackLocation;
- v3 = a2->AssociatedIrp.MasterIrp;
- v4 = 0;
- a2->IoStatus.Status = 0;
- a2->IoStatus.Information = 0i64;
- v5 = v2->Parameters.Create.Options;
- v6 = v2->Parameters.Read.Length;
- v7 = a2;
- v8 = v2->Parameters.Read.ByteOffset.LowPart;
- if ( v2->MajorFunction == 14 )
- {
- v9 = 0;
- v10 = 0;
- if ( v8 == -1442766780 )
- {
- v10 = 4;
- v9 = 4;
- }
- else if ( v8 == -1442762684 )
- {
- v9 = 8;
- v10 = 4;
- }
- if ( v5 != v9 || v6 != v10 )
- {
- v7->IoStatus.Status = -1073741811;
- goto LABEL_16;
- }
- if ( v8 == -1442766780 )
- {
- v11 = (void (__fastcall *)(_QWORD))*(unsigned int *)&v3->Type;
- }
- else
- {
- if ( v8 != -1442762684 )
- {
- LABEL_14:
- *(_DWORD *)&v3->Type = v4;
- v7->IoStatus.Information = v10;
- goto LABEL_16;
- }
- v11 = *(void (__fastcall **)(_QWORD))&v3->Type;
- }
- v4 = sub_10524(v11);
- goto LABEL_14;
- }
- v7->IoStatus.Status = -1073741822;
- LABEL_16:
- IofCompleteRequest(v7, 0);
- return (unsigned int)v7->IoStatus.Status;
- }
- ************************************************************/
- ; NTSTATUS __stdcall DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
- public DriverEntry
- DriverEntry proc near
- DeviceCharacteristics= dword ptr -58h
- Exclusive= byte ptr -50h
- DeviceObject= qword ptr -48h
- DestinationString= UNICODE_STRING ptr -38h
- SymbolicLinkName= UNICODE_STRING ptr -28h
- arg_10= qword ptr 18h
- push rbx
- push rdi
- sub rsp, 68h
- mov rbx, rcx
- lea rdi, __ImageBase
- lea r11, unk_10880
- xor ecx, ecx
- loc_10656:
- movzx eax, word ptr [rcx+rdi+774h]
- mov [rcx+r11], ax
- add rcx, 2
- test ax, ax
- jnz short loc_10656
- lea rdx, unk_10980
- mov rcx, r11
- call sub_103AC
- lea rcx, [rsp+78h+DestinationString] ; DestinationString
- mov rdx, r11 ; SourceString
- call cs:RtlInitUnicodeString
- lea r11, [rsp+78h+arg_10]
- lea r8, [rsp+78h+DestinationString] ; DeviceName
- mov [rsp+78h+DeviceObject], r11 ; DeviceObject
- mov r9d, 0AA01h ; DeviceType
- xor edx, edx ; DeviceExtensionSize
- mov rcx, rbx ; DriverObject
- mov [rsp+78h+Exclusive], 0 ; Exclusive
- mov [rsp+78h+DeviceCharacteristics], 0 ; DeviceCharacteristics
- call cs:IoCreateDevice
- test eax, eax
- js loc_10750
- xor ecx, ecx
- lea r11, unk_10840
- loc_106CA:
- movzx eax, word ptr [rcx+rdi+758h]
- mov [rcx+r11], ax
- add rcx, 2
- test ax, ax
- jnz short loc_106CA
- lea rdx, unk_10980
- mov rcx, r11
- call sub_103AC
- lea rcx, [rsp+78h+SymbolicLinkName] ; DestinationString
- mov rdx, r11 ; SourceString
- call cs:RtlInitUnicodeString
- lea rdx, [rsp+78h+DestinationString] ; DeviceName
- lea rcx, [rsp+78h+SymbolicLinkName] ; SymbolicLinkName
- call cs:IoCreateSymbolicLink
- test eax, eax
- mov edi, eax
- jns short loc_10723
- mov rcx, [rsp+78h+arg_10] ; DeviceObject
- call cs:IoDeleteDevice
- jmp short loc_1074E
- loc_10723:
- lea rax, sub_104E4
- mov [rbx+80h], rax
- mov [rbx+70h], rax
- lea rax, sub_10590
- mov [rbx+0E0h], rax
- lea rax, sub_1047C
- mov [rbx+68h], rax
- loc_1074E:
- mov eax, edi
- loc_10750:
- add rsp, 68h
- pop rdi
- pop rbx
- retn
- DriverEntry endp
- algn_10757:
- align 8
- aDosdevices:
- unicode 0, <\DosDevices\>,0
- align 4
- aDevice:
- unicode 0, <\Device\>,0
- align 8
- /**********************************************************
- NTSTATUS __stdcall DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
- {
- PDRIVER_OBJECT v2; // rbx@1
- __int64 v3; // rcx@1
- __int16 v4; // ax@2
- PCWSTR v5; // r11@3
- NTSTATUS result; // eax@3
- __int64 v7; // rcx@4
- __int16 v8; // ax@5
- PCWSTR v9; // r11@6
- NTSTATUS v10; // edi@6
- UNICODE_STRING DestinationString; // [rsp+40h] [rbp-38h]@3
- UNICODE_STRING SymbolicLinkName; // [rsp+50h] [rbp-28h]@6
- PDEVICE_OBJECT DeviceObject; // [rsp+90h] [rbp+18h]@3
- v2 = DriverObject;
- v3 = 0i64;
- do
- {
- v4 = _ImageBase[v3 + 954];
- *(_WORD *)((char *)&unk_10880 + v3 * 2) = v4;
- ++v3;
- }
- while ( v4 );
- sub_103AC(&unk_10880, (char *)&unk_10980);
- RtlInitUnicodeString(&DestinationString, v5);
- result = IoCreateDevice(v2, 0, &DestinationString, 0xAA01u, 0, 0, &DeviceObject);
- if ( result >= 0 )
- {
- v7 = 0i64;
- do
- {
- v8 = _ImageBase[v7 + 940];
- *(_WORD *)((char *)&unk_10840 + v7 * 2) = v8;
- ++v7;
- }
- while ( v8 );
- sub_103AC(&unk_10840, (char *)&unk_10980);
- RtlInitUnicodeString(&SymbolicLinkName, v9);
- v10 = IoCreateSymbolicLink(&SymbolicLinkName, &DestinationString);
- if ( v10 >= 0 )
- {
- v2->MajorFunction[2] = (PDRIVER_DISPATCH)&sub_104E4;
- v2->MajorFunction[0] = (PDRIVER_DISPATCH)&sub_104E4;
- v2->MajorFunction[14] = (PDRIVER_DISPATCH)&sub_10590;
- v2->DriverUnload = (PDRIVER_UNLOAD)sub_1047C;
- }
- else
- {
- IoDeleteDevice(DeviceObject);
- }
- result = v10;
- }
- return result;
- }
- ************************************************************/
- sub_10788 proc near
- cli
- mov rax, cr4
- mov [rcx], rax
- and rax, 0FFFFFFFFFFEFFFFFh
- mov cr4, rax
- retn
- sub_10788 endp
- align 20h
- /**********************************************************
- unsigned __int64 __fastcall sub_10788(unsigned __int64 *a1)
- {
- unsigned __int64 v1; // rax@1
- unsigned __int64 result; // rax@1
- _disable();
- v1 = __readcr4();
- *a1 = v1;
- result = v1 & 0xFFFFFFFFFFEFFFFFui64;
- __writecr4(result);
- return result;
- }
- ************************************************************/
- sub_107A0 proc near
- mov rax, [rcx]
- mov cr4, rax
- sti
- retn
- sub_107A0 endp
- /**********************************************************
- unsigned __int64 __fastcall sub_107A0(unsigned __int64 *a1)
- {
- unsigned __int64 result; // rax@1
- result = *a1;
- __writecr4(*a1);
- _enable();
- return result;
- }
- ************************************************************/
- stru_107A8 UNWIND_INFO <1, 6, 2, 0>
- UNWIND_CODE <6, 72h> ; UWOP_ALLOC_SMALL
- UNWIND_CODE <2, 70h> ; UWOP_PUSH_NONVOL
- stru_107B0 UNWIND_INFO <1, 6, 2, 0>
- UNWIND_CODE <6, 52h> ; UWOP_ALLOC_SMALL
- UNWIND_CODE <2, 30h> ; UWOP_PUSH_NONVOL
- stru_107B8 UNWIND_INFO <1, 6, 2, 0>
- UNWIND_CODE <6, 32h> ; UWOP_ALLOC_SMALL
- UNWIND_CODE <2, 30h> ; UWOP_PUSH_NONVOL
- stru_107C0 UNWIND_INFO <1, 9, 1, 0>
- UNWIND_CODE <9, 82h> ; UWOP_ALLOC_SMALL
- align 4
- stru_107C8 UNWIND_INFO <1, 8, 4, 0>
- UNWIND_CODE <8, 32h> ; UWOP_ALLOC_SMALL
- UNWIND_CODE <4, 70h> ; UWOP_PUSH_NONVOL
- UNWIND_CODE <3, 60h> ; UWOP_PUSH_NONVOL
- UNWIND_CODE <2, 30h> ; UWOP_PUSH_NONVOL
- stru_107D4 UNWIND_INFO <1, 7, 3, 0>
- UNWIND_CODE <7, 0C2h> ; UWOP_ALLOC_SMALL
- UNWIND_CODE <3, 70h> ; UWOP_PUSH_NONVOL
- UNWIND_CODE <2, 30h> ; UWOP_PUSH_NONVOL
- align 4
- align 40h
- _text ends
- ; Section 2. (virtual address 00000800)
- ; Virtual size : 000000C0 ( 192.)
- ; Section size in file : 00000100 ( 256.)
- ; Offset to raw data for section: 00000800
- ; Flags C8000040: Data Not pageable Readable Writable
- ; Alignment : default
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _data segment para public 'DATA' use64
- assume cs:_data
- ;org 10800h
- unk_10800 db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- unk_10840 db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- unk_10880 db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- _data ends
- ; Section 3. (virtual address 00000900)
- ; Virtual size : 00000048 ( 72.)
- ; Section size in file : 00000080 ( 128.)
- ; Offset to raw data for section: 00000900
- ; Flags 48000040: Data Not pageable Readable
- ; Alignment : default
- ; Segment type: Pure data
- ; Segment permissions: Read
- _pdata segment para public 'DATA' use64
- assume cs:_pdata
- ;org 10900h
- ExceptionDir RUNTIME_FUNCTION <rva sub_103AC, \
- rva sub_1047C, \
- rva stru_107A8>
- RUNTIME_FUNCTION <rva sub_1047C, \
- rva algn_104E1, \
- rva stru_107B0>
- RUNTIME_FUNCTION <rva sub_104E4, \
- rva algn_10521, \
- rva stru_107B8>
- RUNTIME_FUNCTION <rva sub_10524, \
- rva algn_1058F, \
- rva stru_107C0>
- RUNTIME_FUNCTION <rva sub_10590, \
- rva DriverEntry, \
- rva stru_107C8>
- RUNTIME_FUNCTION <rva DriverEntry, \
- rva algn_10757, \
- rva stru_107D4>
- align 40h
- _pdata ends
- ; Section 4. (virtual address 00000980)
- ; Virtual size : 000000A0 ( 160.)
- ; Section size in file : 00000100 ( 256.)
- ; Offset to raw data for section: 00000980
- ; Flags C8000040: Data Not pageable Readable Writable
- ; Alignment : default
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _info segment para public 'DATA' use64
- assume cs:_info
- ;org 10980h
- unk_10980 db 87h ; ‡
- db 0
- db 0EAh ; ê
- db 0
- db 0FDh ; ý
- db 0
- db 9Ah ; š
- db 0
- db 4Bh ; K
- db 0
- db 73h ; s
- db 0
- db 54h ; T
- db 0
- db 0A4h ; ¤
- db 0
- db 5Ch ; \
- db 0
- db 8Fh ;
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 59h ; Y
- db 0
- db 77h ; w
- db 0
- db 0B1h ; ±
- db 0
- db 0F7h ; ÷
- db 0
- db 88h ; ˆ
- db 0
- db 73h ; s
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 59h ; Y
- db 0
- db 0B6h ; ¶
- db 0
- db 0FEh ; þ
- db 0
- db 0F7h ; ÷
- db 0
- db 0C9h ; É
- db 0
- db 0B2h ; ²
- db 0
- db 0DDh ; Ý
- db 0
- db 90h ;
- db 0
- db 0C3h ; Ã
- db 0
- db 0DBh ; Û
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- db 0
- _info ends
- ; Section 5. (virtual address 00000A80)
- ; Virtual size : 00000114 ( 276.)
- ; Section size in file : 00000180 ( 384.)
- ; Offset to raw data for section: 00000A80
- ; Flags E2000020: Text Discardable Executable Readable Writable
- ; Alignment : default
- ; Segment type: Pure code
- ; Segment permissions: Read/Write/Execute
- INIT segment para public 'CODE' use64
- assume cs:INIT
- ;org 10A80h
- assume es:GAP, ss:GAP, ds:_data, fs:nothing, gs:nothing
- __IMPORT_DESCRIPTOR_ntoskrnl_exe dd rva off_10AA8 ; Import Name Table
- dd 0 ; Time stamp
- dd 0 ; Forwarder Chain
- dd rva aNtoskrnl_exe ; DLL Name
- dd rva IoDeleteSymbolicLink ; Import Address Table
- align 8
- dq 2 dup(0)
- ;
- ; Import names for ntoskrnl.exe
- ;
- off_10AA8 dq rva word_10AFA
- dq rva word_10B12
- dq rva word_10B2A
- dq rva word_10B40
- dq rva word_10B5C
- dq rva word_10B74
- dq rva word_10AE8
- dq 0
- word_10AE8 dw 15Fh
- db 'IoDeleteDevice',0
- align 2
- word_10AFA dw 161h
- db 'IoDeleteSymbolicLink',0
- align 2
- word_10B12 dw 43Eh
- db 'RtlInitUnicodeString',0
- align 2
- word_10B2A dw 1F6h
- db 'IofCompleteRequest',0
- align 20h
- word_10B40 dw 2C2h
- db 'MmGetSystemRoutineAddress',0
- word_10B5C dw 155h
- db 'IoCreateSymbolicLink',0
- align 4
- word_10B74 dw 14Ch
- db 'IoCreateDevice',0
- align 2
- aNtoskrnl_exe db 'ntoskrnl.exe',0
- align 80h
- INIT ends
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- GAP segment byte private 'DATA' use64
- assume cs:GAP
- ;org 10C00h
- unk_10C00 db 50h ; P
- db 1Dh
- db 0
- db 0
- db 0
- db 2
- db 2
- db 0
- db 30h ; 0
- db 82h ; ‚
- db 1Dh
- db 40h ; @
- db 6
- db 9
- db 2Ah ; *
- db 86h ; †
- db 48h ; H
- db 86h ; †
- db 0F7h ; ÷
- db 0Dh
- db 1
- db 7
- db 2
- db 0A0h ;
- db 82h ; ‚
- db 1Dh
- db 31h ; 1
- db 30h ; 0
- db 82h ; ‚
- db 1Dh
- db 2Dh ; -
- db 2
- db 1
- db 1
- db 31h ; 1
- db 0Bh
- db 30h ; 0
- db 9
- db 6
- db 5
- db 2Bh ; +
- db 0Eh
- db 3
- db 2
- db 1Ah
- db 5
- db 0
- db 30h ; 0
- db 4Ch ; L
- db 6
- db 0Ah
- db 2Bh ; +
- db 6
- db 1
- db 4
- db 1
- db 82h ; ‚
- db 37h ; 7
- db 2
- db 1
- db 4
- db 0A0h ;
- db 3Eh ; >
- db 30h ; 0
- db 3Ch ; <
- db 30h ; 0
- db 17h
- db 6
- db 0Ah
- db 2Bh ; +
- db 6
- db 1
- db 4
- db 1
- db 82h ; ‚
- db 37h ; 7
- db 2
- db 1
- db 0Fh
- db 30h ; 0
- db 9
- db 3
- db 1
- db 0
- db 0A0h ;
- db 4
- db 0A2h ; ¢
- db 2
- db 80h ; €
- db 0
- db 30h ; 0
- db 21h ; !
- db 30h ; 0
- db 9
- db 6
- db 5
- db 2Bh ; +
- db 0Eh
- db 3
- db 2
- db 1Ah
- db 5
- db 0
- db 4
- db 14h
- db 1Dh
- db 1Ch
- db 0AFh ; ¯
- db 0C7h ; Ç
- db 3Ch ; <
- db 97h ; —
- db 0C6h ; Æ
- db 0BCh ; ¼
- db 0D2h ; Ò
- db 33h ; 3
- db 1Fh
- db 87h ; ‡
- db 77h ; w
- db 0D9h ; Ù
- db 0Fh
- db 0DCh ; Ü
- db 0A5h ; ¥
- db 71h ; q
- db 25h ; %
- db 0A3h ; £
- db 0A0h ;
- db 82h ; ‚
- db 18h
- db 8Bh ; ‹
- db 30h ; 0
- db 82h ; ‚
- db 3
- db 0EEh ; î
- db 30h ; 0
- db 82h ; ‚
- db 3
- db 57h ; W
- db 0A0h ;
- db 3
- db 2
- db 1
- db 2
- db 2
- db 10h
- db 7Eh ; ~
- db 93h ; “
- db 0EBh ; ë
- db 0FBh ; û
- db 7Ch ; |
- db 0C6h ; Æ
- db 4Eh ; N
- db 59h ; Y
- db 0EAh ; ê
- db 4Bh ; K
- db 9Ah ; š
- db 77h ; w
- db 0D4h ; Ô
- db 6
- db 0FCh ; ü
- db 3Bh ; ;
- db 30h ; 0
- db 0Dh
- db 6
- db 9
- db 2Ah ; *
- db 86h ; †
- db 48h ; H
- db 86h ; †
- db 0F7h ; ÷
- db 0Dh
- db 1
- db 1
- db 5
- db 5
- db 0
- db 30h ; 0
- db 81h ;
- db 8Bh ; ‹
- db 31h ; 1
- db 0Bh
- db 30h ; 0
- db 9
- db 6
- db 3
- db 55h ; U
- db 4
- db 6
- db 13h
- db 2
- db 5Ah ; Z
- db 41h ; A
- db 31h ; 1
- db 15h
- db 30h ; 0
- db 13h
- db 6
- db 3
- db 55h ; U
- db 4
- db 8
- db 13h
- db 0Ch
- db 57h ; W
- db 65h ; e
- db 73h ; s
- db 74h ; t
- db 65h ; e
- db 72h ; r
- db 6Eh ; n
- db 20h
- db 43h ; C
- db 61h ; a
- db 70h ; p
- db 65h ; e
- db 31h ; 1
- db 14h
- db 30h ; 0
- db 12h
- db 6
- db 3
- db 55h ; U
- db 4
- db 7
- db 13h
- db 0Bh
- db 44h ; D
- db 75h ; u
- db 72h ; r
- db 62h ; b
- db 61h ; a
- db 6Eh ; n
- db 76h ; v
- db 69h ; i
- db 6Ch ; l
- db 6Ch ; l
- db 65h ; e
- db 31h ; 1
- db 0Fh
- db 30h ; 0
- db 0Dh
- db 6
- db 3
- db 55h ; U
- db 4
- db 0Ah
- db 13h
- db 6
- db 54h ; T
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 31h ; 1
- db 1Dh
- db 30h ; 0
- db 1Bh
- db 6
- db 3
- db 55h ; U
- db 4
- db 0Bh
- db 13h
- db 14h
- db 54h ; T
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 20h
- db 43h ; C
- db 65h ; e
- db 72h ; r
- db 74h ; t
- db 69h ; i
- db 66h ; f
- db 69h ; i
- db 63h ; c
- db 61h ; a
- db 74h ; t
- db 69h ; i
- db 6Fh ; o
- db 6Eh ; n
- db 31h ; 1
- db 1Fh
- db 30h ; 0
- db 1Dh
- db 6
- db 3
- db 55h ; U
- db 4
- db 3
- db 13h
- db 16h
- db 54h ; T
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 20h
- db 54h ; T
- db 69h ; i
- db 6Dh ; m
- db 65h ; e
- db 73h ; s
- db 74h ; t
- db 61h ; a
- db 6Dh ; m
- db 70h ; p
- db 69h ; i
- db 6Eh ; n
- db 67h ; g
- db 20h
- db 43h ; C
- db 41h ; A
- db 30h ; 0
- db 1Eh
- db 17h
- db 0Dh
- db 31h ; 1
- db 32h ; 2
- db 31h ; 1
- db 32h ; 2
- db 32h ; 2
- db 31h ; 1
- db 30h ; 0
- db 30h ; 0
- db 30h ; 0
- db 30h ; 0
- db 30h ; 0
- db 30h ; 0
- db 5Ah ; Z
- db 17h
- db 0Dh
- db 32h ; 2
- db 30h ; 0
- db 31h ; 1
- db 32h ; 2
- db 33h ; 3
- db 30h ; 0
- db 32h ; 2
- db 33h ; 3
- db 35h ; 5
- db 39h ; 9
- db 35h ; 5
- db 39h ; 9
- db 5Ah ; Z
- db 30h ; 0
- db 5Eh ; ^
- db 31h ; 1
- db 0Bh
- db 30h ; 0
- db 9
- db 6
- db 3
- db 55h ; U
- db 4
- db 6
- db 13h
- db 2
- db 55h ; U
- db 53h ; S
- db 31h ; 1
- db 1Dh
- db 30h ; 0
- db 1Bh
- db 6
- db 3
- db 55h ; U
- db 4
- db 0Ah
- db 13h
- db 14h
- db 53h ; S
- db 79h ; y
- db 6Dh ; m
- db 61h ; a
- db 6Eh ; n
- db 74h ; t
- db 65h ; e
- db 63h ; c
- db 20h
- db 43h ; C
- db 6Fh ; o
- db 72h ; r
- db 70h ; p
- db 6Fh ; o
- db 72h ; r
- db 61h ; a
- db 74h ; t
- db 69h ; i
- db 6Fh ; o
- db 6Eh ; n
- db 31h ; 1
- db 30h ; 0
- db 30h ; 0
- db 2Eh ; .
- db 6
- db 3
- db 55h ; U
- db 4
- db 3
- db 13h
- db 27h ; '
- db 53h ; S
- db 79h ; y
- db 6Dh ; m
- db 61h ; a
- db 6Eh ; n
- db 74h ; t
- db 65h ; e
- db 63h ; c
- db 20h
- db 54h ; T
- db 69h ; i
- db 6Dh ; m
- db 65h ; e
- db 20h
- db 53h ; S
- db 74h ; t
- db 61h ; a
- db 6Dh ; m
- db 70h ; p
- db 69h ; i
- db 6Eh ; n
- db 67h ; g
- db 20h
- db 53h ; S
- db 65h ; e
- db 72h ; r
- db 76h ; v
- db 69h ; i
- db 63h ; c
- db 65h ; e
- db 73h ; s
- db 20h
- db 43h ; C
- db 41h ; A
- db 20h
- db 2Dh ; -
- db 20h
- db 47h ; G
- db 32h ; 2
- db 30h ; 0
- db 82h ; ‚
- db 1
- db 22h ; "
- db 30h ; 0
- db 0Dh
- db 6
- db 9
- db 2Ah ; *
- db 86h ; †
- db 48h ; H
- db 86h ; †
- db 0F7h ; ÷
- db 0Dh
- db 1
- db 1
- db 1
- db 5
- db 0
- db 3
- db 82h ; ‚
- db 1
- db 0Fh
- db 0
- db 30h ; 0
- db 82h ; ‚
- db 1
- db 0Ah
- db 2
- db 82h ; ‚
- db 1
- db 1
- db 0
- db 0B1h ; ±
- db 0ACh ; ¬
- db 0B3h ; ³
- db 49h ; I
- db 54h ; T
- db 4Bh ; K
- db 97h ; —
- db 1Ch
- db 12h
- db 0Ah
- db 0D8h ; Ø
- db 25h ; %
- db 79h ; y
- db 91h ; ‘
- db 22h ; "
- db 57h ; W
- db 2Ah ; *
- db 6Fh ; o
- db 0DCh ; Ü
- db 0B8h ; ¸
- db 26h ; &
- db 0C4h ; Ä
- db 43h ; C
- db 73h ; s
- db 6Bh ; k
- db 0C2h ; Â
- db 0BFh ; ¿
- db 2Eh ; .
- db 50h ; P
- db 5Ah ; Z
- db 0FBh ; û
- db 14h
- db 0C2h ; Â
- db 76h ; v
- db 8Eh ; Ž
- db 43h ; C
- db 1
- db 25h ; %
- db 43h ; C
- db 0B4h ; ´
- db 0A1h ; ¡
- db 0E2h ; â
- db 45h ; E
- db 0F4h ; ô
- db 0E8h ; è
- db 0B7h ; ·
- db 7Bh ; {
- db 0C3h ; Ã
- db 74h ; t
- db 0CCh ; Ì
- db 22h ; "
- db 0D7h ; ×
- db 0B4h ; ´
- db 94h ; ”
- db 0
- db 2
- db 0F7h ; ÷
- db 4Dh ; M
- db 0EDh ; í
- db 0BFh ; ¿
- db 0B4h ; ´
- db 0B7h ; ·
- db 44h ; D
- db 24h ; $
- db 6Bh ; k
- db 0CDh ; Í
- db 5Fh ; _
- db 45h ; E
- db 3Bh ; ;
- db 0D1h ; Ñ
- db 44h ; D
- db 0CEh ; Î
- db 43h ; C
- db 12h
- db 73h ; s
- db 17h
- db 82h ; ‚
- db 8Bh ; ‹
- db 69h ; i
- db 0B4h ; ´
- db 2Bh ; +
- db 0CBh ; Ë
- db 99h ; ™
- db 1Eh
- db 0ACh ; ¬
- db 72h ; r
- db 1Bh
- db 26h ; &
- db 4Dh ; M
- db 71h ; q
- db 1Fh
- db 0B1h ; ±
- db 31h ; 1
- db 0DDh ; Ý
- db 0FBh ; û
- db 51h ; Q
- db 61h ; a
- db 2
- db 53h ; S
- db 0A6h ; ¦
- db 0AAh ; ª
- db 0F5h ; õ
- db 49h ; I
- db 2Ch ; ,
- db 5
- db 78h ; x
- db 45h ; E
- db 0A5h ; ¥
- db 2Fh ; /
- db 89h ; ‰
- db 0CEh ; Î
- db 0E7h ; ç
- db 99h ; ™
- db 0E7h ; ç
- db 0FEh ; þ
- db 8Ch ; Œ
- db 0E2h ; â
- db 57h ; W
- db 3Fh ; ?
- db 3Dh ; =
- db 0C6h ; Æ
- db 92h ; ’
- db 0DCh ; Ü
- db 4Ah ; J
- db 0F8h ; ø
- db 7Bh ; {
- db 33h ; 3
- db 0E4h ; ä
- db 79h ; y
- db 0Ah
- db 0FBh ; û
- db 0F0h ; ð
- db 75h ; u
- db 88h ; ˆ
- db 41h ; A
- db 9Ch ; œ
- db 0FFh
- db 0C5h ; Å
- db 3
- db 51h ; Q
- db 99h ; ™
- db 0AAh ; ª
- db 0D7h ; ×
- db 6Ch ; l
- db 9Fh ; Ÿ
- db 93h ; “
- db 69h ; i
- db 87h ; ‡
- db 65h ; e
- db 29h ; )
- db 83h ; ƒ
- db 85h ; …
- db 0C2h ; Â
- db 60h ; `
- db 14h
- db 0C4h ; Ä
- db 0C8h ; È
- db 0C9h ; É
- db 3Bh ; ;
- db 14h
- db 0DAh ; Ú
- db 0C0h ; À
- db 81h ;
- db 0F0h ; ð
- db 1Fh
- db 0Dh
- db 74h ; t
- db 0DEh ; Þ
- db 92h ; ’
- db 22h ; "
- db 0ABh ; «
- db 0CAh ; Ê
- db 0F7h ; ÷
- db 0FBh ; û
- db 74h ; t
- db 7Ch ; |
- db 27h ; '
- db 0E6h ; æ
- db 0F7h ; ÷
- db 4Ah ; J
- db 1Bh
- db 7Fh ;
- db 0A7h ; §
- db 0C3h ; Ã
- db 9Eh ; ž
- db 2Dh ; -
- db 0AEh ; ®
- db 8Ah ; Š
- db 0EAh ; ê
- db 0A6h ; ¦
- db 0E6h ; æ
- db 0AAh ; ª
- db 27h ; '
- db 16h
- db 7Dh ; }
- db 61h ; a
- db 0F7h ; ÷
- db 98h ; ˜
- db 71h ; q
- db 11h
- db 0BCh ; ¼
- db 0E2h ; â
- db 50h ; P
- db 0A1h ; ¡
- db 4Bh ; K
- db 0E5h ; å
- db 5Dh ; ]
- db 0FAh ; ú
- db 0E5h ; å
- db 0Eh
- db 0A7h ; §
- db 2Ch ; ,
- db 9Fh ; Ÿ
- db 0AAh ; ª
- db 65h ; e
- db 20h
- db 0D3h ; Ó
- db 0D8h ; Ø
- db 96h ; –
- db 0E8h ; è
- db 0C8h ; È
- db 7Ch ; |
- db 0A5h ; ¥
- db 4Eh ; N
- db 48h ; H
- db 44h ; D
- db 0FFh
- db 19h
- db 0E2h ; â
- db 44h ; D
- db 7
- db 92h ; ’
- db 0Bh
- db 0D7h ; ×
- db 68h ; h
- db 84h ; „
- db 80h ; €
- db 5Dh ; ]
- db 6Ah ; j
- db 78h ; x
- db 64h ; d
- db 45h ; E
- db 0CDh ; Í
- db 60h ; `
- db 46h ; F
- db 7Eh ; ~
- db 54h ; T
- db 0C1h ; Á
- db 13h
- db 7Ch ; |
- db 0C5h ; Å
- db 79h ; y
- db 0F1h ; ñ
- db 0C9h ; É
- db 0C1h ; Á
- db 71h ; q
- db 2
- db 3
- db 1
- db 0
- db 1
- db 0A3h ; £
- db 81h ;
- db 0FAh ; ú
- db 30h ; 0
- db 81h ;
- db 0F7h ; ÷
- db 30h ; 0
- db 1Dh
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 0Eh
- db 4
- db 16h
- db 4
- db 14h
- db 5Fh ; _
- db 9Ah ; š
- db 0F5h ; õ
- db 6Eh ; n
- db 5Ch ; \
- db 0CCh ; Ì
- db 0CCh ; Ì
- db 74h ; t
- db 9Ah ; š
- db 0D4h ; Ô
- db 0DDh ; Ý
- db 7Dh ; }
- db 0EFh ; ï
- db 3Fh ; ?
- db 0DBh ; Û
- db 0ECh ; ì
- db 4Ch ; L
- db 80h ; €
- db 2Eh ; .
- db 0DDh ; Ý
- db 30h ; 0
- db 32h ; 2
- db 6
- db 8
- db 2Bh ; +
- db 6
- db 1
- db 5
- db 5
- db 7
- db 1
- db 1
- db 4
- db 26h ; &
- db 30h ; 0
- db 24h ; $
- db 30h ; 0
- db 22h ; "
- db 6
- db 8
- db 2Bh ; +
- db 6
- db 1
- db 5
- db 5
- db 7
- db 30h ; 0
- db 1
- db 86h ; †
- db 16h
- db 68h ; h
- db 74h ; t
- db 74h ; t
- db 70h ; p
- db 3Ah ; :
- db 2Fh ; /
- db 2Fh ; /
- db 6Fh ; o
- db 63h ; c
- db 73h ; s
- db 70h ; p
- db 2Eh ; .
- db 74h ; t
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 2Eh ; .
- db 63h ; c
- db 6Fh ; o
- db 6Dh ; m
- db 30h ; 0
- db 12h
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 13h
- db 1
- db 1
- db 0FFh
- db 4
- db 8
- db 30h ; 0
- db 6
- db 1
- db 1
- db 0FFh
- db 2
- db 1
- db 0
- db 30h ; 0
- db 3Fh ; ?
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 1Fh
- db 4
- db 38h ; 8
- db 30h ; 0
- db 36h ; 6
- db 30h ; 0
- db 34h ; 4
- db 0A0h ;
- db 32h ; 2
- db 0A0h ;
- db 30h ; 0
- db 86h ; †
- db 2Eh ; .
- db 68h ; h
- db 74h ; t
- db 74h ; t
- db 70h ; p
- db 3Ah ; :
- db 2Fh ; /
- db 2Fh ; /
- db 63h ; c
- db 72h ; r
- db 6Ch ; l
- db 2Eh ; .
- db 74h ; t
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 2Eh ; .
- db 63h ; c
- db 6Fh ; o
- db 6Dh ; m
- db 2Fh ; /
- db 54h ; T
- db 68h ; h
- db 61h ; a
- db 77h ; w
- db 74h ; t
- db 65h ; e
- db 54h ; T
- db 69h ; i
- db 6Dh ; m
- db 65h ; e
- db 73h ; s
- db 74h ; t
- db 61h ; a
- db 6Dh ; m
- db 70h ; p
- db 69h ; i
- db 6Eh ; n
- db 67h ; g
- db 43h ; C
- db 41h ; A
- db 2Eh ; .
- db 63h ; c
- db 72h ; r
- db 6Ch ; l
- db 30h ; 0
- db 13h
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 25h ; %
- db 4
- db 0Ch
- db 30h ; 0
- db 0Ah
- db 6
- db 8
- db 2Bh ; +
- db 6
- db 1
- db 5
- db 5
- db 7
- db 3
- db 8
- db 30h ; 0
- db 0Eh
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 0Fh
- db 1
- db 1
- db 0FFh
- db 4
- db 4
- db 3
- db 2
- db 1
- db 6
- db 30h ; 0
- db 28h ; (
- db 6
- db 3
- db 55h ; U
- db 1Dh
- db 11h
- db 4
- db 21h ; !
- db 30h ; 0
- db 1Fh
- db 0A4h ; ¤
- db 1Dh
- db 30h ; 0
- db 1Bh
- db 31h ; 1
- db 19h
- db 30h ; 0
- db 17h
- db 6
- db 3
- db 55h ; U
- db 4
- db 3
- db 13h
- db 10h
- db 54h ; T
- db 69h ; i
- db 6Dh ; m
- db 65h ; e
- db 53h ; S
- db 74h ; t
- db 61h ; a
- db 6Dh ; m
- db 70h ; p
- db 2Dh ; -
- db 32h ; 2
- db 30h ; 0
- db 34h ; 4
- db 38h ; 8
- db 2Dh ; -
- db 31h ; 1
- db 30h ; 0
- db 0Dh
- db 6
- db 9
- db 2Ah ; *
- db 86h ; †
- db 48h ; H
- db 86h ; †
- db 0F7h ; ÷
- db 0Dh
- db 1
- db 1
- db 5
- db 5
- db 0
- db 3
- db 81h ;
- db 81h ;
- db 0
- db 3
- db 9
- db 9Bh ; ›
- db 8Fh ;
- db 79h ; y
- db 0EFh ; ï
- db 7Fh ;
- db 59h ; Y
- db 30h ; 0
- db 0AAh ; ª
- db 0EFh ; ï
- db 68h ; h
- db 0B5h ; µ
- GAP ends
- end DriverEntry
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement