Function at 0x1744c
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
push edi
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x28], bx
lea edi, [ebp - 0x26]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov esi, 0x1f640
mov ecx, 0x8d
mov edi, esi
rep stosd dword es:[edi], eax
push ebx
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ebx
mov dword [0x1f5c0], ebx
mov dword [0x1f62c], ebx
call sub.ntoskrnl.exe_PsGetVersion
cmp dword [ebp - 0xc], 5
mov edi, 0x11c
ja 0x174b8
jne 0x177e6
cmp dword [ebp - 0x14], ebx
je 0x1750b
push 0x1739e
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ntoskrnl.exe_MmGetSystemRoutineAddress]
push eax
mov dword [ebp - 8], eax
call dword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
test al, al
je 0x186e8
push esi
mov dword [0x1f640], edi
call dword [ebp - 8]
cmp eax, ebx
mov dword [ebp - 4], eax
jl 0x186ed
cmp dword [ebp - 0xc], 5
jne 0x177e6
cmp dword [ebp - 0x14], ebx
jne 0x177e6
push 0xc
pop edx
push 8
pop esi
push 0x10
pop ebx
push 0x40
mov eax, 0xa8
mov dword [0x1f794], eax
mov dword [0x1f7ac], eax
pop eax
push 0x38
pop ecx
mov edi, 0x1b0
push 0x1c
mov dword [0x1f788], edi
mov dword [0x1f7d4], ecx
mov dword [0x1f7e4], edi
xor edi, edi
mov dword [0x1f828], ecx
pop ecx
push 0x20
mov dword [0x1f7e8], edi
mov dword [0x1f804], edi
mov dword [0x1f808], edi
pop edi
mov dword [0x1f75c], 1
mov dword [0x1f760], 0x1d2
mov dword [0x1f764], 0x1bc
mov dword [0x1f768], 0x1cb
mov dword [0x1f76c], 0x1cc
mov dword [0x1f770], 0x135
mov dword [0x1f774], 0x1f5
mov dword [0x1f778], 0x1e8
mov dword [0x1f77c], 0xb10
mov dword [0x1f780], 0x9f0
mov dword [0x1f784], 0x248
mov dword [0x1f78c], 0x288
mov dword [0x1f790], 0x6c
mov dword [0x1f798], 0x18
mov dword [0x1f79c], edx
mov dword [0x1f7a0], 0x1dc
mov dword [0x1f7a4], 0xae
mov dword [0x1f7a8], 0xac
mov dword [0x1f7b0], 0xa4
mov dword [0x1f7b4], 2
mov dword [0x1f7b8], esi
mov dword [0x1f7bc], ebx
mov dword [0x1f7c0], 0x64
mov dword [0x1f7c4], 0x68
mov dword [0x1f7c8], 0x30
mov dword [0x1f7cc], eax
mov dword [0x1f7d0], 0x70
mov dword [0x1f7d8], 0x34
mov dword [0x1f7dc], 0x134
mov dword [0x1f7e0], 0x218
mov dword [0x1f7ec], 0x9c
mov dword [0x1f7f0], 0x120
mov dword [0x1f7f4], 0x128
mov dword [0x1f7f8], 0xa0
mov dword [0x1f7fc], 0x214
mov dword [0x1f800], 0x22c
mov dword [0x1f80c], 0x211
mov dword [0x1f810], 0x1fc
mov dword [0x1f814], 0x270
mov dword [0x1f818], 0x1c8
mov dword [0x1f81c], 0x1c4
mov dword [0x1f820], 0x1b4
mov dword [0x1f824], ebx
mov dword [0x1f82c], 0x3c
mov dword [0x1f830], eax
mov dword [0x1f834], ecx
mov dword [0x1f838], 0x24
mov dword [0x1f83c], edi
mov dword [0x1f840], esi
mov dword [0x1f844], edx
mov dword [0x1f848], 4
mov dword [0x1f84c], ecx
mov dword [0x1f850], esi
mov dword [0x1f854], eax
mov dword [0x1f858], 0x64
mov eax, dword [0x1f5a4]
and dword [ebp - 0x1c], 0
test eax, eax
mov dword [0x1f85c], edi
mov dword [0x1f860], 0x14
mov dword [0x1f864], 0x60
mov dword [0x1f868], 0x50
mov dword [0x1f86c], ebx
mov byte [0x1f870], 1
mov dword [ebp - 8], eax
je 0x1842b
lea ecx, [eax + 0x180]
cmp eax, ecx
jae 0x1842b
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1c]
call fcn.0001478a
test eax, eax
je 0x1842b
cmp eax, 5
mov ecx, dword [ebp - 8]
jne 0x177d2
cmp byte [ecx], 0xe8
jne 0x177d2
cmp byte [ecx + 5], 0x89
jne 0x177d2
cmp byte [ecx - 1], 0x51
je 0x1841f
add ecx, eax
lea eax, [ecx + 0x180]
cmp ecx, eax
mov dword [ebp - 8], ecx
jb 0x177a2
jmp 0x1842b
mov eax, dword [0x1f644]
sub eax, 5
je 0x17e38
dec eax
jne 0x17807
mov eax, dword [0x1f648]
sub eax, ebx
je 0x17afd
dec eax
je 0x17813
mov dword [ebp - 4], 0xc0000001
jmp 0x186e3
push 0x10
pop ebx
and dword [0x1f850], 0
push 0xc
pop edx
push 8
pop esi
push 0x40
mov eax, 0xa8
mov dword [0x1f794], eax
mov dword [0x1f7ac], eax
pop eax
push 0x38
pop ecx
push 0x20
pop edi
mov dword [0x1f75c], ebx
mov dword [0x1f760], 0x203
mov dword [0x1f764], 0x1ea
mov dword [0x1f768], 0x1fc
mov dword [0x1f76c], 0x1fd
mov dword [0x1f770], 0x14a
mov dword [0x1f774], 0x228
mov dword [0x1f778], 0x248
mov dword [0x1f77c], 0x3748
mov dword [0x1f780], 0x3628
mov dword [0x1f784], 0x2b8
mov dword [0x1f788], 0x200
mov dword [0x1f78c], 0x2c0
mov dword [0x1f790], 0x98
mov dword [0x1f798], 0x18
mov dword [0x1f79c], edx
mov dword [0x1f7a0], 0x1f0
mov dword [0x1f7a4], 0xae
mov dword [0x1f7a8], 0xac
mov dword [0x1f7b0], 0xa4
mov dword [0x1f7b4], 2
mov dword [0x1f7b8], esi
mov dword [0x1f7bc], ebx
mov dword [0x1f7c0], 0x64
mov dword [0x1f7c4], 0x68
mov dword [0x1f7c8], 0x30
mov dword [0x1f7cc], eax
mov dword [0x1f7d0], 0x70
mov dword [0x1f7d4], ecx
mov dword [0x1f7d8], eax
mov dword [0x1f7dc], 0x13a
mov dword [0x1f7e0], 0x124
mov dword [0x1f7e4], 0x1a8
mov dword [0x1f7e8], 0x270
mov dword [0x1f7ec], 0xb4
mov dword [0x1f7f0], 0xec
mov dword [0x1f7f4], 0xf4
mov dword [0x1f7f8], 0xb8
mov dword [0x1f7fc], 0x120
mov dword [0x1f800], 0x190
mov dword [0x1f804], 0x128
mov dword [0x1f808], 0x1ec
mov dword [0x1f80c], 0x17b
mov dword [0x1f810], 0x16c
mov dword [0x1f814], 0x188
mov dword [0x1f818], 0x140
mov dword [0x1f81c], 0x13c
mov dword [0x1f820], 0x12c
mov dword [0x1f824], ebx
mov dword [0x1f828], ecx
mov dword [0x1f82c], 0x3c
mov dword [0x1f830], eax
mov dword [0x1f834], 0x1c
mov dword [0x1f838], 0x24
mov dword [0x1f83c], edi
mov dword [0x1f840], esi
mov dword [0x1f844], edx
mov dword [0x1f848], 4
mov dword [0x1f84c], 0x18
mov dword [0x1f854], esi
mov dword [0x1f858], 0x7c
mov dword [0x1f85c], 0x2c
mov dword [0x1f860], 0x84
mov dword [0x1f864], 0x60
mov dword [0x1f868], 0x50
mov eax, dword [0x1f5a4]
and dword [ebp - 0x1c], 0
test eax, eax
mov dword [0x1f86c], ebx
mov byte [0x1f870], 1
mov dword [ebp - 8], eax
je 0x1842b
lea ecx, [eax + 0x360]
cmp eax, ecx
jae 0x1842b
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1c]
call fcn.0001478a
test eax, eax
je 0x1842b
cmp eax, 5
mov ecx, dword [ebp - 8]
jne 0x17ae9
cmp byte [ecx], 0xe8
jne 0x17ae9
cmp byte [ecx + 5], 0x89
jne 0x17ae9
cmp byte [ecx - 1], 0x57
je 0x1841f
add ecx, eax
lea eax, [ecx + 0x360]
cmp ecx, eax
mov dword [ebp - 8], ecx
jb 0x17ab9
jmp 0x1842b
mov eax, dword [0x1f64c]
mov dx, word [0x1f754]
push 8
mov ecx, 0x1770
cmp eax, ecx
pop esi
mov dword [0x1f75c], esi
mov dword [0x1f760], 0x1f8
mov dword [0x1f764], 0x1df
mov dword [0x1f768], 0x1f1
mov dword [0x1f76c], 0x1f2
mov dword [0x1f770], 0x149
mov dword [0x1f774], 0x21e
mov dword [0x1f778], 0x238
jne 0x17b72
cmp dx, bx
jne 0x17b72
mov dword [0x1f77c], 0x20b8
jmp 0x17b85
cmp eax, ecx
mov dword [0x1f77c], 0x2128
jne 0x17b91
cmp dx, bx
jne 0x17b91
mov dword [0x1f780], 0x1f98
jmp 0x17b9b
mov dword [0x1f780], 0x2008
cmp dword [0x1f64c], 0x1770
push 0xc
pop edx
push 0x10
pop ebx
push 0x40
mov eax, 0xa8
mov dword [0x1f794], eax
mov dword [0x1f7ac], eax
pop eax
push 0x38
pop ecx
push 0x1c
mov dword [0x1f7d4], ecx
mov dword [0x1f7d8], ecx
mov dword [0x1f828], ecx
pop ecx
push 0x20
pop edi
mov dword [0x1f784], 0x288
mov dword [0x1f788], 0x1e0
mov dword [0x1f78c], 0x270
mov dword [0x1f790], 0x80
mov dword [0x1f798], 0x18
mov dword [0x1f79c], edx
mov dword [0x1f7a0], 0x1f0
mov dword [0x1f7a4], 0xae
mov dword [0x1f7a8], 0xac
mov dword [0x1f7b0], 0xa4
mov dword [0x1f7b4], 2
mov dword [0x1f7b8], esi
mov dword [0x1f7bc], ebx
mov dword [0x1f7c0], 0x64
mov dword [0x1f7c4], 0x68
mov dword [0x1f7c8], 0x30
mov dword [0x1f7cc], eax
mov dword [0x1f7d0], 0x70
mov dword [0x1f7dc], 0xe7
mov dword [0x1f7e0], 0x10c
mov dword [0x1f7e4], 0x188
mov dword [0x1f7e8], 0x228
mov dword [0x1f7ec], 0x9c
mov dword [0x1f7f0], 0xd4
mov dword [0x1f7f4], 0xdc
mov dword [0x1f7f8], 0xa0
mov dword [0x1f7fc], 0x108
mov dword [0x1f800], 0x170
mov dword [0x1f804], 0x110
mov dword [0x1f808], 0x1cc
mov dword [0x1f80c], 0x234
mov dword [0x1f810], 0x14c
mov dword [0x1f814], 0x168
mov dword [0x1f818], 0x124
mov dword [0x1f81c], 0x120
mov dword [0x1f820], 0x114
mov dword [0x1f824], ebx
mov dword [0x1f82c], 0x3c
mov dword [0x1f830], eax
mov dword [0x1f834], ecx
mov dword [0x1f838], 0x24
mov dword [0x1f83c], edi
mov dword [0x1f840], esi
mov dword [0x1f844], edx
mov dword [0x1f848], 4
mov dword [0x1f84c], ecx
mov dword [0x1f850], esi
jne 0x17d8d
cmp word [0x1f754], 0
mov dword [0x1f854], eax
je 0x17d93
mov dword [0x1f854], esi
mov eax, dword [0x1f5a4]
and dword [ebp - 0x1c], 0
test eax, eax
mov dword [0x1f858], 0x7c
mov dword [0x1f85c], 0x2c
mov dword [0x1f860], 0x84
mov dword [0x1f864], 0x60
mov dword [0x1f868], 0x50
mov dword [0x1f86c], ebx
mov byte [0x1f870], 1
mov dword [ebp - 8], eax
je 0x1842b
lea ecx, [eax + 0x210]
cmp eax, ecx
jae 0x1842b
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1c]
call fcn.0001478a
test eax, eax
je 0x1842b
cmp eax, 5
mov ecx, dword [ebp - 8]
jne 0x17e24
cmp byte [ecx], 0xe8
jne 0x17e24
cmp byte [ecx + 5], 0x8b
jne 0x17e24
cmp byte [ecx - 1], 0x57
je 0x1841f
add ecx, eax
lea eax, [ecx + 0x210]
cmp ecx, eax
mov dword [ebp - 8], ecx
jb 0x17df4
jmp 0x1842b
mov eax, dword [0x1f648]
dec eax
je 0x180d5
dec eax
mov dword [ebp - 4], 0xc0000001
jne 0x186e3
push 0xc
pop edx
push 8
pop esi
push 0x10
pop ebx
push 0x40
mov eax, 0xa8
mov dword [0x1f794], eax
mov dword [0x1f7ac], eax
pop eax
push 0x38
pop ecx
push 0x1c
mov dword [0x1f7d4], ecx
mov dword [0x1f828], ecx
pop ecx
push 0x20
mov dword [0x1f7fc], edi
pop edi
mov dword [0x1f75c], 4
mov dword [0x1f760], 0x1e1
mov dword [0x1f764], 0x1cb
mov dword [0x1f768], 0x1da
mov dword [0x1f76c], 0x1db
mov dword [0x1f770], 0x13e
mov dword [0x1f774], 0x205
mov dword [0x1f778], 0x230
mov dword [0x1f77c], 0xfe0
mov dword [0x1f780], 0xec0
mov dword [0x1f784], 0x250
mov dword [0x1f788], 0x1b8
mov dword [0x1f78c], 0x278
mov dword [0x1f790], 0x78
mov dword [0x1f798], 0x18
mov dword [0x1f79c], edx
mov dword [0x1f7a0], 0x1f0
mov dword [0x1f7a4], 0xae
mov dword [0x1f7a8], 0xac
mov dword [0x1f7b0], 0xa4
mov dword [0x1f7b4], 2
mov dword [0x1f7b8], esi
mov dword [0x1f7bc], ebx
mov dword [0x1f7c0], 0x64
mov dword [0x1f7c4], 0x68
mov dword [0x1f7c8], 0x30
mov dword [0x1f7cc], eax
mov dword [0x1f7d0], 0x70
mov dword [0x1f7d8], 0x28
mov dword [0x1f7dc], 0xd7
mov dword [0x1f7e0], 0x120
mov dword [0x1f7e4], 0x1a0
mov dword [0x1f7e8], 0x240
mov dword [0x1f7ec], 0x94
mov dword [0x1f7f0], 0xcc
mov dword [0x1f7f4], 0xd4
mov dword [0x1f7f8], 0x98
mov dword [0x1f800], 0x188
mov dword [0x1f804], 0x124
mov dword [0x1f808], 0x1e4
mov dword [0x1f80c], 0x24c
mov dword [0x1f810], 0x164
mov dword [0x1f814], 0x180
mov dword [0x1f818], 0x138
mov dword [0x1f81c], 0x134
mov dword [0x1f820], 0x128
mov dword [0x1f824], ebx
mov dword [0x1f82c], 0x3c
mov dword [0x1f830], eax
mov dword [0x1f834], ecx
mov dword [0x1f838], 0x24
mov dword [0x1f83c], edi
mov dword [0x1f840], esi
mov dword [0x1f844], edx
mov dword [0x1f848], 4
mov dword [0x1f84c], ecx
mov dword [0x1f850], esi
mov dword [0x1f854], eax
mov dword [0x1f858], 0x74
mov dword [0x1f85c], edi
mov dword [0x1f860], 0x7c
mov dword [0x1f864], 0x58
mov dword [0x1f868], 0x48
mov dword [0x1f86c], ebx
mov byte [0x1f870], 1
jmp 0x186e3
push 2
pop ecx
push 0xc
pop edx
push 8
pop esi
push 0x10
pop ebx
push 0x40
mov eax, 0xa8
mov dword [0x1f794], eax
mov dword [0x1f7ac], eax
pop eax
push 0x38
mov dword [0x1f75c], ecx
mov dword [0x1f7b4], ecx
pop ecx
push 0x1c
mov dword [0x1f7d4], ecx
mov dword [0x1f828], ecx
pop ecx
push 0x20
pop edi
mov dword [0x1f760], 0x1e3
mov dword [0x1f764], 0x1cc
mov dword [0x1f768], 0x1db
mov dword [0x1f76c], 0x1dc
mov dword [0x1f770], 0x13f
mov dword [0x1f774], 0x208
mov dword [0x1f778], 0x210
mov dword [0x1f77c], 0xd70
mov dword [0x1f780], 0xc50
mov dword [0x1f784], 0x258
mov dword [0x1f788], 0x1c0
mov dword [0x1f78c], 0x260
mov dword [0x1f790], 0x6c
mov dword [0x1f798], 0x18
mov dword [0x1f79c], edx
mov dword [0x1f7a0], 0x1f0
mov dword [0x1f7a4], 0xae
mov dword [0x1f7a8], 0xac
mov dword [0x1f7b0], 0xa4
mov dword [0x1f7b8], esi
mov dword [0x1f7bc], ebx
mov dword [0x1f7c0], 0x64
mov dword [0x1f7c4], 0x68
mov dword [0x1f7c8], 0x30
mov dword [0x1f7cc], eax
mov dword [0x1f7d0], 0x70
mov dword [0x1f7d8], 0x34
mov dword [0x1f7dc], 0x140
mov dword [0x1f7e0], 0x134
mov dword [0x1f7e4], 0x1b0
mov dword [0x1f7e8], 0x248
mov dword [0x1f7ec], 0x84
mov dword [0x1f7f0], 0xbc
mov dword [0x1f7f4], 0xc4
mov dword [0x1f7f8], 0x88
mov dword [0x1f7fc], 0x130
mov dword [0x1f800], 0x198
mov dword [0x1f804], 0x138
mov dword [0x1f808], 0x1f4
mov dword [0x1f80c], 0x254
mov dword [0x1f810], 0x174
mov dword [0x1f814], 0x190
mov dword [0x1f818], 0x14c
mov dword [0x1f81c], 0x148
mov dword [0x1f820], 0x13c
mov dword [0x1f824], ebx
mov dword [0x1f82c], 0x3c
mov dword [0x1f830], eax
mov dword [0x1f834], ecx
mov dword [0x1f838], 0x24
mov dword [0x1f83c], edi
mov dword [0x1f840], esi
mov dword [0x1f844], edx
mov dword [0x1f848], 4
mov dword [0x1f84c], ecx
mov dword [0x1f850], esi
mov dword [0x1f854], eax
mov dword [0x1f858], 0x74
and dword [ebp - 0x1c], 0
push 0x173ba
lea eax, [ebp - 0x28]
push eax
mov dword [0x1f85c], edi
mov dword [0x1f860], 0x7c
mov dword [0x1f864], 0x58
mov dword [0x1f868], 0x48
mov dword [0x1f86c], ebx
mov byte [0x1f870], 1
call dword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ntoskrnl.exe_MmGetSystemRoutineAddress]
test eax, eax
mov dword [ebp - 8], eax
je 0x1842b
lea ecx, [eax + 0x120]
cmp eax, ecx
jae 0x183cc
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1c]
call fcn.0001478a
test eax, eax
je 0x183cc
cmp eax, 5
mov ecx, dword [ebp - 8]
jne 0x183b3
mov dl, byte [ecx]
cmp dl, 0xb8
jne 0x183a8
cmp byte [ecx + 5], 0xf0
je 0x183c4
cmp dl, 0xb9
jne 0x183b3
cmp byte [ecx + 5], 0xf
je 0x183c4
add ecx, eax
lea eax, [ecx + 0x120]
cmp ecx, eax
mov dword [ebp - 8], ecx
jb 0x18384
jmp 0x183cc
mov eax, dword [ecx + 1]
mov dword [0x1f458], eax
mov eax, dword [0x1f5a4]
and dword [ebp - 0x1c], 0
test eax, eax
mov dword [ebp - 8], eax
je 0x1842b
lea ecx, [eax + 0x180]
cmp eax, ecx
jae 0x1842b
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1c]
call fcn.0001478a
test eax, eax
je 0x1842b
cmp eax, 5
mov ecx, dword [ebp - 8]
jne 0x1840e
cmp byte [ecx], 0xe8
jne 0x1840e
cmp byte [ecx + 5], 0x89
jne 0x1840e
cmp byte [ecx - 1], 0x56
je 0x1841f
add ecx, eax
lea eax, [ecx + 0x180]
cmp ecx, eax
mov dword [ebp - 8], ecx
jb 0x183e6
jmp 0x1842b
mov eax, dword [ecx + 1]
lea eax, [eax + ecx + 5]
mov dword [0x1f45c], eax
cmp dword [ebp - 4], 0
jl 0x186e3
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 8]
push 1
push dword [eax + 0xa4]
call fcn.00017062
test eax, eax
mov dword [ebp - 4], eax
jl 0x186e8
mov edx, dword [ebp - 0x10]
test edx, edx
je 0x185ad
lea eax, [edx + 0x100]
xor ecx, ecx
cmp edx, eax
mov dword [ebp + 8], edx
ja 0x18591
cmp ecx, 2
je 0x18491
mov edx, dword [ebp + 8]
cmp byte [edx], 0x5c
jne 0x18480
inc ecx
inc dword [ebp + 8]
cmp dword [ebp + 8], eax
jbe 0x18472
cmp ecx, 2
jne 0x18591
push 0x6e65654b
push 0x10d
push 1
call dword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov edx, eax
test edx, edx
jne 0x184c1
dec edi
jne 0x18491
and dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x184d0
mov dword [ebp - 4], 0xc000009a
jmp 0x18598
push 0x43
pop ecx
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov dword [ebp - 8], edx
jmp 0x184af
and word [ebp - 0x30], 0
and word [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x2e]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
lea edi, [ebp - 0x1e]
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov esi, 0x173e2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x184fb
sub eax, esi
mov esi, dword [ebp + 8]
mov ecx, eax
mov eax, dword [ebp - 8]
mov edx, ecx
shr ecx, 2
lea edi, [eax + 0xc]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, edx
lea eax, [ebp - 0x30]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.ntoskrnl.exe_RtlInitAnsiString]
push 1
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.ntoskrnl.exe_RtlAnsiStringToUnicodeString]
test eax, eax
mov dword [ebp - 4], eax
jl 0x18581
mov eax, dword [0x1f75c]
cmp eax, 8
jne 0x18561
cmp word [0x1f754], 0
jne 0x18569
cmp word [0x1f756], 0
jne 0x18569
push 1
jmp 0x1856b
cmp eax, 2
jne 0x18569
push eax
jmp 0x1856b
push 0
lea eax, [ebp - 0x20]
push eax
call fcn.00017210
mov dword [ebp - 4], eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.ntoskrnl.exe_RtlFreeUnicodeString]
push 0x6e65654b
push dword [ebp - 8]
call dword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
jmp 0x18598
mov dword [ebp - 4], 0xc0000001
push 0x6e65654b
push dword [ebp - 0x10]
call dword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
and dword [ebp - 0x10], 0
push 8
pop esi
cmp dword [ebp - 4], 0
jl 0x186e8
cmp dword [0x1f5c0], 0
je 0x186e8
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x20], cx
lea edi, [ebp - 0x1e]
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov dword [ebp - 0x48], ecx
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x173f2
lea eax, [ebp - 0x20]
push eax
mov dword [ebp + 8], ecx
mov dword [ebp - 8], ecx
call dword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x48]
push eax
xor edi, edi
push 1
lea eax, [ebp - 8]
push eax
mov dword [ebp - 0x48], 0x18
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], 0x240
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
call dword [sym.imp.ntoskrnl.exe_ZwOpenKey]
cmp eax, edi
mov dword [ebp - 4], eax
jl 0x186e3
push edi
lea eax, [ebp + 8]
push eax
push edi
push edi
push 0x80000000
push dword [ebp - 8]
call dword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandle]
cmp eax, edi
mov dword [ebp - 4], eax
jl 0x186da
cmp dword [0x1f75c], ebx
jne 0x1867f
push 0x17426
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.ntoskrnl.exe_MmGetSystemRoutineAddress]
cmp eax, edi
mov dword [0x1f448], eax
je 0x186c2
push dword [ebp + 8]
call eax
jmp 0x18685
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
cmp eax, edi
je 0x186c2
mov ecx, dword [0x1f75c]
cmp ecx, ebx
je 0x186b3
cmp ecx, esi
jne 0x186b8
mov cx, word [0x1f754]
cmp cx, 1
je 0x186aa
cmp cx, 2
jne 0x186b8
cmp word [0x1f756], di
jne 0x186b8
add eax, 0x68
jmp 0x186bd
add eax, 0x9c
mov dword [0x1f62c], eax
cmp dword [0x1f62c], edi
jne 0x186d1
mov dword [ebp - 4], 0xc0000001
mov ecx, dword [ebp + 8]
call dword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
push dword [ebp - 8]
call dword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, dword [ebp - 4]
jmp 0x186ed
mov eax, 0xc0000001
pop edi
pop esi
pop ebx
leave
ret 4