Function at 0x46bf80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x60271b
push eax
mov dword fs:[0], esp
sub esp, 0x190
push ebx
push ebp
push esi
mov esi, ecx
push edi
cmp dword [esi + 8], 0
je 0x46d5d6
cmp dword [esi + 0xc], 0
je 0x46d5d6
cmp dword [esi + 0x10], 0
je 0x46d5d6
xor ecx, ecx
mov eax, 0x20006
cmp byte [esp + 0x1c4], cl
mov edx, 0x65e328
cmove eax, ecx
mov dword [esp + 0xac], eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x1c0]
push ecx
mov ecx, SysReAllocString
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46d5d6
push ecx
push eax
push eax
push eax
push eax
push eax
mov dword [esp + 0x8c], eax
xor edx, edx
lea eax, [esp + 0x198]
push eax
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, dword [esp + 0x48]
push 0
call fcn.00489b10
add esp, 0x28
cmp dword [esp + 0x74], 0
je 0x46d5cd
push 0x208
call fcn.004a525e
mov ebp, eax
add esp, 4
mov dword [esp + 0x1c], ebp
test ebp, ebp
je 0x46d5d6
mov dword [esp + 0x20], 0x104
call fcn.00408040
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x74]
xor edi, edi
mov dword [esp + 0x90], edi
cmp dword [esp + 0x74], edi
jbe 0x46d5c4
lea esp, [esp]
push ecx
call fcn.00472950
test eax, eax
je 0x46c08f
call fcn.00472980
push 0x200
push 0
push dword [esi + 8]
mov dword [esp + 0xd4], 0x200
call fcn.005d9ee0
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xd4]
add esp, 0xc
mov edx, edi
push 0
sub esp, 0xc
push eax
push dword [esi + 8]
call fcn.0048dd10
add esp, 0x18
test eax, eax
jne 0x46d5a9
lea ecx, [esp + 0xb0]
call fcn.00408180
push 0x65e328
lea ecx, [esp + 0xb4]
mov dword [esp + 0x1ac], 0
call fcn.0040fc20
push 0x657520
lea ecx, [esp + 0xb4]
call fcn.0040fc30
push dword [esi + 8]
lea ecx, [esp + 0xb4]
call fcn.0040fc30
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xb4]
call fcn.004108f0
push eax
call fcn.0046df20
push dword [esi + 8]
lea ecx, [esp + 0x98]
call fcn.00407630
lea eax, [esp + 0x154]
mov byte [esp + 0x1a8], 1
push eax
lea ecx, [esp + 0x98]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x94]
lea eax, [esp + 0x148]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x94]
lea eax, [esp + 0x150]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x15c]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
lea ecx, [esp + 0x94]
mov edx, str.001348B9_D4F7_4008_A509_DFAE98D73CD0
call fcn.0040fda0
push dword [esi + 8]
lea ecx, [esp + 0xd0]
xor ebp, ebp
call fcn.00407630
push 0x657520
lea ecx, [esp + 0xd0]
mov byte [esp + 0x1ac], 2
call fcn.0040fc30
push str.InprocServer32
lea ecx, [esp + 0xd0]
call fcn.0040fc30
mov ebx, dword [esp + 0xac]
lea eax, [esp + 0x18]
push eax
or ebx, 0x20019
push ebx
push ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x3c], ebx
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46c4f5
mov edi, dword [esp + 0x1c]
push 0x104
push eax
push edi
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push edi
push ebp
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46c4ec
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push edi
call fcn.00472df0
test eax, eax
je 0x46c4ec
lea ecx, [esp + 0x44]
call fcn.00408180
lea eax, [esp + 0x44]
mov byte [esp + 0x1a8], 3
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46c4db
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x60]
call fcn.00407630
lea eax, [esp + 0x160]
mov byte [esp + 0x1a8], 4
push eax
lea ecx, [esp + 0x60]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x168]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x170]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x17c]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46c4a0
push dword [esi + 0x10]
lea ecx, [esp + 0x3c]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 5
cmp ebx, 1
jne 0x46c412
lea ecx, [esp + 0x38]
call fcn.0040fbd0
push ebp
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x40]
call fcn.0040aca0
test eax, eax
js 0x46c412
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x40]
call fcn.004095d0
push 0x7fff
push ebp
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x38]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46c3ee
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
jmp 0x46c48a
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x38]
call fcn.00404e10
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
jmp 0x46d571
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
push 0x6a4b00
mov ecx, esi
call fcn.00466720
test eax, eax
je 0x46c495
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46c495
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x38]
call fcn.00404e10
jmp 0x46c4ce
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x5c]
call fcn.00406f10
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a8], 2
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
test ebp, ebp
jne 0x46d576
push dword [esi + 8]
lea ecx, [esp + 0x7c]
call fcn.00407630
push 0x657520
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1ac], 6
call fcn.0040fc30
push str.InprocServer
lea ecx, [esp + 0x7c]
call fcn.0040fc30
lea eax, [esp + 0x18]
push eax
push ebx
push ecx
lea ecx, [esp + 0x84]
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46c82c
mov ebx, dword [esp + 0x1c]
push 0x104
push eax
push ebx
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46c81f
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push ebx
call fcn.00472df0
test eax, eax
je 0x46c81f
lea ecx, [esp + 0x44]
call fcn.00408180
lea eax, [esp + 0x44]
mov byte [esp + 0x1a8], 7
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46c80e
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x60]
call fcn.00407630
lea eax, [esp + 0x11c]
mov byte [esp + 0x1a8], 8
push eax
lea ecx, [esp + 0x60]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x114]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x124]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x180]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46c7d7
push dword [esi + 0x10]
lea ecx, [esp + 0x44]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 9
cmp ebx, 1
jne 0x46c749
lea ecx, [esp + 0x40]
call fcn.0040fbd0
push ebp
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x48]
call fcn.0040aca0
test eax, eax
js 0x46c749
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x48]
call fcn.004095d0
push 0x7fff
push ebp
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x40]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46c71c
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
jmp 0x46c7c1
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x40]
call fcn.00404e10
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
call fcn.00406f10
lea ecx, [esp + 0x78]
jmp 0x46d571
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
push 0x6a4b00
mov ecx, esi
call fcn.00466720
test eax, eax
je 0x46c7cc
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46c7cc
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x40]
call fcn.00404e10
jmp 0x46c805
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a8], 6
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a8], 2
call fcn.00406f10
test ebp, ebp
jne 0x46d576
push dword [esi + 8]
lea ecx, [esp + 0x7c]
call fcn.00407630
push 0x657520
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1ac], 0xa
call fcn.0040fc30
push str.LocalServer
lea ecx, [esp + 0x7c]
call fcn.0040fc30
lea eax, [esp + 0x18]
push eax
push ebx
push ecx
lea ecx, [esp + 0x84]
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46cb59
mov ebx, dword [esp + 0x1c]
push 0x104
push eax
push ebx
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46cb4c
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push ebx
call fcn.00472df0
test eax, eax
je 0x46cb4c
lea ecx, [esp + 0x44]
call fcn.00408180
lea eax, [esp + 0x44]
mov byte [esp + 0x1a8], 0xb
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46cb3b
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x60]
call fcn.00407630
lea eax, [esp + 0x12c]
mov byte [esp + 0x1a8], 0xc
push eax
lea ecx, [esp + 0x60]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x15c]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x134]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x178]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46cb04
push dword [esi + 0x10]
lea ecx, [esp + 0x2c]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 0xd
cmp ebx, 1
jne 0x46ca76
lea ecx, [esp + 0x28]
call fcn.0040fbd0
push ebp
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x30]
call fcn.0040aca0
test eax, eax
js 0x46ca76
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x30]
call fcn.004095d0
push 0x7fff
push ebp
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x28]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46ca64
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
jmp 0x46caee
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x28]
jmp 0x46c729
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
push 0x6a4b00
mov ecx, esi
call fcn.00466720
test eax, eax
je 0x46caf9
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46caf9
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x28]
call fcn.00404e10
jmp 0x46cb32
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a8], 0xa
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a8], 2
call fcn.00406f10
test ebp, ebp
jne 0x46d576
push dword [esi + 8]
lea ecx, [esp + 0x7c]
call fcn.00407630
push 0x657520
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1ac], 0xe
call fcn.0040fc30
push str.LocalServer32
lea ecx, [esp + 0x7c]
call fcn.0040fc30
lea eax, [esp + 0x18]
push eax
push ebx
push ecx
lea ecx, [esp + 0x84]
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46ce84
mov ebx, dword [esp + 0x1c]
push 0x104
push eax
push ebx
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46ce77
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push ebx
call fcn.00472df0
test eax, eax
je 0x46ce77
lea ecx, [esp + 0x44]
call fcn.00408180
lea eax, [esp + 0x44]
mov byte [esp + 0x1a8], 0xf
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46ce66
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x60]
call fcn.00407630
lea eax, [esp + 0x13c]
mov byte [esp + 0x1a8], 0x10
push eax
lea ecx, [esp + 0x60]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x164]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x144]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x188]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46ce2f
push dword [esi + 0x10]
lea ecx, [esp + 0x38]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 0x11
cmp ebx, 1
jne 0x46cda3
lea ecx, [esp + 0x34]
call fcn.0040fbd0
push ebp
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x3c]
call fcn.0040aca0
test eax, eax
js 0x46cda3
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x3c]
call fcn.004095d0
push 0x7fff
push ebp
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46cd91
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
jmp 0x46ce19
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x34]
jmp 0x46c729
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
mov ecx, 0x6a4b00
call fcn.0048b7e0
test eax, eax
je 0x46ce24
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46ce24
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x34]
call fcn.00404e10
jmp 0x46ce5d
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a8], 0xe
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a8], 2
call fcn.00406f10
test ebp, ebp
jne 0x46d576
push dword [esi + 8]
lea ecx, [esp + 0x7c]
call fcn.00407630
push 0x657520
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1ac], 0x12
call fcn.0040fc30
push str.InprocHandler
lea ecx, [esp + 0x7c]
call fcn.0040fc30
lea eax, [esp + 0x18]
push eax
push ebx
push ecx
lea ecx, [esp + 0x84]
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46d1b1
mov ebx, dword [esp + 0x1c]
push 0x104
push eax
push ebx
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46d1a4
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push ebx
call fcn.00472df0
test eax, eax
je 0x46d1a4
lea ecx, [esp + 0x44]
call fcn.00408180
lea eax, [esp + 0x44]
mov byte [esp + 0x1a8], 0x13
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46d193
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x60]
call fcn.00407630
lea eax, [esp + 0x14c]
mov byte [esp + 0x1a8], 0x14
push eax
lea ecx, [esp + 0x60]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x16c]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x118]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x124]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46d15c
push dword [esi + 0x10]
lea ecx, [esp + 0x40]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 0x15
cmp ebx, 1
jne 0x46d0ce
lea ecx, [esp + 0x3c]
call fcn.0040fbd0
push ebp
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x44]
call fcn.0040aca0
test eax, eax
js 0x46d0ce
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x44]
call fcn.004095d0
push 0x7fff
push ebp
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0x44]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46d0bc
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
jmp 0x46d146
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x3c]
jmp 0x46c729
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
push 0x6a4b00
mov ecx, esi
call fcn.00466720
test eax, eax
je 0x46d151
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46d151
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x3c]
call fcn.00404e10
jmp 0x46d18a
sub esp, 0x18
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
mov ebp, 1
lea ecx, [esp + 0x5c]
call fcn.00406f10
lea ecx, [esp + 0x44]
mov byte [esp + 0x1a8], 0x12
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
mov byte [esp + 0x1a8], 2
call fcn.00406f10
test ebp, ebp
jne 0x46d576
push dword [esi + 8]
lea ecx, [esp + 0x18c]
call fcn.00407630
push 0x657520
lea ecx, [esp + 0x18c]
mov byte [esp + 0x1ac], 0x16
call fcn.0040fc30
push str.InprocHandler32
lea ecx, [esp + 0x18c]
call fcn.0040fc30
lea eax, [esp + 0x18]
push eax
push ebx
push ecx
lea ecx, [esp + 0x194]
call fcn.004108f0
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.0048a380
add esp, 0xc
test eax, eax
jne 0x46d56a
mov ebp, dword [esp + 0x1c]
push 0x104
push eax
push ebp
call fcn.005d9ee0
add esp, 0xc
mov dword [esp + 0x20], 0x104
lea eax, [esp + 0x20]
mov edx, 0x651e48
push eax
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0048af90
add esp, 0x10
test eax, eax
jne 0x46d561
push 0x7fff
push eax
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
mov ecx, esi
push 0x7fff
push dword [esi + 0x10]
push ebp
call fcn.00472df0
test eax, eax
je 0x46d561
lea ecx, [esp + 0xe4]
call fcn.00408180
lea eax, [esp + 0xe4]
mov byte [esp + 0x1a8], 0x17
push eax
push 1
push dword [esi + 8]
mov ecx, esi
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46d54d
mov ecx, dword [esi + 0x10]
call fcn.0048b380
push eax
lea ecx, [esp + 0x100]
call fcn.00407630
lea eax, [esp + 0x128]
mov byte [esp + 0x1a8], 0x18
push eax
lea ecx, [esp + 0x100]
call fcn.00410840
mov ebx, eax
lea ecx, [esp + 0xfc]
lea eax, [esp + 0x130]
push eax
call fcn.004107e0
mov edi, eax
lea ecx, [esp + 0xfc]
lea eax, [esp + 0x138]
push eax
call fcn.00410840
push dword [ebx]
mov edx, fcn.005d71e5
lea ecx, [esp + 0x144]
push dword [edi]
push dword [eax]
call fcn.0045e360
add esp, 0xc
cmp dword [esp + 0x1b4], 1
jne 0x46d515
push dword [esi + 0x10]
lea ecx, [esp + 0x30]
call fcn.00404720
mov ebx, dword [esp + 0x1b0]
mov byte [esp + 0x1a8], 0x19
cmp ebx, 1
jne 0x46d486
lea ecx, [esp + 0x2c]
call fcn.0040fbd0
push 0
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x34]
call fcn.0040aca0
test eax, eax
js 0x46d486
push str.PROGRAM_FILES
push str.PROGRAM_FILES__X86_
lea ecx, [esp + 0x34]
call fcn.004095d0
push 0x7fff
push 0
push dword [esi + 0x10]
call fcn.005d9ee0
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00409800
push eax
push 0x7fff
push dword [esi + 0x10]
call fcn.005d55ea
add esp, 0xc
lea eax, [esp + 0xe4]
mov ecx, esi
push eax
push ebx
push dword [esi + 8]
push dword [esi + 0x10]
call fcn.0046d670
test eax, eax
jne 0x46d41c
sub esp, 0x18
lea eax, [esp + 0xfc]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
lea ecx, [esp + 0x2c]
call fcn.00404e10
jmp 0x46d541
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x2c]
call fcn.00404e10
lea ecx, [esp + 0xfc]
call fcn.00406f10
lea ecx, [esp + 0xe4]
call fcn.00406f10
lea ecx, [esp + 0x188]
call fcn.00406f10
lea ecx, [esp + 0xcc]
call fcn.00406f10
lea ecx, [esp + 0x94]
call fcn.00406f10
lea ecx, [esp + 0xb0]
mov dword [esp + 0x1a8], 0xffffffff
call fcn.00406f10
jmp 0x46d5a9
push 0x104
push 0
push 0x6a4b00
call fcn.005d9ee0
add esp, 8
mov edx, 0x6a4b00
push 0x24
call fcn.00489410
add esp, 8
mov edx, str.System32DriverStoreFileRepository
mov ecx, 0x6a4b00
call fcn.00488720
push 0x6a4b00
mov ecx, esi
call fcn.00466720
test eax, eax
je 0x46d50a
sub esp, 0x18
lea eax, [esp + 0x114]
mov ecx, esp
push eax
call fcn.00406ec0
push ecx
call fcn.0046bd30
test eax, eax
jne 0x46d50a
sub esp, 0x18
lea eax, [esp + 0xfc]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push ebx
push ecx
call fcn.0046be30
lea ecx, [esp + 0x2c]
call fcn.00404e10
jmp 0x46d541
sub esp, 0x18
lea eax, [esp + 0xfc]
mov ecx, esp
push eax
call fcn.00406ec0
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esp + 0x1dc]
push dword [esp + 0x1d4]
push ecx
call fcn.0046be30
lea ecx, [esp + 0xfc]
call fcn.00406f10
lea ecx, [esp + 0xe4]
mov byte [esp + 0x1a8], 0x16
call fcn.00406f10
mov ecx, dword [esp + 0x18]
call fcn.0048c9b0
lea ecx, [esp + 0x188]
call fcn.00406f10
lea ecx, [esp + 0xcc]
call fcn.00406f10
lea ecx, [esp + 0x94]
call fcn.00406f10
lea ecx, [esp + 0xb0]
mov dword [esp + 0x1a8], 0xffffffff
call fcn.00406f10
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x90]
inc eax
mov edi, eax
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0x74]
jb 0x46c080
push ebp
call fcn.004a5267
add esp, 4
mov ecx, dword [esp + 0x24]
call fcn.0048c9b0
mov ecx, dword [esp + 0x1a0]
xor eax, eax
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x19c
ret 0x18