Function at 0x4a63a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x54aa48
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebp
push esi
push edi
push 0xa
lea ecx, [esp + 0x30]
call fcn.00510deb
mov esi, 0x559f90
mov dword [esp + 0x2c], esi
push 0xa
lea ecx, [esp + 0x14]
mov dword [esp + 0x70], 0
call fcn.00510deb
mov dword [esp + 0x10], esi
mov eax, dword [0x5ab980]
mov dword [esp + 0xc], eax
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
push ebp
push ecx
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 2
xor esi, esi
call fcn.00423940
test eax, eax
jge 0x4a6454
lea ecx, [esp + 0xc]
mov byte [esp + 0x6c], 1
call fcn.005128e4
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 0
call fcn.00510e5f
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00510e5f
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 0x10
mov edx, dword [esp + 0x7c]
push ebp
push edx
lea ecx, [esp + 0x18]
call fcn.00423940
test eax, eax
jge 0x4a64b3
cmp dword [ebp], 2
je 0x4a64b3
lea ecx, [esp + 0xc]
mov byte [esp + 0x6c], 1
call fcn.005128e4
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 0
call fcn.00510e5f
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00510e5f
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 0x10
mov edi, dword [esp + 0x74]
mov eax, dword [edi + 8]
shl eax, 0x10
sar eax, 0x18
add eax, 0xffffffe0
cmp eax, 0x22
ja case.0x4a64d4.37
xor ecx, ecx
mov cl, byte [eax + 0x4a66d8]
jmp dword [ecx*4 + 0x4a66c0]
lea ecx, [esp + 0xc]
mov byte [esp + 0x6c], 1
call fcn.005128e4
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 0
call fcn.00510e5f
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00510e5f
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 0x10
lea edx, [esp + 0x10]
lea eax, [esp + 0x2c]
push edx
push eax
push edi
call fcn.004a6f70
add esp, 0xc
mov esi, eax
jmp 0x4a665f
lea ecx, [esp + 0x48]
call fcn.0047b700
push 0
push 0x598d3c
push str._Devices_
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 3
call fcn.0047b7a0
push 0
push 0x598d3c
push str._PrinterPorts_
lea ecx, [esp + 0x54]
call fcn.0047b7a0
lea ecx, [esp + 0x48]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
push edi
call fcn.004a6980
add esp, 0x10
mov esi, eax
mov byte [esp + 0x6c], 2
lea ecx, [esp + 0x48]
jmp 0x4a665a
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x30]
push ecx
push edx
push edi
call fcn.004a6980
add esp, 0x10
mov esi, eax
jmp 0x4a665f
lea ecx, [esp + 0x48]
call fcn.0047b700
push 0
push 0x598d3c
push str._PASSWORD_LISTS_
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 4
call fcn.0047b7a0
push str.SCRNSAVE.EXE
push 0x598d3c
push str._BOOT_
lea ecx, [esp + 0x54]
call fcn.0047b7a0
push str.DSTASK.386
push 0x598d3c
push str._386Enh_
lea ecx, [esp + 0x54]
call fcn.0047b7a0
push str.SYSWIZ.386
push 0x598d3c
push str._386Enh_
lea ecx, [esp + 0x54]
call fcn.0047b7a0
push str.C:MPASSCIS1284.386
push 0x598d3c
push str._386Enh_
lea ecx, [esp + 0x54]
call fcn.0047b7a0
lea eax, [esp + 0x48]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
push edi
call fcn.004a6980
add esp, 0x10
mov esi, eax
mov byte [esp + 0x6c], 2
lea ecx, [esp + 0x48]
call fcn.0047b740
test esi, esi
jle case.0x4a64d4.37
mov eax, dword [esp + 0x78]
push ebp
push eax
lea ecx, [esp + 0x18]
call fcn.00423c70
test eax, eax
jge case.0x4a64d4.37
mov esi, 0xfffffffb
lea ecx, [esp + 0xc]
mov byte [esp + 0x6c], 1
call fcn.005128e4
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 0
call fcn.00510e5f
lea ecx, [esp + 0x2c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00510e5f
mov ecx, dword [esp + 0x64]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x64
ret 0x10