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

Disassembly:
sub esp, 0x228
push ebx
push ebp
mov ebp, dword [esp + 0x234]
xor ebx, ebx
cmp ebp, ebx
push esi
push edi
je 0xf405c
mov eax, dword [ebp + 0x2c]
test eax, 0x20000
je 0xf2e2a
mov ecx, dword [ebp + 0x3c]
and ecx, 0xffff0000
cmp ecx, 0xcc0000
jne 0xf3da2
test ah, 0x60
je 0xf2e4b
mov dword [ebp + 0x98], 0x887600dc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp + 8]
je 0xf3da2
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 0xc]
je 0xf3da2
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov edi, dword [edx + 0x974]
cmp edi, ebx
mov dword [esp + 0x1c], edi
je 0xf2e81
mov eax, dword [0x520bd4]
push eax
call sub.WIN32K.SYS_EngAcquireSemaphore
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov dword [0x5271fc], eax
mov eax, dword [eax + 0x974]
mov edx, dword [eax + 0x2484]
mov dword [eax + 0x3e4], ecx
mov ecx, dword [eax + 0x2350]
and dl, 3
cmp dl, 1
mov dword [0x4e73e0], eax
mov dword [0x5272ec], ecx
mov esi, 1
jne 0xf2f24
mov eax, dword [eax + 0x20]
cmp eax, ebx
je 0xf2ecf
cmp word [eax + 0xe], 0xffff
jne 0xf2ecf
mov eax, dword [eax + 8]
jmp 0xf2ed1
xor eax, eax
push eax
call fcn.000a9650
test eax, eax
jne 0xf2edd
xor esi, esi
cmp dword [0x527e1c], ebx
jne 0xf2f0f
mov eax, dword [0x527e20]
add eax, 0x2001b
and al, 0xfc
mov ecx, 0x527e10
call fcn.000b7170
cmp eax, ebx
mov dword [0x527e1c], eax
je 0xf2f13
mov dword [eax + 0xc], ebx
mov eax, dword [0x527e1c]
mov dword [eax + 4], ebx
cmp esi, ebx
jne 0xf2f2d
mov dword [ebp + 0x98], 0x88760028
cmp edi, ebx
jmp 0xf403c
call fcn.000a8460
test eax, eax
jmp 0xf2f11
mov eax, dword [ebp + 4]
cmp eax, ebx
mov esi, 0x200
je 0xf2f58
test dword [eax + 8], esi
je 0xf2f58
mov edx, dword [eax + 0xc]
push edx
call fcn.0006a030
test eax, eax
jne 0xf2f58
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.000b7780
mov eax, dword [ebp + 0x18]
cmp eax, ebx
je 0xf2f7e
test dword [eax + 8], esi
je 0xf2f7e
mov edx, dword [eax + 0xc]
push edx
call fcn.0006a030
test eax, eax
jne 0xf2f7e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.000b7780
mov eax, dword [0x4e73e0]
test byte [eax + 0x5b0e], 0x20
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x24], edx
je 0xf2f98
or byte [esp + 0x27], 1
mov ecx, ebp
call fcn.0015b6b0
call fcn.000aaaf0
mov esi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, 0x62
lea edi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
push ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
call fcn.000f2070
cmp eax, 1
jne 0xf3001
test byte [esp + 0x1dc], al
je 0xf2fe4
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
xor ebx, ebx
test byte [esp + 0x1dc], 2
je 0xf2ff8
mov ebx, dword [ebp + 4]
call fcn.0019df30
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
jmp 0xf403c
mov edx, dword [0x4e73e0]
test byte [edx + 0x23bf], 0xf
mov ebx, dword [esp + 0x14]
mov esi, dword [0x5271fc]
jne 0xf310c
mov eax, dword [esp + 0x10]
test byte [eax + 0x8e], 0x10
je 0xf3067
call fcn.00069fd0
mov ecx, dword [esi + 0x1a4]
xor edi, edi
cmp eax, ecx
jne 0xf3067
cmp edx, edi
jne 0xf3067
mov cl, byte [esi + 0x19b]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xdc]
and cl, 2
neg cl
sbb ecx, ecx
neg ecx
add ecx, 1
imul ecx, dword [esi + 0x174]
cmp dword [eax], ecx
jne 0xf30b6
test ebx, ebx
je 0xf3331
test byte [ebx + 0x8e], 0x10
je 0xf310c
mov eax, ebx
call fcn.00069fd0
mov ecx, dword [esi + 0x1a4]
xor edi, edi
cmp eax, ecx
jne 0xf310c
cmp edx, edi
jne 0xf310c
mov cl, byte [esi + 0x19b]
mov edx, dword [ebx + 0xdc]
and cl, 2
neg cl
sbb ecx, ecx
neg ecx
add ecx, 1
imul ecx, dword [esi + 0x174]
cmp dword [edx], ecx
je 0xf310c
test byte [esp + 0x1dc], 1
je 0xf30c8
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf30da
mov ebx, dword [ebp + 4]
call fcn.0019df30
cmp dword [esp + 0x1c], 0
mov dword [ebp + 0x98], 0
je 0xf4062
mov eax, dword [0x520bd4]
push eax
call sub.WIN32K.SYS_EngReleaseSemaphore
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
test ebx, ebx
je 0xf3331
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x2c]
test eax, eax
mov eax, dword [esp + 0xec]
je 0xf320f
cmp eax, 0x10
jne 0xf320f
cmp dword [ebx + 0x80], 0x31545844
je 0xf32e5
mov eax, dword [esp + 0x138]
cmp eax, 0x11
je 0xf3158
cmp eax, 0x12
jne 0xf32e5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
test byte [eax + 0x98], 0x40
jne 0xf316e
mov eax, dword [eax + 0x100]
call fcn.000d8700
test byte [esp + 0x1dc], 1
je 0xf318d
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
mov dword [esp + 0x14], 0
test byte [esp + 0x1dc], 2
je 0xf31a7
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x58]
push ecx
push ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x1c]
call fcn.000f2070
cmp eax, 1
jne 0xf32e1
test byte [esp + 0x1dc], al
je 0xf31d4
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf31e6
mov ebx, dword [ebp + 4]
call fcn.0019df30
cmp dword [esp + 0x1c], 0
je 0xf4062
mov edx, dword [0x520bd4]
push edx
call sub.WIN32K.SYS_EngReleaseSemaphore
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
cmp eax, 0x11
je 0xf321d
cmp eax, 0x12
jne 0xf32e5
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
test eax, eax
je 0xf32e9
cmp dword [edi + 0x80], 0x31545844
je 0xf32e9
cmp dword [esp + 0x138], 0x10
jne 0xf32e9
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
test byte [eax + 0x98], 0x40
jne 0xf3264
mov eax, dword [eax + 0x100]
call fcn.000d8700
test byte [esp + 0x1dc], 1
je 0xf3283
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
mov dword [esp + 0x14], 0
test byte [esp + 0x1dc], 2
je 0xf329d
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [esp + 0x10], 0
lea eax, [esp + 0x58]
push eax
push ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x1c]
call fcn.000f2070
cmp eax, 1
jne 0xf32e1
test byte [esp + 0x1dc], al
je 0xf32c6
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf4037
mov ebx, dword [ebp + 4]
call fcn.0019df30
jmp 0xf4037
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x58]
call fcn.00160ef0
test al, al
jne 0xf3329
test byte [esp + 0x1dc], 1
je 0xf3308
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf331a
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [ebp + 0x98], 0x80004001
jmp 0xf3d8f
mov esi, dword [0x5271fc]
jmp 0xf3335
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.000c2800
mov edi, dword [edi + 0x18]
test edi, edi
mov dword [esp + 0x28], edi
jne 0xf3352
test ebx, ebx
je 0xf3352
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edi
test byte [esi + 0x96c], 2
mov dword [esp + 0x48], ecx
je 0xf33c3
cmp dword [esp + 0x14], 0
je 0xf33c3
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x8e], 0x10
je 0xf33c3
lea edi, [esp + 0x2c]
call fcn.000a9f80
call fcn.000a9fd0
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov esi, dword [0x5271fc]
cmp dword [esp + 0x134], 0
je 0xf4009
cmp dword [esp + 0xe4], 0
mov eax, 0x3e
je 0xf33fb
cmp dword [esp + 0xe8], 0
je 0xf4009
cmp dword [esp + 0xec], eax
je 0xf4009
cmp dword [esp + 0x138], eax
je 0xf4009
mov eax, dword [esi + 0xdc]
mov edx, dword [0x4e73e0]
cmp eax, dword [edx + 0xc]
je 0xf3460
cmp eax, 0xdd005060
jb 0xf3427
cmp eax, 0xdd0050d8
jbe 0xf3460
mov eax, dword [esp + 0x14]
test eax, eax
je 0xf3435
test byte [eax + 0x2e], 2
jne 0xf343f
mov eax, dword [esp + 0x10]
test byte [eax + 0x2e], 2
je 0xf344e
push esi
call dword [esi + 0xe74]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x2e], 2
je 0xf3460
or dword [esp + 0x1dc], 4
mov edx, dword [ebp + 0x18]
test edx, edx
je 0xf34b0
test byte [edx + 9], 8
jne 0xf34b0
mov ecx, ebx
sub ecx, dword [esp + 0x2c]
cmp ecx, 1
jle 0xf34b0
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
cmp eax, 1
jle 0xf34b0
cmp ecx, eax
jle 0xf34b0
add eax, 0xffffffff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
add ecx, 0xffffffff
mov dword [esp + 0x18], ecx
or byte [esp + 0x1de], 1
fidiv dword [esp + 0x18]
fstp dword [esp + 0x19c]
jmp 0xf34e6
mov eax, ebx
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
je 0xf34db
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
je 0xf34db
fild dword [esp + 0x18]
fidiv dword [esp + 0x20]
fstp dword [esp + 0x19c]
jmp 0xf34e6
mov dword [esp + 0x19c], 0x3f800000
test edx, edx
je 0xf3533
test byte [edx + 9], 8
jne 0xf3533
mov ecx, edi
sub ecx, dword [esp + 0x30]
cmp ecx, 1
jle 0xf3533
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x40]
cmp eax, 1
jle 0xf3533
cmp ecx, eax
jle 0xf3533
add eax, 0xffffffff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
add ecx, 0xffffffff
mov dword [esp + 0x18], ecx
or byte [esp + 0x1de], 1
fidiv dword [esp + 0x18]
fstp dword [esp + 0x1a0]
jmp 0xf3569
mov eax, edi
sub eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
je 0xf355e
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
je 0xf355e
fild dword [esp + 0x18]
fidiv dword [esp + 0x20]
fstp dword [esp + 0x1a0]
jmp 0xf3569
mov dword [esp + 0x1a0], 0x3f800000
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x14]
push ebp
lea edx, [esp + 0x5c]
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], edi
call fcn.000f1d10
test eax, eax
je 0xf3626
test byte [esp + 0x1dc], 1
je 0xf35e1
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf35f3
mov ebx, dword [ebp + 4]
call fcn.0019df30
cmp dword [esp + 0x1c], 0
mov dword [ebp + 0x98], 0
je 0xf4062
mov edx, dword [0x520bd4]
push edx
call sub.WIN32K.SYS_EngReleaseSemaphore
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
mov eax, dword [0x4e73e0]
mov ecx, dword [eax + 0x2520]
mov edx, dword [ecx]
call dword [edx + 0x124]
test byte [eax + 0x4c90], 1
jne 0xf3702
mov eax, dword [esp + 0x13c]
cmp eax, 0x32315659
mov ecx, dword [esp + 0xf0]
je 0xf3685
cmp eax, 0x69303234
je 0xf3685
cmp eax, 0x39555659
je 0xf3685
cmp eax, 0x39304649
je 0xf3685
cmp eax, 0x32335649
je 0xf3685
cmp eax, 0x31335649
je 0xf3685
cmp eax, 0x3231564e
jne 0xf3689
cmp ecx, eax
jne 0xf36cf
cmp ecx, 0x32315659
je 0xf36c1
cmp ecx, 0x69303234
je 0xf36c1
cmp ecx, 0x39555659
je 0xf36c1
cmp ecx, 0x39304649
je 0xf36c1
cmp ecx, 0x32335649
je 0xf36c1
cmp ecx, 0x31335649
je 0xf36c1
cmp ecx, 0x3231564e
jne 0xf3702
cmp dword [esp + 0x134], 1
jne 0xf3702
cmp ecx, eax
je 0xf3702
test byte [esp + 0x1dc], 1
je 0xf36e1
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf36f3
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [ebp + 0x98], 0x80004001
jmp 0xf3fe5
mov esi, 0x23
lea eax, [ebp + 0x1c]
call fcn.000eed30
mov eax, dword [ebp + 4]
mov edi, dword [0x4e73e0]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x4c], ebx
je 0xf3743
test byte [eax + 9], 8
je 0xf3743
test byte [edi + 0x23bf], 0xf
jne 0xf3739
mov dword [esp + 0x4c], 1
or dword [esp + 0x1dc], 4
jmp 0xf375e
test byte [esp + 0x1dd], 0x40
je 0xf375e
test byte [edi + 0x23bf], 0xf
jne 0xf375e
mov dword [esp + 0x4c], 1
mov esi, dword [esp + 0x14]
cmp esi, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x20], ebx
je 0xf384b
mov eax, esi
call fcn.00069e20
test eax, eax
je 0xf384b
test byte [esi + 0x89], 3
mov dword [esp + 0x50], 1
jne 0xf3951
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0xdc]
mov eax, dword [ecx + 0x60]
test byte [eax + 0x88], 0xc
je 0xf3951
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0xf3951
mov ecx, dword [esp + 0x48]
sub ecx, dword [esp + 0x40]
cmp ecx, dword [esi + 0x44]
jne 0xf3951
mov ebx, dword [esp + 0x34]
sub ebx, dword [esp + 0x2c]
cmp eax, ebx
jne 0xf394f
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
cmp ecx, eax
jne 0xf394f
mov eax, edx
call fcn.00074320
test eax, eax
je 0xf3949
mov ecx, dword [esi + 0xdc]
cmp byte [ecx + 0x3c], 4
jne 0xf3949
movsx eax, byte [esi + 0x88]
call fcn.000ce440
test al, al
jne 0xf3949
mov eax, dword [esi + 0x18]
test eax, eax
je 0xf3845
cmp dword [eax + 0x101c], 0
je 0xf3845
mov dword [esp + 0x50], 0
mov dword [esp + 0x20], 1
mov edi, dword [0x4e73e0]
mov ebx, dword [esp + 0x28]
test ebx, ebx
mov esi, dword [edi + 0x3d60]
je 0xf38d0
cmp dword [ebx + 0x1d60], 0x2448502
jne 0xf38d0
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
cmp eax, 0x40
jne 0xf38d0
test byte [esp + 0x25], 4
je 0xf38d0
test byte [ebx + 0x1d98], 0x20
jne 0xf38d0
or dword [ebx + 0x1d98], 0x20
mov eax, dword [edi + 0x2520]
mov ecx, dword [esp + 0x10]
or dword [eax + 0xc], 0xc
push 0
push 0
push 0
push 0x11
push 1
call fcn.000b9380
mov ecx, dword [esi + 0x27cc]
test ecx, ecx
je 0xf38ca
mov edx, dword [ecx]
call dword [edx + 0x28]
test eax, eax
je 0xf38ca
push 0
push 0
push 0
push 0x11
push 1
mov ecx, eax
call fcn.000b9380
mov edi, dword [0x4e73e0]
mov eax, dword [esp + 0x24]
and eax, 0x20000000
mov dword [esp + 0x18], eax
jne 0xf38f5
test byte [edi + 0x5b0f], 0x20
je 0xf392f
mov eax, dword [esp + 0x10]
test byte [eax + 0x8e], 0x10
je 0xf392f
mov ecx, dword [edi + 0x2468]
mov eax, dword [edi + 0x5c10]
lea ebx, [edi + 0x5840]
push ecx
call fcn.000ef050
mov eax, dword [0x4e73e0]
add dword [eax + 0x2468], 1
mov ecx, dword [eax + 0x2468]
push ecx
lea ebx, [eax + 0x5840]
call fcn.0014be00
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
and eax, 0x10000000
mov dword [esp + 0x54], eax
jne 0xf395a
cmp dword [esp + 0x50], 0
jne 0xf395a
xor eax, eax
jmp 0xf395f
mov edi, dword [0x4e73e0]
xor ebx, ebx
mov dword [esp + 0x50], ebx
jmp 0xf384b
mov eax, 1
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
push eax
push edx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x48]
push ecx
push edx
push esi
lea eax, [esp + 0x70]
push eax
call fcn.000f0c90
cmp dword [esp + 0x20], 0
je 0xf39cc
test ebx, ebx
je 0xf39cc
mov edx, dword [esi + 0xdc]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + 0x70]
mov eax, dword [eax]
test eax, eax
je 0xf39a5
lea esi, [eax + 0x38]
jmp 0xf39a7
xor esi, esi
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xdc]
movsx ebx, word [eax + 0x48]
call fcn.000b84a0
mov ecx, dword [esp + 0x28]
mov edx, ebx
push esi
mov ebx, eax
call fcn.000e9740
mov ebx, dword [esp + 0x28]
mov ecx, dword [0x4e73e0]
cmp dword [ecx + 0x2488], 0
je 0xf3a22
mov edx, dword [ebp + 4]
mov eax, dword [edx + 8]
mov edi, dword [esp + 0x130]
push 0
push eax
call fcn.00069d80
push 0
push eax
call fcn.000ec700
test byte [esp + 0x27], 1
je 0xf3a7a
test eax, eax
je 0xf3a22
mov edi, dword [esp + 0x130]
call fcn.00069d80
mov ecx, dword [0x5271fc]
mov edx, dword [ecx + 0xb50]
push eax
push edx
call fcn.000eca40
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push ebp
push edi
push ecx
lea edx, [esp + 0x68]
push edx
call fcn.000effa0
mov esi, dword [0x4e73e0]
test byte [esi + 0x2484], 0x20
je 0xf3aeb
cmp dword [esi + 0x60fc], 2
jne 0xf3ace
test ebp, ebp
jne 0xf3a66
test byte [edi + 0x8e], 0x10
je 0xf3ace
test ebx, ebx
je 0xf3ab1
cmp dword [ebx + 0x101c], 0
je 0xf3ab1
mov eax, 1
jmp 0xf3ab3
test eax, eax
je 0xf3a22
test byte [esp + 0x1dc], 1
je 0xf3a90
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf3aa2
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [ebp + 0x98], 0x8876021c
jmp 0xf3fe5
xor eax, eax
push eax
mov eax, 2
call fcn.000c5810
mov esi, dword [0x4e73e0]
mov dword [esi + 0x60fc], 0
test byte [esi + 0x2484], 0x20
je 0xf3aeb
mov eax, dword [edi + 0x18]
test eax, eax
je 0xf3aeb
mov eax, dword [eax + 0xfc]
not eax
and eax, 1
jmp 0xf3af0
mov eax, 1
test ebp, ebp
mov dword [esp + 0x20], eax
je 0xf3b28
test eax, eax
je 0xf3b1d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x58]
push eax
shr ecx, 0x1d
and ecx, 1
push ecx
push edi
push edx
call fcn.000c65d0
mov esi, dword [0x4e73e0]
lea eax, [esi + 0x3b80]
call fcn.000eeca0
cmp dword [esp + 0x14], 0
je 0xf3b3f
test byte [edi + 0x8e], 0x10
je 0xf3b3f
add dword [esi + 0x283a0], 1
cmp dword [esp + 0x180], 0
jne 0xf3c14
cmp dword [esp + 0xe4], 0
je 0xf3c14
fld dword [0x41bc3c]
fld dword [esp + 0x19c]
fucompp
fnstsw ax
test ah, 0x44
jp 0xf3b8b
fld dword [0x41bc3c]
fld dword [esp + 0x1a0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0xf3c14
mov dword [esp + 0x180], 1
mov ecx, dword [esi + 0x3b18]
test ecx, ecx
je 0xf3bbb
mov esi, dword [esi + 0x2520]
mov eax, dword [ecx]
push esi
lea edx, [esp + 0x5c]
push edx
call dword [eax + 0xc]
test al, al
jne 0xf3c14
mov esi, dword [0x4e73e0]
cmp dword [esi + 0x3b10], 0
je 0xf3be5
mov eax, dword [esi + 0x2520]
mov ecx, dword [esi + 0x3b10]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x5c]
push eax
call dword [edx + 0xc]
test al, al
jne 0xf3c14
mov esi, dword [0x4e73e0]
cmp dword [esi + 0x3b14], 0
je 0xf3c09
mov eax, dword [esi + 0x2520]
mov ecx, dword [esi + 0x3b14]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x5c]
push eax
call dword [edx + 0xc]
test al, al
jne 0xf3c14
mov dword [esp + 0x180], 0
mov dword [esp + 0x1e8], 0
mov byte [esp + 0x21c], 0
or ebp, 0xffffffff
lea ebx, [ebx]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1e0]
push ecx
push edx
push eax
mov eax, dword [0x5272ec]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x4c]
push edx
push eax
lea eax, [esp + 0x70]
call fcn.0007ffd0
mov esi, dword [0x4e73e0]
push ebp
lea ecx, [esp + 0x5c]
add esi, 0x3b08
push ecx
mov edi, eax
call fcn.00160270
mov ebx, eax
test ebx, ebx
je 0xf3d5d
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
push eax
lea eax, [esp + 0x5c]
call fcn.000f28d0
mov eax, dword [0x4e73e0]
add dword [eax + 0xc04], 1
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x78]
call fcn.00161910
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
mov eax, dword [0x4e73e0]
add dword [eax + 0xc04], ebp
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
push eax
lea esi, [esp + 0x5c]
call fcn.000f2d90
add edi, 0xffffffff
jne 0xf3c30
cmp byte [esp + 0x21c], 0
je 0xf3d26
mov ecx, dword [esp + 0x1e4]
call fcn.000b7f50
mov eax, dword [0x5271fc]
test byte [eax + 0x96c], 1
mov ebp, dword [esp + 0x14]
je 0xf3db1
test ebp, ebp
je 0xf3db1
mov esi, ebp
call fcn.000aa9d0
test eax, eax
mov ebx, dword [esp + 0x10]
je 0xf3db5
mov esi, ebx
call fcn.000aa9d0
test eax, eax
jne 0xf3db5
lea ecx, [esp + 0x2c]
push ecx
jmp 0xf3dd6
test byte [esp + 0x1dc], 1
je 0xf3d76
mov eax, dword [esp + 0x23c]
mov ebx, dword [eax + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf3d8f
mov ecx, dword [esp + 0x23c]
mov ebx, dword [ecx + 4]
call fcn.0019df30
cmp dword [esp + 0x1c], 0
je 0xf3da2
mov edx, dword [0x520bd4]
push edx
call sub.WIN32K.SYS_EngReleaseSemaphore
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
mov ebx, dword [esp + 0x10]
mov edx, dword [0x5271fc]
test byte [edx + 0x96c], 2
je 0xf3ddd
test ebp, ebp
je 0xf3ddd
test byte [ebp + 0x8e], 0x10
je 0xf3ddd
lea eax, [esp + 0x2c]
push eax
mov eax, ebx
call fcn.000aa840
mov ecx, dword [esp + 0x4c]
push ecx
push ebp
lea edx, [esp + 0x60]
push edx
mov edi, ebx
call fcn.000f26d0
test byte [esp + 0x1dc], 1
mov esi, dword [esp + 0x23c]
je 0xf3e0e
mov ebx, dword [esi + 0x18]
call fcn.0019df30
mov ebx, dword [esp + 0x10]
xor ebp, ebp
test byte [esp + 0x1dc], 2
je 0xf3e2c
mov ebx, dword [esi + 4]
call fcn.0019df30
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0x10]
test byte [esp + 0x1dc], 4
je 0xf3e46
mov edi, dword [0x4e73e0]
add edi, 8
call fcn.000b57c0
jmp 0xf3e7a
mov eax, dword [0x4e73e0]
add eax, 8
test byte [eax + 0xb8], 8
jne 0xf3e7a
mov edx, dword [eax + 0x90]
mov ecx, dword [eax + 0x8c]
cmp edx, ecx
je 0xf3e7a
sub ecx, edx
cmp ecx, 0x400
sbb ecx, ecx
add ecx, 1
push ecx
call fcn.000b5bd0
mov edx, dword [0x4e73e0]
test byte [edx + 0xb89], 0x10
je 0xf3eaa
test byte [ebx + 0x8e], 0x10
je 0xf3eaa
cmp dword [esp + 0x18], 0
jne 0xf3ea0
cmp dword [esp + 0x54], 0
jne 0xf3eaa
call fcn.00074390
call fcn.000ef360
test ebp, ebp
je 0xf3fbf
cmp dword [esp + 0x54], 0
je 0xf3fbf
cmp dword [esp + 0x20], 0
je 0xf3edb
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x28]
shr eax, 0x1d
and eax, 1
push eax
push ebx
push ebp
call fcn.000c67f0
mov eax, ebp
call fcn.000b92a0
mov ecx, dword [0x4e73e0]
add ecx, 0x3a80
push ecx
call fcn.0011d9a0
mov esi, dword [0x4e73e0]
add esi, 0x31c0
call fcn.000aff30
mov edi, dword [0x4e73e0]
add edi, 0x3f00
call fcn.00119b30
cmp dword [esp + 0x18], 0
mov eax, dword [0x4e73e0]
mov dword [eax + 0x3b94], 0
je 0xf3f50
add eax, 0x3d80
call fcn.0011aef0
mov edi, dword [esp + 0x28]
test edi, edi
je 0xf3f73
lea eax, [edi + 0x11c0]
call fcn.0017a500
mov eax, dword [0x4e73e0]
jmp 0xf3f54
mov edi, dword [esp + 0x28]
test edi, edi
je 0xf3f78
or dword [edi + 0x1a44], 0x20
lea esi, [edi + 0x1880]
call fcn.00165ec0
push 0
mov esi, edi
call fcn.000c4780
mov eax, dword [0x4e73e0]
xor esi, esi
test byte [eax + 0x5c04], 1
mov dword [eax + 0x246c], esi
jne 0xf3f92
test byte [eax + 0x5b0e], 0x80
je 0xf3fac
cmp dword [0x4f04f4], esi
jne 0xf3fa2
cmp dword [0x4f04f8], esi
je 0xf3fac
call fcn.00180460
mov eax, dword [0x4e73e0]
mov dword [eax + 0x3b00], esi
mov dword [eax + 0x3b04], esi
mov esi, dword [esp + 0x23c]
lea edx, [esp + 0x2c]
push edx
mov eax, 0xf
call fcn.00090d60
mov edi, 0x23
lea eax, [esi + 0x1c]
call fcn.000eedb0
mov dword [esi + 0x98], 0
cmp dword [esp + 0x1c], 0
je 0xf4062
mov eax, dword [0x520bd4]
push eax
call sub.WIN32K.SYS_EngReleaseSemaphore
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
test byte [esp + 0x1dc], 1
je 0xf401b
mov ebx, dword [ebp + 0x18]
call fcn.0019df30
test byte [esp + 0x1dc], 2
je 0xf402d
mov ebx, dword [ebp + 4]
call fcn.0019df30
mov dword [ebp + 0x98], 0x80004001
cmp dword [esp + 0x1c], 0
je 0xf4062
mov ecx, dword [0x520bd4]
push ecx
call sub.WIN32K.SYS_EngReleaseSemaphore
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x228
ret 4
mov dword [0x98], ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x228
ret 4