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

Disassembly:
mov edx, dword [0x4e73e0]
sub esp, 0x138
test byte [edx + 0x23b0], 0x10
push ebx
push ebp
mov ebp, dword [esp + 0x144]
push esi
push edi
jne 0x95e97
test byte [edx + 0x23b8], 0x80
jne 0x95e97
test byte [edx + 0x23b8], 0x40
jne 0x95e97
test byte [edx + 0x23b8], 0x20
jne 0x95e97
test byte [edx + 0x23b8], 0x10
jne 0x95e97
test byte [edx + 0x23b8], 8
jne 0x95e97
xor eax, eax
mov ecx, 0x35
lea edi, [esp + 0x74]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x15c]
mov edi, 1
sub edi, eax
cmp dword [esp + 0x158], 6
lea ecx, [eax + eax*2]
sbb esi, esi
lea eax, [eax + ecx*8]
neg esi
add eax, eax
add eax, eax
add esi, 1
xor ecx, ecx
cmp esi, 1
setne cl
mov ebx, 2
mov dword [esp + eax + 0x78], 1
mov dword [esp + eax + 0xd4], ebx
add ecx, 1
mov dword [esp + eax + 0xd8], ecx
mov eax, dword [edx + 0x5cc]
cmp eax, 3
je 0x95d6e
cmp eax, ebx
jne 0x95d8e
lea eax, [edi + edi*2]
lea eax, [edi + eax*8]
add eax, eax
add eax, eax
mov dword [esp + eax + 0x78], 1
mov dword [esp + eax + 0xd4], ebx
mov dword [esp + eax + 0xd8], ecx
mov ecx, dword [edx + 0x2338]
mov edx, dword [edx + 0x2330]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x24]
push ecx
push 0x20
lea eax, [esp + 0x3c]
push eax
push 4
lea ecx, [esp + 0x3c]
push ecx
push 0x80362000
lea esi, [esp + 0x8c]
xor edi, edi
mov ebx, 0xd4
push edx
mov dword [esp + 0x15c], 3
mov dword [esp + 0x54], 0xd3d05070
mov dword [esp + 0x58], 0x1000009
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x48], eax
call sub.WIN32K.SYS_EngDeviceIoControl
cmp dword [esp + 0x50], edi
jne 0x9623d
cmp dword [esp + 0x144], edi
je 0x9623d
mov eax, dword [0x4e73e0]
mov dword [esp + 0x140], 4
mov dword [esp + 0x144], edi
mov ecx, dword [eax + 0x2338]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x24]
push ecx
push 0x20
lea edx, [esp + 0x5c]
push edx
push 4
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x2330]
push 0x80362000
push edx
mov dword [esp + 0x74], 0xd3d05070
mov dword [esp + 0x78], 0x1000009
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], ebx
call sub.WIN32K.SYS_EngDeviceIoControl
cmp dword [esp + 0x70], edi
jne 0x9623d
cmp dword [esp + 0x144], edi
je 0x9623d
mov edx, dword [0x4e73e0]
mov ecx, dword [edx + 0x2520]
mov eax, dword [ecx]
call dword [eax + 0x124]
test byte [eax + 0x4c90], 2
je 0x95ed5
mov ecx, dword [esp + 0x150]
mov edi, dword [esp + 0x15c]
mov esi, dword [eax + 0x4c88]
push ecx
call fcn.000f9cc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 0x14
mov edx, dword [0x5271fc]
mov eax, dword [edx + 0x16c]
cmp eax, 0x300
mov ecx, dword [0x4e73e0]
jle 0x95efa
cmp dword [ecx + 0x3d4], 0x1000000
jb 0x95f0d
cmp eax, 0x400
jle 0x95f14
cmp dword [ecx + 0x3d4], 0x2000000
jae 0x95f14
and dword [ebp + 0x874], 0xfffffffe
cmp word [esp + 0x154], 0x7ff
ja 0x9623d
mov ebx, dword [esp + 0x150]
cmp bx, 0x7fe
ja 0x9623d
cmp bx, 0x300
ja 0x95f44
mov eax, 0x52
jmp 0x95f52
mov ax, 0x500
cmp ax, bx
sbb eax, eax
neg eax
add eax, 0x53
mov edx, dword [ecx + 0x2330]
push eax
push edx
mov edx, dword [ecx + 0x233c]
mov ecx, dword [ecx + 0x2338]
lea esi, [ebp + 0x80]
call fcn.000354d0
add esp, 8
test eax, eax
mov ecx, 1
je 0x95f7f
mov dword [esi], ecx
cmp dword [esi], 0
jne 0x95f86
mov dword [esi], ecx
mov eax, dword [esi]
mov dword [ebp + 0x84], eax
mov dword [ebp + 0x88], eax
mov ax, word [ebp + 0x45a]
cmp ax, 0x417a
mov edi, 0x2000
je 0x95fd4
cmp ax, 0x507e
je 0x95fd4
test byte [ebp + 0x874], 1
mov dword [ebp + 0x70], ecx
je 0x95fc6
mov dword [ebp + 0x90], ecx
mov dword [ebp + 0x8c], edi
jmp 0x95ff1
mov dword [ebp + 0x90], edi
mov dword [ebp + 0x8c], edi
jmp 0x95ff1
mov dword [ebp + 0x70], ecx
mov dword [ebp + 0x8c], ecx
mov dword [ebp + 0x90], ecx
mov dword [esi], ecx
mov dword [ebp + 0x84], ecx
mov dword [ebp + 0x88], ecx
cmp ax, 0x417a
je 0x95ffd
cmp ax, 0x507e
jne 0x96057
push 4
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2330]
mov edx, dword [eax + 0x233c]
push 0xc3
push ecx
mov ecx, dword [eax + 0x2338]
call fcn.000355b0
add esp, 0x10
test eax, eax
jne 0x96057
test byte [esp + 0x30], 1
je 0x96057
mov ecx, dword [0x4e73e0]
cmp dword [ecx + 0x3d4], 0x2000000
jbe 0x9604f
test byte [ebp + 0x877], 1
je 0x9605d
mov dword [ebp + 0x8c], edi
jmp 0x9605d
mov ecx, dword [0x4e73e0]
mov edi, dword [esp + 0x15c]
cmp edi, 2
mov edx, dword [0x5271fc]
jb 0x96073
xor eax, eax
jmp 0x9607a
mov eax, dword [edx + edi*4 + 0xb6c]
mov esi, 1
cmp dword [ebp + 0x8c], esi
mov dword [esp + 0x10], eax
jne 0x96093
mov eax, dword [edx + 0x168]
jmp 0x96096
movzx eax, bx
cmp dword [ebp + 0x90], esi
mov dword [esp + 0x18], eax
jne 0x960ae
mov edx, dword [edx + 0x16c]
mov dword [esp + 0x1c], edx
jmp 0x960ba
movzx eax, word [esp + 0x154]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x158]
cmp eax, 0x32335649
ja 0x9614d
je 0x960e1
sub eax, 0x31335649
je 0x960e1
sub eax, 0xfe0005
je 0x960e1
sub eax, 0xb
jne 0x960fb
test byte [ecx + 0x23b8], 0xe0
je 0x960fb
test byte [ecx + 0x26c14], 2
mov dword [esp + 0x14], 3
je 0x960ff
mov dword [esp + 0x14], esi
test byte [ecx + 0x23b0], 0x10
jne 0x9616c
test byte [ecx + 0x23b8], 0x80
jne 0x9616c
test byte [ecx + 0x23b8], 0x40
jne 0x9616c
test byte [ecx + 0x23b8], 0x20
jne 0x9616c
test byte [ecx + 0x23b8], 0x10
jne 0x9616c
test byte [ecx + 0x23b8], 8
jne 0x9616c
pop edi
xor eax, eax
test esi, esi
mov dword [esp + 0x1c], esi
pop esi
pop ebp
setne al
pop ebx
add esp, 0x138
ret 0x14
cmp eax, 0x39304649
je 0x960e1
cmp eax, 0x39555659
je 0x960e1
cmp eax, 0x59565955
jne 0x960fb
mov dword [esp + 0x14], 0
jmp 0x960ff
mov eax, dword [ecx + 0x2330]
push 0x14
lea edx, [esp + 0x14]
push edx
mov edx, dword [ecx + 0x233c]
mov ecx, dword [ecx + 0x2338]
push 0x1fa
push eax
call fcn.000355b0
add esp, 0x10
test eax, eax
je 0x9619f
mov dword [esp + 0x20], 0
mov esi, dword [0x4e73e0]
mov eax, dword [esi + 0x5cc]
cmp eax, 3
je 0x961b5
cmp eax, 2
jne 0x96211
mov eax, 1
sub eax, edi
cmp eax, 2
jb 0x961c5
xor eax, eax
jmp 0x961d2
mov ecx, dword [0x5271fc]
mov eax, dword [ecx + eax*4 + 0xb6c]
push 0x14
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x2330]
mov edx, dword [esi + 0x233c]
mov ecx, dword [esi + 0x2338]
push 0x1fa
push eax
call fcn.000355b0
mov esi, dword [0x4e73e0]
add esp, 0x10
test eax, eax
je 0x96211
mov dword [esp + 0x20], 0
jmp 0x96218
cmp dword [esp + 0x20], 0
jne 0x96227
push 0x95c60
push 1
call fcn.000901e0
add esp, 8
pop edi
xor eax, eax
cmp dword [esp + 0x1c], eax
pop esi
pop ebp
setne al
pop ebx
add esp, 0x138
ret 0x14
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x138
ret 0x14